В этом выпуске блеск и нищета key-value базы данных, адаптивный дизайн на основе StackView, глаза HMS, ретро игры и новые архитектуры, адекватный онбординг и неадекватные трекеры в детских приложениях.


Основной базой данных для персистентного хранения состояния приложения стала весьма экзотическая для мобильного мира Lightning Memory-Mapped Database (LMDB). Под катом вашему вниманию предлагается её подробный обзор в четырех частях.

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

iOS

Адаптивный дизайн в iOS с UIStackView
В iOS 14 появится встроенный переводчик
Как исправить 5 самых популярных ошибок в iOS-приложениях
Почему UIResponder.Keyboard Notification Handler анимирован?
Реализуем компоненты дизайн-системы на iOS
6 Swift-овых способа написания кода
Создание иконки приложения на SwiftUI
Swift 5.3 — движение в направлении производительности и качества
Создаем видеочат 1-на-1 с SwiftUI и Dolby.io
7 потрясающих SwiftUI проектов с открытым исходным кодом, чтобы вдохновить вас
Быстрый старт с SwiftUI
Три средства отладки, которые решают 99% проблем в iOS-приложении
Мой список желаний для WWDC ’20
Определение эмоция с помощью технологий Apple
Sign In With Apple — Node.JS бэкенд для iOS-разработчиков
UGrid: красивый CollectionView
Upcoming Movies App: новые фильмы на Swift

Android

(+37) Заглянуть в глаза дракону: 10 вопросов к Huawei Mobile Services
(+3) Почему я не использую SharedViewModel для фрагментов?
Google удалил индийское приложение для удаления китайских приложений
Swift на Android для шаринга кода
Решаем игру по поиску слов с помощью Firebase ML Kit и Huawei ML Kit
Duolingo завершил миграцию на Kotlin и уменьшил количество строк кода на 30%
Hilt: первое впечатление
Новый Android Results API и как его использовать, чтобы сделать ваш код чище
Android MVI с Kotlin Coroutines & Flow
Создание потока онбординга с MotionLayout
10 советов, чтобы ускорить время сборки Gradle
Compose Academy
Android Material Component: создание Navigation Drawer в стиле Gmail
Туториал по безопасности сетевых данных в Android
Полноэкранные Intent уведомления
Найти маяк и не терять его: мое путешествие в мир BLE на Android
Raw Draw Android: приложения для Android на C
Vortex: живые Data-driven обои

Разработка

(+22) Переработка архитектуры React Native в 2020 году
(+22) Yandex Retro Games Battle 2020: новый конкурс и полезные ресурсы для разработчиков
(+16) Avokado Project
(+14) Реализация тумана войны из Civilization VI в Unity
(+7) Релизный поезд. Доклад Яндекса
(+4) Разработка, оптимизация и релиз на Unity игры Synthety
(+3) Как устроен Selenium: Эпизоды 1 — 2
(+2) Топ-9 тенденций автоматизированного тестирования в 2020 году
make sense: о выстраивании отношений с командой разработки и важности технических навыков
Flutter Dev Podcast #16: Meduza
Podlodka #166: переговоры
Гид разработчика по собеседованию
6 мощных инструментов для разработчиков, использующих Mac
Как мобильные разработчики чувствуют себя во время кризиса: личный опыт Виталия Дубинина (iD EAST)
Онлайн-конференция Firebase Live
Coursera открыла бесплатный доступ для студентов
Google сделал AR-приложение для соблюдения социальной дистанции
Почему мобильное приложение на Flutter — хорошая идея для бизнеса в 2020 году
Топ-9 JS-движков и библиотек для игр в 2020 году
Дизайним адекватный Onboarding
Подробное руководство по дизайну текстовых полей и форм
Пожалуйста, дайте шанс junior UX-дизайнерам
Что такое Low-Code разработка
Никто не говорил мне, что UX будет таким
Ежедневные активности, которые помогут вам стать лучшим разработчиком
Fortnite — это Jira для детей
Как создание собственного продукта может сделать вас опытным разработчиком

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

(+17) Как мы анализируем пиццу и ваш вкус
(+2) Монетизация в онлайн-играх: как использовать чужой опыт для собственных нужд
FTC оштрафовала HyperBeard за использование трекеров рекламных сетей в детских приложениях
Самые зарабатывающие приложения мая 2020
Самые скачиваемые приложения мая 2020
Zoom даст шифрование только платным пользователям
Lili: мобильны банк для фрилансеров
Gismart предлагает музыкантам продвижение в гиперказуальных играх
YouTube стал источником №1 информации об играх для детей
FAN и AppsFlyer представили первый инструмент для измерения эффективности кампаний
Корейский «соседский» маркетплейс Karrot получил $33 млн.
HBO Max и Bumble открывают «Личную жизнь»
Biloba: график вакцинации
Чек-лист по оптимизации приложения для Google Play

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

(+22) Детектор приседаний на OpenCV и Tensorflow
(+20) Не надо учить Machine Learning
(+14) Анализируем шедевры живописи с помощью классического ML
(+12) Когда написать свою IoT-платформу выгоднее, чем покупать готовую
(+5) Распознавание русского алфавита: от сбора датасета до создания GUI
(+3) Машинное обучение: с чего начать или как построить первую модель

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