Дайджест интересных материалов для мобильного разработчика #364 (27 сентября — 4 октября)

    В этом дайджесте — обновления Android, собственный движок для игр, симуляция волос и создание VHS-эффектов, No-Code платформы машинного обучения и доходы приложений. Приятного чтения!


    У меня был простой рендер спрайтов и текста, простая система обработки ввода, из которой можно было получать информацию о мышке и нажатых клавишах, и всякие утилиты-обвязки вспомогательных систем движка. В общем какую-то простую картинку вывести я мог. В последствии это все очень сильно изменилось и поросло архитектурными хитростями. Начиная с Android 8 (у некоторых вендоров с 7.1) в системе появился новый механизм накатки OTA-обновлений, т. н. Seamless A/B OTA Updates — бесшовные обновления. В этом посте я опишу общие принципы его работы, рассмотрю механизм с точки зрения разработчика, а также проведу сравнение со старым (будем его называть recovery-based) подходом применения обновлений.

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

    iOS

    (+22) Navigation bar и анимация перехода
    Apple запустила генератор коротких ссылок и QR-кодов для App Store
    Apple отказалась от 30% налога ради малого бизнеса
    Использование AVAudioEngine для записи, сжатия и потоковой передачи звука на iOS
    SKOverlay в SwiftUI
    Core Data и SwiftUI 2.0
    Используем кастомные Debug Descriptions, чтобы упростить отладку Swift
    10 запутанных, но важных функций Swift
    2 способа исполнения MVVM iOS
    SwiftUI и Firestore: обновление данных
    Как сделать раздвигающийся TableView с помощью Swift
    Instructions: пояснения и обучение работе с продуктом
    Tiktok Clone: короткие видео на Swift и Firebase
    Twitter Text: парсинг текста

    Android

    (+8) Как разработать аналог Zoom для ТВ-приставок на RDK и Linux. Разбираемся с фреймворком GStreamer
    (+7) «Холодный» запуск Android-приложения
    (+6) Еще раз про многомодульность Android-приложений
    (+6) Как устроен Push Kit от Huawei
    (+4) Как спроектировать пошаговое заполнение данных в мобильном приложении
    (+4) Google Play In-App Review API: пошаговое руководство по внедрению
    (+1) Голос в мобильном приложении: учимся вызывать экраны и заполнять формы без рук
    Google упростит работу со сторонними магазинами в Android 12
    Google Play будет тщательнее следить за оплатой покупок в приложениях
    Беспроводная Android-разработка с локальным устройством
    Асинхронные сообщения с Kotlin и RabbitMQ
    Первые мысли о Jetpack Compose
    Изменение стартовых шаблонов Android
    Splash Screen в Android
    Время плыть: переход с Kotlin на Flutter
    Исследуем Kotlin DSL
    Развенчиваем мифы о производительности Android
    Создание тепловых карт с помощью Google Maps для Android
    Все, что вам нужно знать о биометрической библиотеке Android
    JetMessenger: клон Facebook Messenger на Jetpack Compose
    CircleMenu: круговое меню для Android

    Разработка

    (+22) Plague M.D. Я остался в России и меня поглотила Чума. Сопли и нытье прогера
    (+16) Выводы, которые я сделал, помогая стартапу для секс-чатов повысить конверсию
    (+8) InheritedWidget во Flutter
    (+8) Симуляция волос и тканей с Unity Cloth на мобильных устройствах
    (+6) Создание эффекта VHS-видео в Unreal Engine
    (+6) «Flutter клёвенький — у меня только такое объяснение». Обзор лучших выпусков Flutter Dev Podcast
    (+6) Как создать мини-приложение: база знаний VK Mini Apps
    Podlodka #183: обратная связь
    Финал фестиваля программирования RuCode
    GitHub запускает сканирование кода на уязвимости
    Как изменить жизнь программиста с правилом 80/20
    Курсы “Как создавать мобильные приложения и игры” в Humble Bundle
    4 расширения VS Code для того, чтобы «расслабиться» на работе
    Интервью с product-менеджером Flutter и Dart (Google)
    Facebook против Google: битва межплатформенных фреймворков
    Лучшие практики CI/CD
    GitHub Codespaces: работа с Flutter
    Лучший совет по созданию программного обеспечения от моего ментора
    Четыре вещи, которые нужно забыть, чтобы стать лучшим программистом
    Мои первые 24 часа с Flutter
    7 способов действительно чему-то научиться из туториалов

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

    (+25) Как приложения без возможности выигрыша вытягивают у пользователей миллионы долларов
    (+3) История Waze: от бессмыслицы до миллиардной компании
    (+1) Разбор игры RAID: Shadow Legends (монетизация через поведенческую психологию)
    (0) Локализационное тестирование: зачем оно нужно приложению или сайту?
    Сингл группы BLACKPINK «Lovesick girls» выходит в PUBG MOBILE
    IronSource открывает доступ к in-app bidding платформе для всех
    make sense: О выходе на зарубежный рынок
    Доходы приложений в 3 квартале выросли на 32% до $29 млрд.
    Epic и Apple отказались от суда присяжных
    В России вступил в силу Закон о блокировке пиратских приложений
    Почему инфлюэнсеры-звезды, такие как Ли Цзяци, так важны для бизнеса, нацеливающегося на Китай
    Rephrase.ai: генерация людей для рекламы
    Как мы запустили приложение для анимации фото на Product Hunt
    Запуск инди-приложения

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

    (+27) Лучшие IDE для Raspberry Pi
    (+17) Знакомство с Node-RED и потоковое программирование в Yandex IoT Core
    (+12) Добавляем в плеер функцию Ambilight при помощи умных ламп Xiaomi
    (+1) NB-IoT. Non-IP Data Delivery или просто NIDD. Тестирование с коммерческим сервисом МТС
    (0) «Умный дом» в каждую квартиру многоквартирного дома. Детально о контроллере и шлюзах
    8 No-Code платформ машинного обучения для мобильных разработчиков
    Продажи Apple Watch 6 вдвое опережают продажи предыдущей версии

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

    Similar posts

    Comments 0

    Only users with full accounts can post comments. Log in, please.