В нашей еженедельной подборке герои Swift-а, поиск неуловимого бага в React Native, лучшие приложения App Store и Google Play 2018 года, первый стабильный Flutter, первый Яндекс.Телефон и многое другое. Подключайтесь!
![](https://habrastorage.org/webt/48/gw/9o/48gw9oq4xufnh392qubn983q3fo.png)
10 октября 2018 года наша команда выпустила новую версию приложения React Native. Мы рады и гордимся этим. Но ужас-то какой: через несколько часов внезапно увеличивается количество сбоев под Android.
Мы расспросили Виктора о том, чем ему помог в IT математический аппарат, как мобильная разработка встраивается в структуру компании, с какими угрозами имеет дело его команда, какие у «Лаборатории Касперского» патенты, почему в мобильной разработке продуктовые релизы делаются по Канбану, как работает ферма автотестирования, — и о массе других технических и мировоззренческих вещей. Предупреждаем: много, много букв по делу.
Этот дайджест доступен в виде еженедельной рассылки . А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
• (+15) The New iOS Mobile Enterprise. Часть #1: Кодогенерация для ресурсов
• (+12) Xcode и продвинутая отладка в LLDB: Часть 2
• (+11) Оффлайн-режим на iOS и особенности его реализации на Realm
• (+11) Swift Heroes 2018. Как это было
• ESET нашла в App Store фитнес-приложения, крадущие деньги
• Apple представляет лучшие приложения за 2018 год
• App Store установил абсолютный рекорд в Черную Пятницу
•
Работаем с видео в iOS: AVFoundation и CoreMedia
•
Жизненный цикл iOS-приложения
•
Управляем важными данными внутри iOS-приложения
•
Делаем сегментацию изображений в iOS-приложении
•
RxSwift и анимация в iOS
•
Создание приложения с расписанием поездов для Apple Watch
•
Сохраняем экран: срикнсейвер для macOS на Swift
•
Функциональное программирование в Swift
•
Дополняем рабочее место в ARKit
Android
• (+39) Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
• (+18) Kodein. Основы
• (+14) 30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году
• (+10) Обзор нововведений Android Design Support Library v28
• (+7) Видео с Android Kolesa Mobile: о модульной разработке, backend driven UI и continuous integration
• (+5) Ktor как HTTP клиент для Android
• Google прекращает поддержку Ice Cream Sandwich
• Лучшие игры и приложения для Android 2018 года
• Пользователи выбрали лучшее приложение и игру для Android 2018
•
Используем SnapKit на Android: Creative Kit SDK от Snapchat
•
Тестирование на Android с JUnit 5
•
Шаблоны и анти-шаблоны корутинов Kotlin
•
Определение объектов с помощью Fritz: создаем приложение для отслеживания животных
•
Основы инъекции зависимостей для начинающих
•
Рисуем путь: рендеринг Android VectorDrawables
•
Как просто сделать анимированный кастомный View
•
Google Play Billing: In-app purchases
•
Как сделать приложение дополненной реальности на ARCore
•
Собирайте ваше Android-приложение быстрее и меньшего размера
•
Regret: библиотека для Отменить/Повторить
•
Klaster: простая работа с адаптерами RecyclerView
Разработка
• (+39) Игровые фичи с помощью ECS: добавляем в шутер аптечки
• (+20) Kotlin, IT в Эстонии и (внезапно) туннель между Таллином и Хельсинки: интервью с Антоном Кексом
• (+20) Расширение редактора Unity через Editor Window, Scriptable Object и Custom Editor
• (+19) Flutter 1.0 — релиз 4 декабря
• (+14) Детальный разбор того, что Google показал на конференции FlutterLive (и что это значит для Dart и мира)
• (+10) Что нового в AppCode 2018.3
• Руководство “Mobile DevOps на практике” от Microsoft
• Podlodka #88: Проектное управление
• Какие баги находят тестировщики?
• Facebook разрешил копировать свои функции
• Джэм Кансу (Duolingo): успешный бизнес на бесплатном образовании
• Онлайн образование для разработчиков игр
• Лучшие игры и приложения для Android 2018 года
• У Microsoft обнаружили Windows Lite
• Nintendo не разрешила встраивать Mario Kart в Tesla
• Radio QA #50: Тренды тестирования
•
Flutter на десктопе – реальная замена Electron
•
Попробуйте писать код без if
•
4 интересные концепции для мобильных уведомлений
•
От работника Subway до продукт-менеджера в Facebook
•
ListView и ScrollPhysics во Flutter
•
Когда ускорение означает замедление: опыт Dropbox
Аналитика, маркетинг и монетизация
• Экономика приложений в 2019: 5 трендов от App Annie
• Показатели удержания для приложений на 2018 год от AppsFlyer
• Mail.Ru Group запускает таргетинг по погоде
•
5 записей, которые расскажут вам о новых пользователях все
•
Как использовать сезонный маркетинг в вашей ASO стратегии
AI, Устройства, IoT
• (+191) Встречаем Яндекс.Телефон — теперь официально
• (+36) Как прогнозировать спрос и автоматизировать закупки с помощью machine learning: кейс Ozon
• (+42) Мониторинг улья и открытый проект
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/48/gw/9o/48gw9oq4xufnh392qubn983q3fo.png)
![]() |
Отладка бага, который не воспроизводится |
![]() |
10 вопросов руководителю мобильной разработки «Лаборатории Касперского»: «Не надо сразу бросаться строить подводную лодку» |
Этот дайджест доступен в виде еженедельной рассылки . А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• (+15) The New iOS Mobile Enterprise. Часть #1: Кодогенерация для ресурсов
• (+12) Xcode и продвинутая отладка в LLDB: Часть 2
• (+11) Оффлайн-режим на iOS и особенности его реализации на Realm
• (+11) Swift Heroes 2018. Как это было
• ESET нашла в App Store фитнес-приложения, крадущие деньги
• Apple представляет лучшие приложения за 2018 год
• App Store установил абсолютный рекорд в Черную Пятницу
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• (+39) Идёт мобильный разработчик по лесу, видит — Котлин горит. Сел в Котлин и сгорел
• (+18) Kodein. Основы
• (+14) 30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году
• (+10) Обзор нововведений Android Design Support Library v28
• (+7) Видео с Android Kolesa Mobile: о модульной разработке, backend driven UI и continuous integration
• (+5) Ktor как HTTP клиент для Android
• Google прекращает поддержку Ice Cream Sandwich
• Лучшие игры и приложения для Android 2018 года
• Пользователи выбрали лучшее приложение и игру для Android 2018
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](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)
• (+39) Игровые фичи с помощью ECS: добавляем в шутер аптечки
• (+20) Kotlin, IT в Эстонии и (внезапно) туннель между Таллином и Хельсинки: интервью с Антоном Кексом
• (+20) Расширение редактора Unity через Editor Window, Scriptable Object и Custom Editor
• (+19) Flutter 1.0 — релиз 4 декабря
• (+14) Детальный разбор того, что Google показал на конференции FlutterLive (и что это значит для Dart и мира)
• (+10) Что нового в AppCode 2018.3
• Руководство “Mobile DevOps на практике” от Microsoft
• Podlodka #88: Проектное управление
• Какие баги находят тестировщики?
• Facebook разрешил копировать свои функции
• Джэм Кансу (Duolingo): успешный бизнес на бесплатном образовании
• Онлайн образование для разработчиков игр
• Лучшие игры и приложения для Android 2018 года
• У Microsoft обнаружили Windows Lite
• Nintendo не разрешила встраивать Mario Kart в Tesla
• Radio QA #50: Тренды тестирования
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• Экономика приложений в 2019: 5 трендов от App Annie
• Показатели удержания для приложений на 2018 год от AppsFlyer
• Mail.Ru Group запускает таргетинг по погоде
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• (+191) Встречаем Яндекс.Телефон — теперь официально
• (+36) Как прогнозировать спрос и автоматизировать закупки с помощью machine learning: кейс Ozon
• (+42) Мониторинг улья и открытый проект
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.