Возвращаемся к работе с новым дайджестом — в нем роутинг и компоненты, интеграционные тесты и языки программирования, годовой отчет App Annie и улучшения Duolingo.



Мы запустили мобильное приложение и сайт в 2017-м. Сегодня средняя нагрузка на систему составляет около 6 000 заказов в сутки. С одной стороны, вроде как не очень много, с другой — всё же стоит учитывать, что это не размазано ровным слоем на 24 часа, люди не заказывают продукты круглосуточно, здесь тоже есть подвязка на стандартную активность в рабочее время.
Телефон давно стал продолжением меня, и я слабо представляю свою жизнь без пары десятков приложений, которыми пользуюсь каждый день. Но как быть тем, кто не может взять телефон в руку или посмотреть на экран?

Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.

iOS

(+25) Роутинг для iOS: универсальная навигация без переписывания приложения
(+21) Сложные отображения коллекций в iOS: проблемы и решения на примере ленты ВКонтакте
(+3) Unit тестирование в архитектуре Clean Swift
Apple купила ИИ-стартап Xnor.ai
Могу ли я посмотреть меню SwiftUI, пожалуйста?
Лучшая архитектура для iOS-приложения вообще существует?
Gaudi для iOS: темы и темный режим
Swift UI: приложение для бронирования фильмов
Советы и рекомендации по отладке приложений для iOS
SwiftUI: создание растягиваемого заголовка с параллаксом
Скрытые сокровища UIStackView
Начинаем работать с RealityKit: совместная дополненная реальность
Как реализовать архитектуру VIPER в iOS-приложении с помощью Swift 5
SOTabBar: красивый TabBar для iOS

Android

(+17) Как рассказать об основных компонентах Android за 15 минут
(+3) Работа с интерфейсом в Google Maps SDK для Android
(0) Подготовка sdl2 проекта для запуска на android
GitHub выпустил бету своего приложения для Android
Правозащитники просят Google разрешить удаление предустановленных приложений
Android Broadcast #4: «Под капотом корутинов» c Ильмиром Усмановым
Миграция на ViewPager2
Как подготовить приложение для Android к пентесту
11 золотых правил для Android-разработки
Современные возможности для вашего Android-приложения
Глубокое погружение в Jetpack Compose
Киллер-фичи Kotlin для программистов и разработчиков программного обеспечения
Уменьшение R8 в Android
Kotlin Multiplatform — MVVM и Чистая архитектура
Проектирование деревьев решений с нуля на Android
Максимальное совместное использование кода между Android и iOS с Kotlin Multiplatform
Виртуальная машина в Android: все, что вам нужно знать
Управление жизненным циклом с View Binding в Fragments
Создание чата на Kotlin: чистый путь
Kotlin Pokedex: энциклопедия покемонов на Kotlin
5 Android-библиотек, которые вдохновят в вас дизайнера

Разработка

(+43) VVVVVV??? VVVVVV!!! :)Публикация кода VVVVVV показала, насколько грубо устроены игры внутри
(+26) Непрерывная интеграция в Unity: как сократить время сборок и сэкономить ресурсы + пайплайн в подарок
(+21) Зрение Хищника: эффект термального видения
(+10) Анонс Global Game Jam 2020 в конце января
(+7) Создание зомби-шутера от третьего лица с помощью DOTS
(+6) Реализация шаблона «Состояние» в Unity
(+5) Интеграционные тесты на Flutter — это просто
(+5) Я фотограф и я сделаю сам себе рабочий инструмент
(+5) Оптимизируем автоматизацию: как мы ускорили автотесты в 3-4 раза, сохранив старые наработки
make sense #76: о главной метрике для продукта, модели метрик и инсайтах из аналитики
Mobile People Talks: Взгляд на iOS, Android и всякие кроссплатформы через призму безопасности
Podlodka #146: Изучение английского языка
Cocos создает центры мини-игр в приложениях
Самые популярные игровые движки 2019
Разработка под iOS и Android: рейтинг языков программирования 2020
Бесплатные иконки: 15 библиотек
Google купил конструктор приложений AppSheet
С стал языком года по версии TIOBE 
Потому что цвета – это красиво. Создание универсальной цветовой палитры для IBM
Войти в IT и digital с непрофильным образованием и запустить свое мобильное приложение
Руководство по добавлению анимации в ваш продукт — примеры и инструменты
7 UI-шаблонов для приложения отслеживания привычек: разбор кейса
Падение Software Engineer, восхождение Programmer Technician
7 советов по дизайну выпадающего меню
Мониторинг работоспособности Flutter-приложения с помощью GitHub Actions
Создание мобильного приложения как побочного проекта — совместная работа дизайнера и разработчика
Кастомная физика прокрутки во Flutter
Быстрое и простое распространение приложений Firebase с помощью CircleCI и Fastlane
Создание Todo-приложения на Flutter с нуля
Победители Game Off 2019
Mono: шрифт для разработчиков

Аналитика, маркетинг и монетизация

Годовой отчет State of Mobile 2020 от App Annie: россияне потратили в приложениях более $1 млрд
Duolingo: улучшение на 1% каждую неделю
Аналитики нашли Fleeceware-приложения у 600 миллионов пользователей
Систематический подход к ASO c CRO-циклом
Доходы мобильных игр в Одноклассниках выросли в 2 раза
ClassPass стал единорогом
Самые скачиваемые приложения и игры 2019 года
Зачем Skyeng покупает рекламу на бесплатный продукт
Кому нужны оптимизаторы App Store и как подружиться с Apple: интервью с основателем сервиса SplitMetrics из Минска

AI, Устройства, IoT

(+28) Использование машинного обучения в статическом анализе исходного кода программ
(+20) Тензоры в TensorFlow
(+9) Умный дом на колес… Алисах
(+8) Lytko объединяет
Amazon AutoGluon создает ML-модели за 3 строчки кода

< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.