В новом дайджесте навыки iOS-разработчиков, тестирование пушей в эмуляторе, распознавание объектов и текстов, четыре года разработки и идеи больших хитов, разочарование во Flutter и исследования монетизации.
![](https://habrastorage.org/r/w1560/webt/4b/sd/zp/4bsdzpnrv6nnxifyj8n5dczin4s.png)
Мобильные разработчики избегают insets, они вызывают у них страх. Но в Android Q обойти insets не удастся — придется их изучить и применять. На самом деле, в insets нет ничего сложного: они показывают, какие элементы экрана пересекаются с системным интерфейсом, и подсказывают, как переместить элемент, чтобы он не конфликтовал с системным UI.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
• (+8) Какие навыки нужны для создания iOS-приложения? Доклад Яндекса
• (+7) Swift 5.2 — что нового?
• (+4) Сканирование документов и распознавание текстов на них (с помощью VisionKit и Vision Framework, iOS)
• (+4) Перевести речь в текст на iOS используя Speech framework
• Swift Playgrounds вышел на Mac
•
Как тестировать пуш-уведомления в iOS-эмуляторе
•
Создание Haptic отклика в iOS 13 с помощью Core Haptics
•
Как создать панель навигации с градиентом в Swift 5 и iOS 13
•
Первый взгляд: встроенные покупки на watchOS
•
Начинаем работу с SwiftUI и Combine с использованием MVVM и Protocols
•
Создаем цветовой эффект Spotify для iOS-приложения
•
Лучшие практики использования Optionals в Swift
•
Жизненный цикл при закрытии модального View с .pageSheet в iOS 13
•
Видео BA: Swiftable 2019
•
Connection: поиск кратчайшего пути в графе
•
ChartView: красивые графики для iOS
Android
• (+16) Android insets: разбираемся со страхами и готовимся к Android Q
• (+12) Распознавание объектов на Android с помощью TensorFlow: от подготовки данных до запуска на устройстве
• (+12) Поднимаем CI на github для Android за день
• (+9) Как собрать нативную библиотеку для Android
• (+8) Koin – это Dependency Injection или Service Locator?
• (+6) Android Remote Debugger — удаленная отладка Android приложений
• (+1) Использование механизмов криптографических токенов PKCS#11 на платформе Android
•
В Android 11 появится функция App Compatibility для упрощения тестирования
•
Работа с динамическими данными в MotionLayout
•
Как мы боролись с плохими приложениями и вредоносными разработчиками в 2019 году
•
Как заблюрить изображение на Android
•
Использование LiveData с Room в Android
•
Как ViewModels работают в Android
•
Использование Dagger в мультимодульных приложениях
•
Android Fragments: FragmentFactory
•
Создание клона WhatsApp для Android на Kotlin
•
Android Framer: скриншоты для Google Play
Разработка
• (+110) Как я забросил игру спустя четыре года разработки
• (+24) Пять важных уроков о балансе в играх
• (+18) Идеальные карты нормалей для Unity (и других программ)
• (+13) Создание Minecraft за одну неделю на C++ и Vulkan
• (+8) Автоматизация тестирования при создании игр
• (+5) Почем Appium для народа
• (+1) Сколько свободы нужно пользователю умной духовки. Как сильная команда может проверить гипотезы за две недели вместо трех
• От стартапа до гиганта. Как масштабировать разработку
• Podlodka #150: Эволюция языков программирования
• Как мы масштабировали AI Dungeon 2 для игры 1 миллиона человек
• GitHub запускает отделение в Индии
• Microsoft выпустила эмулятор Windows 10X
• Будьте проще: как найти идею следующего Большого Хита
• Лучшие инструменты локализации мобильных приложений
• Почему 36% – волшебное число: Поиск подходящего количества текста в мобильных приложениях
• 7 принципов дизайна иконок. На что нужно обращать внимание при создании иконок
• Vokruge: мобильный справочник-навигатор для небольших городов
•
Список интересных проектов, которые вы можете создать как разработчик
•
Мое первое разочарование во Flutter
•
Тренды разработки ПО 2020
•
Делаем калькулятор на Flutter
•
Обзор React Native Starter Kit 2020
•
Планирование поездки может быть сложным… поэтому мы переосмыслили процесс
•
Уроки, которые я извлек из создания своего первого большого приложения
•
Прототипирование мобильного UI/UX в реальном времени с помощью Figma Mirror
•
4 малоизвестных совета для улучшения UX в приложениях React Native
•
Интервью с Санетт Танака Слоан, UX-дизайнером в Google News
•
Как рефакторить Flutter приложение
•
Инъекции зависимостей и их виды
•
SlidingTutorial: онбординг на Flutter
Аналитика, маркетинг и монетизация
• (+8) Мое исследование: «Для чего играют в соревновательные онлайн-игры?»
• (+3) Кейс Full HP: как получить фичеринг от Google Play и адаптировать ASO под разные страны
• Годовой отчет Liftoff о трендах мобильной рекламы и приобретения пользователей
• Исследование монетизации 2020 от AdColony
• make sense: Как предпринимателю найти идею для стартапа, растить бизнес и развиваться самому
• Huawei создал приложение удалённого управления лифтом для защиты от вирусов
• Pokemon Home появился на iOS и Android
• Доход Supercell снова снизился
• Upland Software покупает Localytics
• New.HR Podcast: Профессия: Игровой Аналитик
• Является ли DAU важной метрикой?
• В IronSource запустили игровую студию
• ASOdesk привлек $1 млн. от акселератора Embria
• Byju’s: индийское образование на $8 млрд.
• 2+2. Как выпускницы мехмата сделали учебное приложение для детей и покорили азиатский рынок
• Digital тренды 2020: увеличение трафика, усиление mobile, отчет SimilarWeb
•
Эффект от улучшения рейтинга приложений. Что дальше?
AI, Устройства, IoT
• (+32) Мой бот для Russian AI Cup 2019
• (+20) IoT шлюз Ethernet-RS485 на базе STM32
• (+16) Как энергетик изучал нейросети и обзор бесплатного курса «Udacity: Intro to TensorFlow for Deep Learning»
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/4b/sd/zp/4bsdzpnrv6nnxifyj8n5dczin4s.png)
Мобильные разработчики избегают insets, они вызывают у них страх. Но в Android Q обойти insets не удастся — придется их изучить и применять. На самом деле, в insets нет ничего сложного: они показывают, какие элементы экрана пересекаются с системным интерфейсом, и подсказывают, как переместить элемент, чтобы он не конфликтовал с системным UI.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• (+8) Какие навыки нужны для создания iOS-приложения? Доклад Яндекса
• (+7) Swift 5.2 — что нового?
• (+4) Сканирование документов и распознавание текстов на них (с помощью VisionKit и Vision Framework, iOS)
• (+4) Перевести речь в текст на iOS используя Speech framework
• Swift Playgrounds вышел на Mac
•
![](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/976/d3e/38a/976d3e38a34b003f86f91795524af9f8.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/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• (+16) Android insets: разбираемся со страхами и готовимся к Android Q
• (+12) Распознавание объектов на Android с помощью TensorFlow: от подготовки данных до запуска на устройстве
• (+12) Поднимаем CI на github для Android за день
• (+9) Как собрать нативную библиотеку для Android
• (+8) Koin – это Dependency Injection или Service Locator?
• (+6) Android Remote Debugger — удаленная отладка Android приложений
• (+1) Использование механизмов криптографических токенов PKCS#11 на платформе 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/getpro/habr/post_images/976/d3e/38a/976d3e38a34b003f86f91795524af9f8.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• (+110) Как я забросил игру спустя четыре года разработки
• (+24) Пять важных уроков о балансе в играх
• (+18) Идеальные карты нормалей для Unity (и других программ)
• (+13) Создание Minecraft за одну неделю на C++ и Vulkan
• (+8) Автоматизация тестирования при создании игр
• (+5) Почем Appium для народа
• (+1) Сколько свободы нужно пользователю умной духовки. Как сильная команда может проверить гипотезы за две недели вместо трех
• От стартапа до гиганта. Как масштабировать разработку
• Podlodka #150: Эволюция языков программирования
• Как мы масштабировали AI Dungeon 2 для игры 1 миллиона человек
• GitHub запускает отделение в Индии
• Microsoft выпустила эмулятор Windows 10X
• Будьте проще: как найти идею следующего Большого Хита
• Лучшие инструменты локализации мобильных приложений
• Почему 36% – волшебное число: Поиск подходящего количества текста в мобильных приложениях
• 7 принципов дизайна иконок. На что нужно обращать внимание при создании иконок
• Vokruge: мобильный справочник-навигатор для небольших городов
•
![](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/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• (+8) Мое исследование: «Для чего играют в соревновательные онлайн-игры?»
• (+3) Кейс Full HP: как получить фичеринг от Google Play и адаптировать ASO под разные страны
• Годовой отчет Liftoff о трендах мобильной рекламы и приобретения пользователей
• Исследование монетизации 2020 от AdColony
• make sense: Как предпринимателю найти идею для стартапа, растить бизнес и развиваться самому
• Huawei создал приложение удалённого управления лифтом для защиты от вирусов
• Pokemon Home появился на iOS и Android
• Доход Supercell снова снизился
• Upland Software покупает Localytics
• New.HR Podcast: Профессия: Игровой Аналитик
• Является ли DAU важной метрикой?
• В IronSource запустили игровую студию
• ASOdesk привлек $1 млн. от акселератора Embria
• Byju’s: индийское образование на $8 млрд.
• 2+2. Как выпускницы мехмата сделали учебное приложение для детей и покорили азиатский рынок
• Digital тренды 2020: увеличение трафика, усиление mobile, отчет SimilarWeb
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• (+32) Мой бот для Russian AI Cup 2019
• (+20) IoT шлюз Ethernet-RS485 на базе STM32
• (+16) Как энергетик изучал нейросети и обзор бесплатного курса «Udacity: Intro to TensorFlow for Deep Learning»
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.