В нашем новом посткосмическом дайджесте исследование багов iOS, старые иконки для iPhone через PWA, бета и авто тестирование, микровзаимодействия, доходы Match-3, простота Flutter и много других интересных материалов.
![](https://habrastorage.org/webt/xt/23/mv/xt23mv6myeh-ikbygqrq9nlawqu.jpeg)
Системные предиктивные подсказки над клавиатурой — отличный способ сокращения количества кликов пользователя при вводе данных. Однако в новой версии 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-сайта: грабли, решения и инсайты
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/xt/23/mv/xt23mv6myeh-ikbygqrq9nlawqu.jpeg)
Системные предиктивные подсказки над клавиатурой — отличный способ сокращения количества кликов пользователя при вводе данных. Однако в новой версии iOS мы с удивлением обнаружили, что подсказки при вводе номера телефона пропали.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• (+19) Swift 5.3: Что нового?
• (+13) Как мы придумали TableAdapter и упростили работу с UITableView
• (+12) SwiftUI по полочкам: Анимация. Часть 1
•
![](https://habrastorage.org/getpro/habr/post_images/976/d3e/38a/976d3e38a34b003f86f91795524af9f8.gif)
• Icon Rewind возвращает iPhone старые иконки
• Вышел джейлбрейк для последней версии iOS
•
![](https://habrastorage.org/getpro/habr/post_images/976/d3e/38a/976d3e38a34b003f86f91795524af9f8.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• (+8) Как мы сделали не blockchain
• (+4) Управление жестами: обработка конфликтов жестов. Часть 3
• Вышла Android Studio 4.0
• Как подружиться с Gradle
• Google создал Soli Sandbox для тестирования радара в Pixel 4
• Как начинающему Android-разработчику прокачать свои навыки: 5 open source проектов для изучения
• Распознавание текста из фото при помощи ML Kit в Android
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• (+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 – это хорошо
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• (+5) Почему в роликах показывают условный интерфейс приложения вместо реального: шесть причин
• (+3) Используем Raw Data в Google Analytics на практике
• Newzoo: 80% игроков едят или пьют во время игр
• GameRefinery: Match-3 игры получили 21% дохода всего рынка
• Руководство: как сделать текстовое ASO быстро и эффективно
• Facebook выпустил звонилку CatchUp
• Как коронавирус повлиял на рынок мобильных игр
• Доступность Google Maps и работа для групп пользователей
• Геймификация бизнес-приложений
• Как начать работать с ASO и что важно учесть
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• (+76) Как живые: наш опыт редактирования старых фотографий
• (+24) Машинное обучение на C#: введение в ML.NET
• (+17) iPhone SE: одноглазый король?
• (+7) IoT в моей жизни. Как создать умный офис, а также отслеживать рост картофеля у себя в квартире благодаря IoT
• make sense: про устройство интернета вещей и его практическое применение
• Рони Абовиц перестанет быть CEO Magic Leap
• Запускается первая русскоязычная онлайн-магистратура по Data Science
• Кейс создания WebVR-сайта: грабли, решения и инсайты
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.