Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
В новой еженедельной подборке готовность SwiftUI и тяжелые зависимости, Android в докере и обсуждение новинок Flutter, выживание при росте аудитории, вопрос с кодинг интервью, интеграция API и многое другое!
Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.
iOS
• SwiftUI все еще не готов к продакшену
• Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager
• Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете
• Бесплатные книги по Swift от Flight School
• 6 советов, как улучшить программирование в Swift
• Золотые правила “weak self”
• Регулировка contentOffset с помощью UICollectionViewLayout
• Pull to refresh в SwiftUI
• Координация навигации по вью в SwiftUI с помощью паттерна Flow Coordinator
• В Apple показали гарнитуру смешанной реальности
• Apple представила новые функции доступности
• Apple разрешает автоматически увеличивать цены на подписку
• Цикл рендеринга SwiftUI
• SwiftUI все еще не готов к продакшену
• Значения среды как альтернатива внедрению зависимостей в SwiftUI
• Предварительная выборка в iOS
• Расширенные протоколы в Swift
• SwiftUI для разработчиков UIKit
• Создание кастомной геометрии со стандартными формами в SceneKit под SwiftUI
• Разница между singleton и Singleton в Swift
• Как внедрить шаблон MVVM в разработку приложений для iOS
• Заполнители типов взгляд на новую функцию Swift 5.6
• Фингерпринтинг локального устройства в iOS
• Туториал по Vision Framework для iOS: обнаружение контуров
• Соединяем iOS AppDelegate, SceneDelegate и ViewController
• Шаблон Xcode MVVM-C для сокращения времени разработки
• 7 шорткатов Xcode для больших проектов
• Apple GPU и невозможная ошибка
• Colorue: рисование на iOS
• Sankey: диаграммы Санки для iOS
• Runestone: текстовый редактор для iOS
Android
• Знакомьтесь: библиотека TiRecycler
• Как и зачем собирать Android приложение в docker контейнере
• Как работает UI в Android. Не все так сложно
• Запросы в сеть с Clean Architecture и MVVM. Boilerplate ч. 2
• Каталоги версий Gradle для отличного управления зависимостями
• Новый способ совершать сетевые звонки на Android
• Вопросы для собеседования среднего уровня по Android
• Ищем ofnsrb в UI с помощью CPU профайлера в Android Studio
• Повышение качества кода Kotlin для кодовой базы Faire
• Fastlane: автоматизируйте развертывание и выпуск бета-версий приложений для Android
• Jetpack Compose для поздних последователей
• Кастомные анимации Canvas в Jetpack Compose
• Оставьте Retrofit, переходите на Ktor в Android
• Делаем Android-приложение библиотечным модулем
• Девять кругов ада в миграции проекта Kotlin Multiplatform на koin-annotations
• Используете ли вы самый мощный инструмент Kotlin?
• API сканирования штрихкодов Google — сканирование кодов без разрешения камеры
• MiStoryView: истории для Android-приложения
• Floating Action Button Speed Dial: плавающая кнопка с действиями
Кроссплатформа
• Flutter 3: что нового
• Начинаем работу с Flutter Casual Games Toolkit
• Как на Flutter-проекте реализовать разделение Google-сервисов и Huawei-сервисов
• Нестандартное оформление кнопок, текстовых полей и других элементов управления Flutter
• Тестирование Flutter-приложений: гайд по разработке тестов на Flutter
• Выразительные Unit тесты в Dart/Flutter
• Flutter каналы платформы
• Kotlin Multiplatform Mobile — совместное управление состоянием пользовательского интерфейса
• Kotlin 1.5.30 и KMM/KMP
• Пинболл с I/O на базе Flutter и Firebase
• 7 удивительных инструментов разработки приложений на Flutter
• Адаптивные макеты во Flutter
• Повышает ли Flutter производительность разработчиков?
• Анонс набора инструментов для казуальных игр Flutter
• Воркшопы DartPad от GDE по Flutter
• Оптимизируем React Native
• Ускоряем Kotlin Multiplatform
• Автоматический перевод приложения Flutter
Разработка
• Как выжить при быстром росте аудитории, когда игра за день становится хитом
• Модель игрового цикла: как устроены хорошие игры
• Мой вопрос с кодинг интервью в Google
• Эволюция инди-игры: от Google Play до собственного магазина
• Туда, не зная куда: каким мы увидели Qase
• История телепортации в андроиде
• Многие софтверные компании — посмешище
• 7 причин, по которым я объясняю ответы во время технического интервью
• Найти всё, что скрыто. Поиск чувствительной информации в мобильных приложениях
• Инструменты разработки и LiveOps: Как стабильно управлять тоннами контента игры
• Дизайн приложений: примеры для вдохновения #76
• Подборка новых, необычных и стильных мобильных iOS приложений
• Видео Ozon Tech Mobile Meetup
• Podlodka #268: формальные методы и верификация программ
• Jellyfish запускает отраслевые бенчмарки для команд разработки
• VK открывает набор на оплачиваемую стажировку для начинающих разработчиков игр
• Facebook замораживает найм в продуктовые команды
• VPS и ARCore Geospatial API
• $20 млн: Pipedream — простая интеграция API
• $42 млн в Серии B: Komodor — платформа устранения сбоев в Kubernetes
• Что не так с UX-ом подписок
• Кейс UX/UI — Drill IT
• Модульные тесты замедляют меня
• Как я выторговал офер в 300 000 от Google
• Прекратите создавать UI компоненты с нуля
• Системный дизайн и рекомендательные алгоритмы 20 крупных компаний
• 26 главных вопросов по программированию, которые помогут пройти собеседование в Microsoft
Аналитика, маркетинг и монетизация
• Самые популярные категории приложений 2022
• MyTracker открывает возможность для создания кастомизированных метрик
• AppsFlyer запустил Единый источник истины для iOS
• «Не унывайте, пацаны»: основатели российского приложения для медитации ещё не вышли в прибыль, но уже идут в США
• В России начал работать магазин приложений NashStore — российский аналог Google Play
• Минцифры и VK анонсировали запуск магазина Android-приложений RuStore
• Мобильный маркетинг в 2022: спасибо, что живой
AI, Устройства, IoT
• Мой опыт с резиновым мужиком. Github Copilot
• Kincony KC868-A16: контроллер 16-го уровня
• Находим главное в отзывах. Опыт разработчиков геопоиска Яндекса
• Практические применения генеративных моделей: как мы делали суммаризатор текстов
• 55+ перспективных технологий IoT, которые вы должны иметь на своем радаре (обновление 2022 года)
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.
iOS
• SwiftUI все еще не готов к продакшену
• Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager
• Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете
• Бесплатные книги по Swift от Flight School
• 6 советов, как улучшить программирование в Swift
• Золотые правила “weak self”
• Регулировка contentOffset с помощью UICollectionViewLayout
• Pull to refresh в SwiftUI
• Координация навигации по вью в SwiftUI с помощью паттерна Flow Coordinator
• В Apple показали гарнитуру смешанной реальности
• Apple представила новые функции доступности
• Apple разрешает автоматически увеличивать цены на подписку
• Цикл рендеринга SwiftUI
• SwiftUI все еще не готов к продакшену
• Значения среды как альтернатива внедрению зависимостей в SwiftUI
• Предварительная выборка в iOS
• Расширенные протоколы в Swift
• SwiftUI для разработчиков UIKit
• Создание кастомной геометрии со стандартными формами в SceneKit под SwiftUI
• Разница между singleton и Singleton в Swift
• Как внедрить шаблон MVVM в разработку приложений для iOS
• Заполнители типов взгляд на новую функцию Swift 5.6
• Фингерпринтинг локального устройства в iOS
• Туториал по Vision Framework для iOS: обнаружение контуров
• Соединяем iOS AppDelegate, SceneDelegate и ViewController
• Шаблон Xcode MVVM-C для сокращения времени разработки
• 7 шорткатов Xcode для больших проектов
• Apple GPU и невозможная ошибка
• Colorue: рисование на iOS
• Sankey: диаграммы Санки для iOS
• Runestone: текстовый редактор для iOS
Android
• Знакомьтесь: библиотека TiRecycler
• Как и зачем собирать Android приложение в docker контейнере
• Как работает UI в Android. Не все так сложно
• Запросы в сеть с Clean Architecture и MVVM. Boilerplate ч. 2
• Каталоги версий Gradle для отличного управления зависимостями
• Новый способ совершать сетевые звонки на Android
• Вопросы для собеседования среднего уровня по Android
• Ищем ofnsrb в UI с помощью CPU профайлера в Android Studio
• Повышение качества кода Kotlin для кодовой базы Faire
• Fastlane: автоматизируйте развертывание и выпуск бета-версий приложений для Android
• Jetpack Compose для поздних последователей
• Кастомные анимации Canvas в Jetpack Compose
• Оставьте Retrofit, переходите на Ktor в Android
• Делаем Android-приложение библиотечным модулем
• Девять кругов ада в миграции проекта Kotlin Multiplatform на koin-annotations
• Используете ли вы самый мощный инструмент Kotlin?
• API сканирования штрихкодов Google — сканирование кодов без разрешения камеры
• MiStoryView: истории для Android-приложения
• Floating Action Button Speed Dial: плавающая кнопка с действиями
Кроссплатформа
• Flutter 3: что нового
• Начинаем работу с Flutter Casual Games Toolkit
• Как на Flutter-проекте реализовать разделение Google-сервисов и Huawei-сервисов
• Нестандартное оформление кнопок, текстовых полей и других элементов управления Flutter
• Тестирование Flutter-приложений: гайд по разработке тестов на Flutter
• Выразительные Unit тесты в Dart/Flutter
• Flutter каналы платформы
• Kotlin Multiplatform Mobile — совместное управление состоянием пользовательского интерфейса
• Kotlin 1.5.30 и KMM/KMP
• Пинболл с I/O на базе Flutter и Firebase
• 7 удивительных инструментов разработки приложений на Flutter
• Адаптивные макеты во Flutter
• Повышает ли Flutter производительность разработчиков?
• Анонс набора инструментов для казуальных игр Flutter
• Воркшопы DartPad от GDE по Flutter
• Оптимизируем React Native
• Ускоряем Kotlin Multiplatform
• Автоматический перевод приложения Flutter
Разработка
• Как выжить при быстром росте аудитории, когда игра за день становится хитом
• Модель игрового цикла: как устроены хорошие игры
• Мой вопрос с кодинг интервью в Google
• Эволюция инди-игры: от Google Play до собственного магазина
• Туда, не зная куда: каким мы увидели Qase
• История телепортации в андроиде
• Многие софтверные компании — посмешище
• 7 причин, по которым я объясняю ответы во время технического интервью
• Найти всё, что скрыто. Поиск чувствительной информации в мобильных приложениях
• Инструменты разработки и LiveOps: Как стабильно управлять тоннами контента игры
• Дизайн приложений: примеры для вдохновения #76
• Подборка новых, необычных и стильных мобильных iOS приложений
• Видео Ozon Tech Mobile Meetup
• Podlodka #268: формальные методы и верификация программ
• Jellyfish запускает отраслевые бенчмарки для команд разработки
• VK открывает набор на оплачиваемую стажировку для начинающих разработчиков игр
• Facebook замораживает найм в продуктовые команды
• VPS и ARCore Geospatial API
• $20 млн: Pipedream — простая интеграция API
• $42 млн в Серии B: Komodor — платформа устранения сбоев в Kubernetes
• Что не так с UX-ом подписок
• Кейс UX/UI — Drill IT
• Модульные тесты замедляют меня
• Как я выторговал офер в 300 000 от Google
• Прекратите создавать UI компоненты с нуля
• Системный дизайн и рекомендательные алгоритмы 20 крупных компаний
• 26 главных вопросов по программированию, которые помогут пройти собеседование в Microsoft
Аналитика, маркетинг и монетизация
• Самые популярные категории приложений 2022
• MyTracker открывает возможность для создания кастомизированных метрик
• AppsFlyer запустил Единый источник истины для iOS
• «Не унывайте, пацаны»: основатели российского приложения для медитации ещё не вышли в прибыль, но уже идут в США
• В России начал работать магазин приложений NashStore — российский аналог Google Play
• Минцифры и VK анонсировали запуск магазина Android-приложений RuStore
• Мобильный маркетинг в 2022: спасибо, что живой
AI, Устройства, IoT
• Мой опыт с резиновым мужиком. Github Copilot
• Kincony KC868-A16: контроллер 16-го уровня
• Находим главное в отзывах. Опыт разработчиков геопоиска Яндекса
• Практические применения генеративных моделей: как мы делали суммаризатор текстов
• 55+ перспективных технологий IoT, которые вы должны иметь на своем радаре (обновление 2022 года)
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.