В этом выпуске блеск и нищета 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) Машинное обучение: с чего начать или как построить первую модель
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

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


• Адаптивный дизайн в iOS с UIStackView
• В iOS 14 появится встроенный переводчик
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• (+37) Заглянуть в глаза дракону: 10 вопросов к Huawei Mobile Services
• (+3) Почему я не использую SharedViewModel для фрагментов?
• Google удалил индийское приложение для удаления китайских приложений
• Swift на Android для шаринга кода
•

•

•

•

•

•

•

•

•

•

•

•

•

•


• (+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-дизайнерам
•

•

•

•

•


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

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