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