Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
В новом выпуске вопросы MVI и модульности, ада зависимостей и рефакторинга Музыки, собеседований, математики, персон, пользователей, ARPDAU, рынка приложений 2026 и много другого. Подключайтесь!
Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.
iOS
• MVI в iOS-приложении
• Начинаем работу над модуляризацией iOS-приложения
• [Async/await] Как работает Coroutine Model
• RxSwift + PropertyWrapper: инкапсуляция и синтаксический сахар
• Выход из ада зависимостей: взгляд iOS-разработчика
• Apple разрешила продажу приложений с iCloud
• Принципы SOLID в Swift
• Новое в SwiftUI 4: барчарт с накоплением
• Рендеринг SwiftUI View в ячейках UITableView или UICollectionView в iOS 16
• Обзор новых API навигации SwiftUI
• iOS 16: важные дополнения UIKit
• Новое в iOS 16 — автоматическое изменение размера ячеек UICollectionView
• Как изменить размер ячейки без перезагрузки — автоматическое изменение размера (iOS 16)
• Реализация кастомного календаря с использованием UICalendarView в iOS16 и Swift
• Как делать реверсинжиниринг iOS-приложений для начинающих
• Все вопросы и ответы Digital Lounge с WWDC
• Изучение типобезопасных идентификаторов в Swift
• SwiftUI — MVVM со StateMachine
• 3 мощных трюка со Swift с WWDC 2022
• Горячая перезагрузка приложения SwiftUI
• Async/Await, Combine, Closures: руководство по современному асинхронному Swift
• Море расширений Swift
• Что нового в SwiftUI TextField в iOS 16
• Live Text API в iOS 16 — сканирование данных с помощью камеры в SwiftUI
• Xcode Cloud — непрерывная интеграция и развертывание
• Swift Collections: структуры данных для Swift
Android
• Рефакторинг приложения с десятилетним легаси за три месяца. Опыт Яндекс Музыки
• Погружение в Compose — уроки создания Maps Compose
• Как сделать Android-приложение тестируемым? Часть 2 — MVI
• Разделение интерфейсов в Android с помощью расширений Kotlin и inline функций
• Идеальная архитектура. Чем отличается UseCase от Interactor?
• Сборка Android приложения без Studio
• Линтинг в Kotlin: полное руководство по настройке и эксплуатации
• Создание плавающего диалогового окна как в Google Translate с помощью Material Design 3
• Почему вы всегда должны тестировать производительность Compose в релизе?
• Переход к плавным кривым в Jetpack Compose
• Включаем скрипты Lua в приложении для Android
• Вышел Kotlin 1.7.0
• Параллакс в Jetpack Compose
• Погружение в Compose — уроки создания Карт для Compose
• Иллюстрированное руководство по Kotlin — Ресиверы и Расширения
• Почему я бросил Android-разработку спустя 10 лет и чем планирую заниматься сейчас
• Простой View Binding с Kotlin Delegate
• Как написать лучший вариант Usecase/Interactors
• Just Listen: музыкальный плеер на Kotlin Multiplatform
• Archives: книжный UI
Кроссплатформа
• Вопросы на собеседовании к вакансии Middle Unity-разработчик + полезная информация
• Flutter Dev Podcast #36: Flutter 3.0 и Dart 2.17
• Система озвучки для игр (с плагином для Unity)
• Всплывающие сообщения об ошибках во Flutter
• Flutter: BLOC в масштабе
• Шейдеры с Flutter и Flame
• Sciter – Мультиплатформенный HTML/CSS/JavaScript UI движок для приложений
• Минималистское руководство по тестированию во Flutter
Разработка
• Математика для 3D-приложений. Урок 1
• Podlodka #272: мобильные архитектуры
• Дизайн система: Иконки
• Считаем, сколько заплатить в магазине и проверяем поле морского боя: разбор задач для разработчиков C#, iOS и Android
• Создаем Персоны Пользователей используя когнитивные искажения и UX Core
• Самые используемые SDK для push-уведомлений 2022
• Советы для UI/UX Дизайнера. 3 часть
• Как мы спускались с облаков на землю: критерии выбора среды для тестирования
• Тестирование производительности, энергопотребления и безопасности приложений
• Avito UXLab meetup #1
• Waymap делает пошаговую навигацию для слепых пользователей
• VK и ИТМО запустили бесплатный онлайн-курс по облачным технологиям
• Характеристики слабых программистов
• 3 шаблона дизайна для навигации, которые лучше гамбургера
• Как узнать, что пора переходить на другую работу
• Koi Farm: кроссплатформенные рыбы
Аналитика, маркетинг и монетизация
• Как настройка всего одного параметра увеличила ARPDAU на 35%
• Прогноз развития рынка приложений Sensor Tower до 2026 года
• Монетизация игр: какие компании продолжают выплачивать доходы разработчикам в РФ
• Как мы научились А/B-тестировать алгоритмы с помощью switchback-тестов
• Электронная книга “Up Your Game: руководство по развитию игровых приложений” от Pushwoosh
• В NashStore зарегистрировалось более 1 млн человек
• Рабочие стратегии монетизации мобильных игр: на что важно обращать внимание в 2022
AI, Устройства, IoT
• ИИ может определять расу людей по ентгеновским снимкам, и ученые в шоке
• Kincony KC868-Server: не контроллер, а просто атомная бомба. Часть 1
• В LG выпустили монитор DualUp с соотношением сторон 16:18
• Первые тесты Apple M2
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.
iOS
• MVI в iOS-приложении
• Начинаем работу над модуляризацией iOS-приложения
• [Async/await] Как работает Coroutine Model
• RxSwift + PropertyWrapper: инкапсуляция и синтаксический сахар
• Выход из ада зависимостей: взгляд iOS-разработчика
• Apple разрешила продажу приложений с iCloud
• Принципы SOLID в Swift
• Новое в SwiftUI 4: барчарт с накоплением
• Рендеринг SwiftUI View в ячейках UITableView или UICollectionView в iOS 16
• Обзор новых API навигации SwiftUI
• iOS 16: важные дополнения UIKit
• Новое в iOS 16 — автоматическое изменение размера ячеек UICollectionView
• Как изменить размер ячейки без перезагрузки — автоматическое изменение размера (iOS 16)
• Реализация кастомного календаря с использованием UICalendarView в iOS16 и Swift
• Как делать реверсинжиниринг iOS-приложений для начинающих
• Все вопросы и ответы Digital Lounge с WWDC
• Изучение типобезопасных идентификаторов в Swift
• SwiftUI — MVVM со StateMachine
• 3 мощных трюка со Swift с WWDC 2022
• Горячая перезагрузка приложения SwiftUI
• Async/Await, Combine, Closures: руководство по современному асинхронному Swift
• Море расширений Swift
• Что нового в SwiftUI TextField в iOS 16
• Live Text API в iOS 16 — сканирование данных с помощью камеры в SwiftUI
• Xcode Cloud — непрерывная интеграция и развертывание
• Swift Collections: структуры данных для Swift
Android
• Рефакторинг приложения с десятилетним легаси за три месяца. Опыт Яндекс Музыки
• Погружение в Compose — уроки создания Maps Compose
• Как сделать Android-приложение тестируемым? Часть 2 — MVI
• Разделение интерфейсов в Android с помощью расширений Kotlin и inline функций
• Идеальная архитектура. Чем отличается UseCase от Interactor?
• Сборка Android приложения без Studio
• Линтинг в Kotlin: полное руководство по настройке и эксплуатации
• Создание плавающего диалогового окна как в Google Translate с помощью Material Design 3
• Почему вы всегда должны тестировать производительность Compose в релизе?
• Переход к плавным кривым в Jetpack Compose
• Включаем скрипты Lua в приложении для Android
• Вышел Kotlin 1.7.0
• Параллакс в Jetpack Compose
• Погружение в Compose — уроки создания Карт для Compose
• Иллюстрированное руководство по Kotlin — Ресиверы и Расширения
• Почему я бросил Android-разработку спустя 10 лет и чем планирую заниматься сейчас
• Простой View Binding с Kotlin Delegate
• Как написать лучший вариант Usecase/Interactors
• Just Listen: музыкальный плеер на Kotlin Multiplatform
• Archives: книжный UI
Кроссплатформа
• Вопросы на собеседовании к вакансии Middle Unity-разработчик + полезная информация
• Flutter Dev Podcast #36: Flutter 3.0 и Dart 2.17
• Система озвучки для игр (с плагином для Unity)
• Всплывающие сообщения об ошибках во Flutter
• Flutter: BLOC в масштабе
• Шейдеры с Flutter и Flame
• Sciter – Мультиплатформенный HTML/CSS/JavaScript UI движок для приложений
• Минималистское руководство по тестированию во Flutter
Разработка
• Математика для 3D-приложений. Урок 1
• Podlodka #272: мобильные архитектуры
• Дизайн система: Иконки
• Считаем, сколько заплатить в магазине и проверяем поле морского боя: разбор задач для разработчиков C#, iOS и Android
• Создаем Персоны Пользователей используя когнитивные искажения и UX Core
• Самые используемые SDK для push-уведомлений 2022
• Советы для UI/UX Дизайнера. 3 часть
• Как мы спускались с облаков на землю: критерии выбора среды для тестирования
• Тестирование производительности, энергопотребления и безопасности приложений
• Avito UXLab meetup #1
• Waymap делает пошаговую навигацию для слепых пользователей
• VK и ИТМО запустили бесплатный онлайн-курс по облачным технологиям
• Характеристики слабых программистов
• 3 шаблона дизайна для навигации, которые лучше гамбургера
• Как узнать, что пора переходить на другую работу
• Koi Farm: кроссплатформенные рыбы
Аналитика, маркетинг и монетизация
• Как настройка всего одного параметра увеличила ARPDAU на 35%
• Прогноз развития рынка приложений Sensor Tower до 2026 года
• Монетизация игр: какие компании продолжают выплачивать доходы разработчикам в РФ
• Как мы научились А/B-тестировать алгоритмы с помощью switchback-тестов
• Электронная книга “Up Your Game: руководство по развитию игровых приложений” от Pushwoosh
• В NashStore зарегистрировалось более 1 млн человек
• Рабочие стратегии монетизации мобильных игр: на что важно обращать внимание в 2022
AI, Устройства, IoT
• ИИ может определять расу людей по ентгеновским снимкам, и ученые в шоке
• Kincony KC868-Server: не контроллер, а просто атомная бомба. Часть 1
• В LG выпустили монитор DualUp с соотношением сторон 16:18
• Первые тесты Apple M2
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.