Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.
iOS
• Гибкая навигация в iOS
• Avito iOS meetup #9
• Финалисты Apple Design Awards 2022
• Нативный backend-driven UI в iOS приложении на базе Editor.js
• Введение в Accessibility Workspace
• Более быстрая сборка в Xcode при переключении веток
• SwiftUI: понимание identity через переходы
• Как эффективно дампить SwiftUI Environment
• Объяснение замыканий в Swift
• Чистая архитектура: приложение для iOS
• Бесконечная прокрутка в UITableView намного проще, чем вы думали
• Swift: несколько советов по улучшению качества кода
• Синхронизация навигации iOS-приложения с NavigationQueue
• Советы и рекомендации по отладке в Xcode
• Как реализовать шаблон Координатор в Swift
• Шаблон Фабрика в Swift для начинающих
• Следующая страница: создание бесконечной прокрутки в SwiftUI
• Wordle на SwiftUI
• 14 полезных операторов для работы с массивами в Swift
• VFont: использование вариативных шрифтов в iOS
• FloatingPanel: выдвигающаяся панель для iOS
• Sourcery: мета-программирование для Swift
Android
• Тестирование продукта RuScanner: как заставить отладчик Android работать во благо тестирования
• Первый взгляд на «песочницу конфиденциальности» Google и ее влияние на SDK
• Введение в Jetpack Compose
• Избегайте «when» — используйте полиморфизм
• Полдюжины правил для статического анализатора Detekt
• Сила @RawQuery. Сокращаем код DAO на 90%
• В Jetpack вышла библиотека поддержки Ultra-Wideband (UWB)
• Анимированный курсор с пиксельной пылью и даже больше
• Классическая игра «Змейка» с Jetpack Compose
• Кстомный эффект повышения цвета в Compose
• Видео Android Makers 2022
• Экран выбора времени для приложения Таймер на Jetpack Compose
• Кастомный Pull to Refresh в Jetpack Compose
• Форматирование Android-кода с помощью Ktlint и Git Hooks
• Эффект параллакса с SensorManager и Jetpack Compose
• Экономия времени в Android-проектах с помощью рабочих процессов Bitrise
• Избегайте использования выражения «when» как можно чаще. Вместо этого используйте полиморфизм
• Практический пример Compose Slot API
• Как создать макет для RTL
• Дорожная карта для Android-разработчика 2022: часть 3 / 2 / 1
• ViewModel: антипаттерны разовых событий
• Compressor: сжатие изображений в Android
• Component Box: Server-driven UI на Kotlin Multiplatform
Кроссплатформа
• Flutter & games: пробуем Bonfire в роли игрового движка
• Сборка мусора во Flutter
• Как учат создавать игру вида TowerDefence — ошибки «новичков»
• Список полезных расширений VS Code для разработчиков Flutter
• Динамические темы для вашего Flutter приложения
• Отзывчивый пользовательский интерфейс во Flutter с Sizer
• Я нашел идеальную архитектуру для Flutter-приложений
• Добавляем сплешскрин во Flutter-приложении менее чем за минуту
• Как не надо учить Flutter
Разработка
• Командное «ретро» в Майнкрафт: 10 из 10, не рекомендую
• Эволюция Server-Driven UI: динамические поля, хэндлеры и многошаг
• Небольшие советы по работе в GameMaker на примере моего психологического триллера
• BLE Inspector, маленькое open source приложение для датчиков уровня топлива
• Перформанс мониторинг по-взрослому: выкладываем запись Mobile Meetup
• Как тестировать стриминговые приложения
• История о бесконечном регрессионном тестировании
• Дизайн приложений: примеры для вдохновения #77
• Как изменится программирование в ближайшие 5-10 лет
• Как написать backend: свой сервер на Kotlin и Ktor
• Только 2% россиян назвали программирование уважаемой профессией
• $80 млн в Серии B: WorkOS — корпоративные функции для приложений
• У Alphabet и Meta самые высокие средние зарплаты
• Самые высокооплачиваемые вакансии мая в разработке приложений
• Как улучшить качество кодовой базы
• Про дизайн профиля вождения
• Лучшие практики пул-реквестов
• Как создавать дизайны в Figma, которые будут любить разработчики
• Автоматизация CI/CD-конвейеров для мобильных приложений
• Системный дизайн приложения Uber — Системная архитектура Uber
• Как всегда быть перспективным разработчиком
• 5 инструментов, которые помогут вам работать в 2 раза быстрее
• Как работают изометрические координаты в 2D-играх
• Плохой плохой UI: 10 распространенных ошибок в пользовательских интерфейсах
Аналитика, маркетинг и монетизация
• Poparazzi: анти-Instagram с 5 млн пользователей
• Маркетологи в мобайле: Summer Edition. Александра Игнашкина («Много лосося»)
• Как приложение Planet Fitness обогнало TikTok и Instagram
• VK Реклама запустила продвижение приложений из RuStore
• SubHub Podcast: Наталья Шахметова (Woofz by Gismart)
• Загрузки, необходимые для попадания на первое место в топе App Store, выросли на 37% за 3 года
• Heineken выпустил открывашку, которая закрывает рабочие приложения
• Отчет “Состояние финтех и крипто приложений 2022” от Sensor Tower
• AppsFlyer запустил новые индустриальные бенчмарки
• Мировые мобильные игры в апреле: NFT и Ant SLG возглавляют топ рекламодателей
• Игры Flexion заработали $50 млн в альтернативных магазинах приложений
• От них ждали «чудо-кнопку», с которой всё быстро учится, но так не бывает: как растёт приложение-школа китайского Laoshi
• Вы, вероятно, не знаете, почему люди покупают вашу игру
AI, Устройства, IoT
• Система распознавания шрифта Брайля. Читаем написанное белым по белому
• Kincony KC868-A32: авианосец на DIN-рейку
• Анализируем речь с помощью Python: Как и о чем говорят на YouTube-канале «вДудь»?
• DIY: передаем данные на километры с помощью контроллера Micro::Bit и радиомодуля EBYTE LoRa Часть 2 и Часть 1
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Автор: Productivity Inside