Понадобилось немногим более 6 лет на выпуск 300 дайджестов. Всем привет, меня зовут Леонид, и это я делаю эти статьи.
![](https://habrastorage.org/r/w780q1/webt/lh/-_/ql/lh-_qlotvtpitow4fsgwia-mmpy.jpeg)
За это время я пережил несколько смен работы, переезд, открытие собственного проекта и десятка сайтов, выпуск нескольких десятков приложений, проведение множества конференций и митапов, больше 100 выпусков подкаста, бан дайджеста от Хабра и многое-многое другое. Но каждый раз я старался делиться происходящим и делать разработку (которая тоже разительно изменилась) немного лучше и понятнее. Если хотите, можете поощрить меня через стандартные механизмы (ссылка внизу под профилем), но больше интересно, что изменилось у вас? В каком направлении движетесь вы? Как можно сделать дайджест лучше в следующие 6 лет? Давайте обсудим в комментариях :)
Мы собираем сотни метрик и умеем детализировать их до бизнес-разрезов: вертикали, регионы, авторизованные пользователи и т. д. Мы делаем это автоматизированно с помощью единой платформы для экспериментов. В статье я достаточно подробно расскажу, как платформа устроена и мы с вами погрузимся в некоторые интересные технические детали. В прошлой статье я рассказывал о том, как можно быстро сделать Web-звонилку. А что если поставить более амбициозную задачу — собрать своё собственное приложение с картой, без рекламы и с блэк-джеком? А если всего за пару дней?
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
• (+21) Заголовок будет другой
• (+15) Руководство по Apple Subscriptions Notifications для iOS. Так ли они хороши на самом деле?
• (+11) Бесконечный UIScrollView
• (+10) Общее представление об архитектуре Clean Swift
• (+9) Руководство по вводным предложениям (Introductory Offers) в iOS
• (+8) Интервью — 10 вопросов про Swift. Часть 3
• (+6) Router и Data Passing архитектуры Clean Swift
• На iOS без Wi-Fi теперь можно загружать до 200 Мб
• Приложения для iPhone рассылают данные тысячам трекеров
• Восемь студентов из России, которых Apple пригласила на WWDC
•
RxSwift: обработка ошибок с CompactMap
•
Как Apple постоянно подставляет разработчиков и не следует собственным же правилам
•
Делаем кастомный View с UIKit
•
Геолокационные уведомления в iOS
•
Используем VSCode как редактор для Swift-компилятора
•
Выживаем в RxSwift
•
Предотвращаем Man-in-the-Middle атаки в iOS с помощью SSL Pinning
•
Упрощаем коммуникационные шаблоны с Closure в Swift
•
Решение неоднозначных ограничений без перезапуска приложения
•
App Store – принципы и практики
Android
• (+16) Темы, стили и другие
• (+15) Как сделать два приложения из одного. Опыт Тинькофф Джуниор
• (+9) Используем Firebase в качестве хранилища изображений для Android-приложения
•
Android Dev Podcast #95. Mobius 2019 Spb
• Google ужесточает политики в отношении лутбоксов и детских приложений
• Mobile People Talks #5: Android Q по следам Google I/O 19
•
Как внедрить Чистую Архитектуру в Android
•
Исследуем интеграцию корутинов Kotlin и Lifecycle Architectural Components
•
Библиотека Edittext Picker
•
StateListAnimator — маленький мощный инструмент для анимации
•
Простой способ работать с корутинами Kotlin в Android
•
Верификация Google Play IAP с помощью Cloud Functions
•
Как мы в Revolut внедрили 3D карты
•
GoodReads API в Android с Kotlin
•
Activity/Service как Зависимости: переосмысливаем архитектуру Android для приложения Uber
•
Создаем приложение для определения объектов с Firebase ML Kit
Разработка
• (+12) Документация по API Xamarin теперь в открытом доступе
• (+10) Разновидности координат используемые в GUI Unity3d
• (+6) Архитектура конечных автоматов в Unity для организации поведений юнитов
• Podlodka #113: Релиз-менеджмент
• Как оставаться в физической и ментальной форме, продолжая программировать
• nWay открывает свой игровой бэкенд
• Одноклассники и ВКонтакте запустили конкурс мобильных игр с призами на 1,4 млн рублей
• Про Game Jams
•
Топ-10 мобильных уязвимостей OWASP с реальными примерами
•
Создание побочных проектов это круто или как мы несли искусство в народ
•
Runway: исследование UX
•
Park It: исследование UX
•
Видео Unreal Fest Europe 2019
•
Быстрое и медленное программирование: разработчики и эффект сверхуверенности
•
Как НЕ получить счет на $30,000 от Firebase
•
Начинаем карьеру в видео-играх – онлайновый обучающий курс
Аналитика, маркетинг и монетизация
• App Radar запустил бесплатный план для ASO
• Subway Surfers: 2.5 млрд установок
• FreshToHome: индийский маркетплейс рыбы
• Вторая редакция книги “Intercom про Onboarding”
• Создатели Pokemon Go анонсировали приложение для здорового сна
• Livekick: тренировки по видео
• Customer Development и Кастдев. В чем разница?
• Обзор рынка онлайн-знакомств: сколько зарабатывают приложения и какие бизнес-модели используют
•
Вы все считаете отток пользователей неправильно
AI, Устройства, IoT
• (+88) Нейронные сети предпочитают текстуры и как с этим бороться
• (+32) Введение в машинное обучение
• (+26) Сенсорный мини выключатель cо стеклянной панелью на nRF52832
• (+8) Трекинг украденного велосипеда по протоколу NB-IoT
• TikTok хочет выпустить свой смартфон
← Предыдущий дайджест. А вот тут первый выпуск дайджеста.
![](https://habrastorage.org/webt/lh/-_/ql/lh-_qlotvtpitow4fsgwia-mmpy.jpeg)
За это время я пережил несколько смен работы, переезд, открытие собственного проекта и десятка сайтов, выпуск нескольких десятков приложений, проведение множества конференций и митапов, больше 100 выпусков подкаста, бан дайджеста от Хабра и многое-многое другое. Но каждый раз я старался делиться происходящим и делать разработку (которая тоже разительно изменилась) немного лучше и понятнее. Если хотите, можете поощрить меня через стандартные механизмы (ссылка внизу под профилем), но больше интересно, что изменилось у вас? В каком направлении движетесь вы? Как можно сделать дайджест лучше в следующие 6 лет? Давайте обсудим в комментариях :)
Мы собираем сотни метрик и умеем детализировать их до бизнес-разрезов: вертикали, регионы, авторизованные пользователи и т. д. Мы делаем это автоматизированно с помощью единой платформы для экспериментов. В статье я достаточно подробно расскажу, как платформа устроена и мы с вами погрузимся в некоторые интересные технические детали. В прошлой статье я рассказывал о том, как можно быстро сделать Web-звонилку. А что если поставить более амбициозную задачу — собрать своё собственное приложение с картой, без рекламы и с блэк-джеком? А если всего за пару дней?
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• (+21) Заголовок будет другой
• (+15) Руководство по Apple Subscriptions Notifications для iOS. Так ли они хороши на самом деле?
• (+11) Бесконечный UIScrollView
• (+10) Общее представление об архитектуре Clean Swift
• (+9) Руководство по вводным предложениям (Introductory Offers) в iOS
• (+8) Интервью — 10 вопросов про Swift. Часть 3
• (+6) Router и Data Passing архитектуры Clean Swift
• На iOS без Wi-Fi теперь можно загружать до 200 Мб
• Приложения для iPhone рассылают данные тысячам трекеров
• Восемь студентов из России, которых Apple пригласила на WWDC
•
![](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/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• (+16) Темы, стили и другие
• (+15) Как сделать два приложения из одного. Опыт Тинькофф Джуниор
• (+9) Используем Firebase в качестве хранилища изображений для Android-приложения
•
![](https://habrastorage.org/getpro/habr/post_images/686/1c1/045/6861c1045bee84154ebf29f5cc1fb355.png)
• Google ужесточает политики в отношении лутбоксов и детских приложений
• Mobile People Talks #5: Android Q по следам Google I/O 19
•
![](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/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• (+12) Документация по API Xamarin теперь в открытом доступе
• (+10) Разновидности координат используемые в GUI Unity3d
• (+6) Архитектура конечных автоматов в Unity для организации поведений юнитов
• Podlodka #113: Релиз-менеджмент
• Как оставаться в физической и ментальной форме, продолжая программировать
• nWay открывает свой игровой бэкенд
• Одноклассники и ВКонтакте запустили конкурс мобильных игр с призами на 1,4 млн рублей
• Про Game Jams
•
![](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)
• App Radar запустил бесплатный план для ASO
• Subway Surfers: 2.5 млрд установок
• FreshToHome: индийский маркетплейс рыбы
• Вторая редакция книги “Intercom про Onboarding”
• Создатели Pokemon Go анонсировали приложение для здорового сна
• Livekick: тренировки по видео
• Customer Development и Кастдев. В чем разница?
• Обзор рынка онлайн-знакомств: сколько зарабатывают приложения и какие бизнес-модели используют
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• (+88) Нейронные сети предпочитают текстуры и как с этим бороться
• (+32) Введение в машинное обучение
• (+26) Сенсорный мини выключатель cо стеклянной панелью на nRF52832
• (+8) Трекинг украденного велосипеда по протоколу NB-IoT
• TikTok хочет выпустить свой смартфон
← Предыдущий дайджест. А вот тут первый выпуск дайджеста.