В нашем новом посткосмическом дайджесте исследование багов iOS, старые иконки для iPhone через PWA, бета и авто тестирование, микровзаимодействия, доходы Match-3, простота Flutter и много других интересных материалов.


Системные предиктивные подсказки над клавиатурой — отличный способ сокращения количества кликов пользователя при вводе данных. Однако в новой версии iOS мы с удивлением обнаружили, что подсказки при вводе номера телефона пропали.

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

iOS

(+19) Swift 5.3: Что нового?
(+13) Как мы придумали TableAdapter и упростили работу с UITableView
(+12) SwiftUI по полочкам: Анимация. Часть 1
Курс Стэнфордского университета «Разработка приложений для iOS с использованием SwiftUI»
Icon Rewind возвращает iPhone старые иконки
Вышел джейлбрейк для последней версии iOS
Видео App Builders 2020
Уровень базы данных в приложениях Runtastic на iOS
Создание растягиваемого заголовка UITableView
Создание приложения для заметок на SwiftUI от начала до конца
Начинаем работу с GraphQL и Apollo на iOS
Добавление обучающего тура в iOS-приложение
6 iOS-библиотек для создания карточек в стиле Tinder
Warhol: распознавание лиц на iOS стало проще
Фоновые задачи в iOS
Настраиваем UISearchBar для разных версий iOS
Готовим приложение к iOS 14
Пишем чистый код путем переопределения loadView()
Создание плавных линий в Google Maps
Как работает SwiftUI DSL
Material Design Search UI iOS: красивый поиск

Android

(+8) Как мы сделали не blockchain
(+4) Управление жестами: обработка конфликтов жестов. Часть 3
Вышла Android Studio 4.0
Как подружиться с Gradle
Google создал Soli Sandbox для тестирования радара в Pixel 4
Как начинающему Android-разработчику прокачать свои навыки: 5 open source проектов для изучения
Распознавание текста из фото при помощи ML Kit в Android
Современная безопасность в Android
Как последовательно объединить адаптеры в Android
Введение в MotionLayout на Android
Управление пользовательскими сессиями в Android
Android Navigation Component
Кастомный простой интерполятор для анимации движения в Android
Activity Results API: лучший способ передачи данных между активити
Android Navigation Component – ожидания, выводы и советы
9 причин, по которым я бросил мобильную разработку
Создание Android-приложения на Kotlin, Flutter и React Native
TransformationLayout: анимации переходов для Android
COVID-19 App: приложения для отслеживания контактов

Разработка

(+23) Вместо 100 запусков приложения? один автотест, или как сэкономить QA-инженеру 20 лет жизни
(+18) Как «Медуза» организовала бета-тест нового приложения с читателями и не облажалась
(+16) Военный и разведывательный персонал можно отслеживать с помощью приложения Untappd Beer
(+16) Поля расстояний Raymarching-а: объяснение и реализация в Unity
(+15) Лучше своими руками: как мы сделали мобильное приложение Perekrestok.ru inhouse
(+11) Масштабируемая архитектура для больших мобильных приложений
(+10) Тестовые проекты без боли. Доклад Яндекса
(+8) Книгообзор: Голден Кришна. «Хороший интерфейс — невидимый интерфейс»
(+7) Пишем пошаговую PvP-арену с одновременными ходами
(+6) Мой топ бесплатных инструментов для разработчиков
(+6) QA и его роль в создании ресурсов для людей с ограниченными возможностями
(+6) Организация Flavors во Flutter
(+5) Как сотрудники Apple и Google объединёнными усилиями помогают чиновникам от здравоохранения отслеживать коронавирус
(+3) Аутентификация — CUSTOM SETUP / AWS Amplify + React Native
(+1) Обратная связь, которую вы не даете, так же значима, как и та, которую даете
(0) Блендинг террейна и меша в Unity
Podlodka #165: WebAssembly
6 советов по продуктивности для программистов
Tencent инвестирует $70 млрд. в инфраструктуру
Как приложения на Flutter делают бизнес проще
Дизайн приложений: примеры для вдохновения #3
Почему большинство проектов разработки мобильных приложений терпит неудачу
Глава Google планирует и дальше сотрудничать с Apple
EA опубликовала исходники Command & Conquer
Как микровзаимодействия в интерфейсе влияют на взаимодействие с пользователем
Когда плохой UX – это хорошо
Масштабирование содержимого приложения или виджета до размера всего экрана во Flutter
Взламываем кодинг интервью Google
Создание кроссплатформенного классификатора изображений с Flutter и TensorFlow Lite
Ошибки, которые я сделал как Junior-разработчик
Создание бизнеса из спальни: $98,130 и 11 месяцев
Создание бит-машины на Flutter
Простой pull-down refresh и pull-up loading на Flutter
Программируем как в NASA — 10 критических правил
20 психологических принципов, которые можно использовать в продуктовом дизайне
Как я построил игровую платформу для общения в реальном времени за месяц
Плохие дизайнерские решения заставляют вас терять деньги

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

(+5) Почему в роликах показывают условный интерфейс приложения вместо реального: шесть причин
(+3) Используем Raw Data в Google Analytics на практике
Newzoo: 80% игроков едят или пьют во время игр
GameRefinery: Match-3 игры получили 21% дохода всего рынка
Руководство: как сделать текстовое ASO быстро и эффективно
Facebook выпустил звонилку CatchUp
Как коронавирус повлиял на рынок мобильных игр
Доступность Google Maps и работа для групп пользователей
Геймификация бизнес-приложений
Как начать работать с ASO и что важно учесть

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

(+76) Как живые: наш опыт редактирования старых фотографий
(+24) Машинное обучение на C#: введение в ML.NET
(+17) iPhone SE: одноглазый король?
(+7) IoT в моей жизни. Как создать умный офис, а также отслеживать рост картофеля у себя в квартире благодаря IoT
make sense: про устройство интернета вещей и его практическое применение
Рони Абовиц перестанет быть CEO Magic Leap
Запускается первая русскоязычная онлайн-магистратура по Data Science
Кейс создания WebVR-сайта: грабли, решения и инсайты

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