Исследование по использованию Apple Swift и SwiftUI в iOS 16
Исследовательские вопросы:
— Какие языки программирования используются для разработки?
— Сколько приложений написано на Swift?
— Каков процент приложений, использующих SwiftUI или UIKit?
По результатам — в этом году Swift опередил C++. SwiftUI стал чаще использоваться в приложениях от Apple: количество бинарных файлов, использующих SwiftUI, удвоилось между iOS 15 и iOS 16.
Источник: https://blog.timac.org/2022/1005-state-of-swift-and-swiftui-ios16/
#ios #swift
Исследовательские вопросы:
— Какие языки программирования используются для разработки?
— Сколько приложений написано на Swift?
— Каков процент приложений, использующих SwiftUI или UIKit?
По результатам — в этом году Swift опередил C++. SwiftUI стал чаще использоваться в приложениях от Apple: количество бинарных файлов, использующих SwiftUI, удвоилось между iOS 15 и iOS 16.
Источник: https://blog.timac.org/2022/1005-state-of-swift-and-swiftui-ios16/
#ios #swift
👍6
Подкаст: история создания Kotlin
В 2019 году Kotlin стал основным языком программирования на Android. Если вам интересно, как разработка из Питера покорила Google, то предлагаем прослушать небольшой подкаст.
О том, как Kotlin появился на Android и почему JetBrains решили создать собственный язык программирования, рассказывает ex-руководитель Kotlin — Андрей Бреслав:
https://zapuskzavtra.libsyn.com/kotlin-google
#kotlin
В 2019 году Kotlin стал основным языком программирования на Android. Если вам интересно, как разработка из Питера покорила Google, то предлагаем прослушать небольшой подкаст.
О том, как Kotlin появился на Android и почему JetBrains решили создать собственный язык программирования, рассказывает ex-руководитель Kotlin — Андрей Бреслав:
https://zapuskzavtra.libsyn.com/kotlin-google
#kotlin
👍11❤3👎1
Как сделать автотесты на Swift комфортными для тестировщиков
Автоматизация тестирования мобильных приложений сильно усложняется для тестировщиков, если их нужно подготовить для двух платформ. Например, XCTest требует дополнительных настроек в проекте, что невозможно сделать только со стороны QA-команды.
В этой статье Игорь Бессараб из IW Group рассказывает, как их команде с помощью iOS-разработчиков удалось настроить XCUITest и освоить нативные автотесты:
https://tproger.ru/articles/kak-sdelat-avtotesty-na-swift-komfortnymi-dlja-testirovshhikov/
#swift
Автоматизация тестирования мобильных приложений сильно усложняется для тестировщиков, если их нужно подготовить для двух платформ. Например, XCTest требует дополнительных настроек в проекте, что невозможно сделать только со стороны QA-команды.
В этой статье Игорь Бессараб из IW Group рассказывает, как их команде с помощью iOS-разработчиков удалось настроить XCUITest и освоить нативные автотесты:
https://tproger.ru/articles/kak-sdelat-avtotesty-na-swift-komfortnymi-dlja-testirovshhikov/
#swift
This media is not supported in your browser
VIEW IN TELEGRAM
Руководство по App Shortcuts на Android
Вероятно, вы уже знакомы с App Shortcuts и встречали их в проектах. Популярные приложения, такие как Instagram или WhatsApp, используют Shortcut Manager API для легкого создания ярлыков.
В этом руководстве рассматривается, как реализовать и управлять тремя различными типами ярлыков, а именно:
1. Static — статические ярлыки создаются через xml и не могут быть изменены.
2. Dynamic — динамические ярлыки, которы могут обновляться во время выполнения.
3. Pinned — закреплённые ярлыки часто используются для быстрой навигации в приложении.
Подробнее: https://tprg.ru/mx2D
#android
Вероятно, вы уже знакомы с App Shortcuts и встречали их в проектах. Популярные приложения, такие как Instagram или WhatsApp, используют Shortcut Manager API для легкого создания ярлыков.
В этом руководстве рассматривается, как реализовать и управлять тремя различными типами ярлыков, а именно:
1. Static — статические ярлыки создаются через xml и не могут быть изменены.
2. Dynamic — динамические ярлыки, которы могут обновляться во время выполнения.
3. Pinned — закреплённые ярлыки часто используются для быстрой навигации в приложении.
Подробнее: https://tprg.ru/mx2D
#android
❤6👍2
Серия статей по Fragment API
Часть 1. Транзакции:
— разбор функций из Fragment-ktx,
— оптимизация транзакций,
— способы управления видимостью и жизненным циклом фрагментов.
Часть 2. (Не) создаем инстанс:
— создание фрагментов в XML,
— добавление зависимостей в конструктор через FragmentFactory,
— транзакции без создания Fragment.
Часть 3. Навигация:
— множественный backstack,
— особенности работы OnBackPressedDispatcher,
— что такое Primary Navigation Fragment и Fragment Result API.
Часть 4. Анимации и меню:
— создание shared element transitions,
— три метода addMenuProvider() для добавления MenuProvider,
— правила работы с анимациями.
#android
Часть 1. Транзакции:
— разбор функций из Fragment-ktx,
— оптимизация транзакций,
— способы управления видимостью и жизненным циклом фрагментов.
Часть 2. (Не) создаем инстанс:
— создание фрагментов в XML,
— добавление зависимостей в конструктор через FragmentFactory,
— транзакции без создания Fragment.
Часть 3. Навигация:
— множественный backstack,
— особенности работы OnBackPressedDispatcher,
— что такое Primary Navigation Fragment и Fragment Result API.
Часть 4. Анимации и меню:
— создание shared element transitions,
— три метода addMenuProvider() для добавления MenuProvider,
— правила работы с анимациями.
#android
👍11❤2🔥1
Аудит кода для Flutter-приложений
Небольшое руководство, как провести Code Audit проектов на Flutter: анализ производительности, UI, I/O и многое другое. Большинство советов можно использовать и для проверки нативных приложений:
https://chililabs.io/blog/flutter-mobile-app-code-audit
В статье не разбирается аудит безопасности системы, т.к. для этого чаще используются сторонние сервисы. Однако если вы хотите ознакомиться с этой темой, то в репозитории MASVS собраны все основы.
#flutter
Небольшое руководство, как провести Code Audit проектов на Flutter: анализ производительности, UI, I/O и многое другое. Большинство советов можно использовать и для проверки нативных приложений:
https://chililabs.io/blog/flutter-mobile-app-code-audit
В статье не разбирается аудит безопасности системы, т.к. для этого чаще используются сторонние сервисы. Однако если вы хотите ознакомиться с этой темой, то в репозитории MASVS собраны все основы.
#flutter
👍3
Google представила KataOS
Google анонсировала новую операционную систему для обеспечения безопасности встраиваемых устройств , т.к. по результатам Google Research Team, именно они чаще всего подвержены хакерским атакам.
На данный момент проект доступен на GitHub. В будущем сотрудники компании планируют добавить модули, которые позволят загружать и запускать сторонние приложения.
Источник:
https://opensource.googleblog.com/2022/10/announcing-kataos-and-sparrow.html
#новости
Google анонсировала новую операционную систему для обеспечения безопасности встраиваемых устройств , т.к. по результатам Google Research Team, именно они чаще всего подвержены хакерским атакам.
На данный момент проект доступен на GitHub. В будущем сотрудники компании планируют добавить модули, которые позволят загружать и запускать сторонние приложения.
Источник:
https://opensource.googleblog.com/2022/10/announcing-kataos-and-sparrow.html
#новости
👍7
Тенденции мирового IT-рынка от Gartner на 2023 год
Gartner — это исследовательская компания, которая специализируются в области информационных технологий. Каждый год Gartner выпускает список ключевых технологических трендов, которые имеют решающее значение для бизнеса в течение следующих 36 месяцев.
На 2023 год в список вошли суперприложения (SuperApps). По прогнозам компании, к 2027 году более 50% населения будут активно использовать многофункциональные мобильные приложения.
Отчёт Gartner можно скачать на сайте бесплатно. В нём также указываются основные показатели для развития супераппов.
#исследование
Gartner — это исследовательская компания, которая специализируются в области информационных технологий. Каждый год Gartner выпускает список ключевых технологических трендов, которые имеют решающее значение для бизнеса в течение следующих 36 месяцев.
На 2023 год в список вошли суперприложения (SuperApps). По прогнозам компании, к 2027 году более 50% населения будут активно использовать многофункциональные мобильные приложения.
Отчёт Gartner можно скачать на сайте бесплатно. В нём также указываются основные показатели для развития супераппов.
#исследование
👍7
Реализации FaceID и TouchID на iOS
Сторонние приложения могут использовать API, предоставленные Apple, чтобы запрашивать у пользователя аутентификацию посредством Face ID или Touch ID.
Swift обрабатывает аутентификацию с помощью фреймворка LocalAuthentication и класса LAContext. Также можно настроить кнопку отмены и кнопку отображения пароля в качестве запасного варианта.
В этой статье автор подробно рассказал, как настроить FaceID и TouchID, а также реализовал простой SwiftUI-дизайн:
https://tprg.ru/MCSR
#ios #swift
Сторонние приложения могут использовать API, предоставленные Apple, чтобы запрашивать у пользователя аутентификацию посредством Face ID или Touch ID.
Swift обрабатывает аутентификацию с помощью фреймворка LocalAuthentication и класса LAContext. Также можно настроить кнопку отмены и кнопку отображения пароля в качестве запасного варианта.
В этой статье автор подробно рассказал, как настроить FaceID и TouchID, а также реализовал простой SwiftUI-дизайн:
https://tprg.ru/MCSR
#ios #swift
👍11
Почему BMW выбрала Flutter для разработки собственных приложений?
В течение многих лет BMW в основном фокусировались только на iOS-платформе для BMW & MINI Connected приложений. Однако в 2018 году стало понятно, что расхождения в функциональности и дизайне между приложениями на iOS и Android стали слишком большими.
BMW нужно было срочно найти оптимальное решение для создания приложений, которые имеют одинаковую функциональность для всех потребителей, независимо от ОС, модели BMW, а главное — без увеличения затрат.
О том, почему компания выбрала Flutter и советы по созданию собственного приложения — в статье:
https://tprg.ru/Agwp
#flutter
В течение многих лет BMW в основном фокусировались только на iOS-платформе для BMW & MINI Connected приложений. Однако в 2018 году стало понятно, что расхождения в функциональности и дизайне между приложениями на iOS и Android стали слишком большими.
BMW нужно было срочно найти оптимальное решение для создания приложений, которые имеют одинаковую функциональность для всех потребителей, независимо от ОС, модели BMW, а главное — без увеличения затрат.
О том, почему компания выбрала Flutter и советы по созданию собственного приложения — в статье:
https://tprg.ru/Agwp
#flutter
🤡28👍14💩4🔥1
Дизайн систем: Google Material Design и не только
Одни компании используют Material Design для создания пользовательских интерфейсов, другие — создают собственную систему дизайна, например, Spotify.
А что, если вы создаёте UI-библиотеку и нужно подготовить её для работы с разными системами? В статье рассматривается архитектура и реализации данного кейса во ViewModel и Fragment:
https://tprg.ru/5Tpf
#android
Одни компании используют Material Design для создания пользовательских интерфейсов, другие — создают собственную систему дизайна, например, Spotify.
А что, если вы создаёте UI-библиотеку и нужно подготовить её для работы с разными системами? В статье рассматривается архитектура и реализации данного кейса во ViewModel и Fragment:
https://tprg.ru/5Tpf
#android
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Реализация горизонтальной анимации на Swift 5
Руководство по созданию динамической анимации с изменением изображений на заднем плане. Автор статьи подробно рассказал про процесс создания, начиная с настройки Storyboard до подсчёта интервалов между слайдами:
Часть 1: https://tprg.ru/1QsN
Часть 2: https://tprg.ru/nmi0
Часть 3: https://tprg.ru/SMAr
#swiftui
Руководство по созданию динамической анимации с изменением изображений на заднем плане. Автор статьи подробно рассказал про процесс создания, начиная с настройки Storyboard до подсчёта интервалов между слайдами:
Часть 1: https://tprg.ru/1QsN
Часть 2: https://tprg.ru/nmi0
Часть 3: https://tprg.ru/SMAr
#swiftui
👍8😍4
Доклад от Google по Kotlin
Компания постепенно переходит на Kotlin для внутренних сервисов. Java по-прежнему обеспечивает доступ к большей части уже существующей системам, однако Google продолжает работать над изменениями — задействовано 1000 сотрудников.
В этом докладе рассматриваются проблемы, с которыми столкнулись разработчики, и причины, по которым Google добавила Kotlin:
https://youtu.be/o14wGByBRAQ
#kotlin
Компания постепенно переходит на Kotlin для внутренних сервисов. Java по-прежнему обеспечивает доступ к большей части уже существующей системам, однако Google продолжает работать над изменениями — задействовано 1000 сотрудников.
В этом докладе рассматриваются проблемы, с которыми столкнулись разработчики, и причины, по которым Google добавила Kotlin:
https://youtu.be/o14wGByBRAQ
#kotlin
🔥14🍾1
Часто задаваемые вопросы на собеседовании по Android
Автор статьи часто принимает участие в интервью с международными компаниями и стартапами, поэтому составил базовый список вопросов для собеседования
Senior-разработчика по Java, Kotlin, Android и другим темам. Не все вопросы дотягивают до уровня Senior (и даже Middle), но проверить себя стоит:
https://tprg.ru/uDfE
Кстати, Google тоже делает квизы, которые доступны всем разработчикам, кто хочет проверить свои знания по определённым темам.
#собеседование #android
Автор статьи часто принимает участие в интервью с международными компаниями и стартапами, поэтому составил базовый список вопросов для собеседования
Senior-разработчика по Java, Kotlin, Android и другим темам. Не все вопросы дотягивают до уровня Senior (и даже Middle), но проверить себя стоит:
https://tprg.ru/uDfE
Кстати, Google тоже делает квизы, которые доступны всем разработчикам, кто хочет проверить свои знания по определённым темам.
#собеседование #android
👍16
Чистая Архитектура для Flutter приложений
В статье рассматривается, как используя подход Роберта Мартина (автор книги «Чистый код»), создать каркас CRM-приложения на Flutter и контролируемо внедрять изменения:
https://tprg.ru/oygr
#flutter
В статье рассматривается, как используя подход Роберта Мартина (автор книги «Чистый код»), создать каркас CRM-приложения на Flutter и контролируемо внедрять изменения:
https://tprg.ru/oygr
#flutter
👍12💩4
Передача цифровых данных по рации с помощью мобильного приложения
Можно ли расширить функционал рации до передачи текстовых сообщений? Автор статьи реализовал приложение, которое позволяет обмениваться сообщениями с помощью встроенных динамика и микрофона на Android.
В приложении только два Activity: передатчик и приёмник. Также в статье затронуты темы по формированию звука, сохранению сигнала, фильтрации и реализации скользящей средней:
https://habr.com/ru/post/694916/
#android
Можно ли расширить функционал рации до передачи текстовых сообщений? Автор статьи реализовал приложение, которое позволяет обмениваться сообщениями с помощью встроенных динамика и микрофона на Android.
В приложении только два Activity: передатчик и приёмник. Также в статье затронуты темы по формированию звука, сохранению сигнала, фильтрации и реализации скользящей средней:
https://habr.com/ru/post/694916/
#android
👍12❤3
Подборка актуальных вакансий
— iOS-разработчик
Где: Москва
Опыт: можно без опыта
— iOS-разработчик
Где: удалённо
Опыт: можно без опыта
— iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет
#вакансии #работа
— iOS-разработчик
Где: Москва
Опыт: можно без опыта
— iOS-разработчик
Где: удалённо
Опыт: можно без опыта
— iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет
#вакансии #работа
👎7👍5💩3
Умная камера Яндекса: интервью с разработчиком
Недавно Android Broadcast провели интервью с Романом Жуковым, в котором обсудили возможности и технологии, которые использовались в умной камере Яндекс. А также:
— Jetpack CameraX,
— развитие Camera API в Android,
— сложности разработки.
Камера распознаёт предметы, сканирует документы и рассказывает, где купить тот или иной предмет.
Ссылка на интервью: https://youtu.be/Tf_XcWoRky8
#интервью
Недавно Android Broadcast провели интервью с Романом Жуковым, в котором обсудили возможности и технологии, которые использовались в умной камере Яндекс. А также:
— Jetpack CameraX,
— развитие Camera API в Android,
— сложности разработки.
Камера распознаёт предметы, сканирует документы и рассказывает, где купить тот или иной предмет.
Ссылка на интервью: https://youtu.be/Tf_XcWoRky8
#интервью
👍8👎3
Реализуем собственный ColorWheel на Android
Пример создания View компонента для выбора цвета: каждый элемент имеет один или несколько атрибутов настройки, например: цвет, радиус или размер.
Подробнее в статье: https://habr.com/ru/post/694852/
#android
Пример создания View компонента для выбора цвета: каждый элемент имеет один или несколько атрибутов настройки, например: цвет, радиус или размер.
Подробнее в статье: https://habr.com/ru/post/694852/
#android
👍6