В нашем новом дайджесте аналитика в студии, очередное разочарование в Google Play, структуры данных и разоблачение магии, отчет о мошенничестве и (наконец-то!) DOOM II для iOS и Android.
![](https://habrastorage.org/r/w1560/webt/q6/so/tj/q6sotj4psyuazroiv5cgn6a8kje.png)
Если вы разработчик-одиночка, то выкладывать свои бесплатные приложения сейчас в Гугл плей нет смысла — рано или поздно у вас найдут какие-то нарушения и забанят. В первой я расскажу, как устроен отдел продуктовой аналитики, кем являются его сотрудники, чем они занимаются и почему все именно так, а не иначе.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
•
iOS
• (+43) Со склада в Дагестане — в программисты: как я стал iOS-разработчиком с нуля
• (+21) Чего ждать, если хочешь стать iOS-разработчиком
• (+17) Структуры данных с примерами на языке Swift. Часть первая: связаный список
• (+14) AppCode 2019.2: Swift 5.1, анализ покрытия кода тестами, отображение дизассемблированного кода и другое
• (+8) Знакомство с SwiftUI: Создание простого приложения с использованием TableView
• Apple растет носимыми устройствами и сервисами
•
Обработка естественного языка в Swift
•
UICollectionView с ячейками автоматического размера
•
Вы платите неправильной системе, когда покупаете что-то в iOS
•
Подключаем iOS-приложение к AWS IoT
•
Добавляем Sign in with Apple кнопку в приложение
•
MVC без C: что SwiftUI изменил в архитектуре приложений?
•
SwiftUI: вещи меняются
•
GyroImageView: скроллинг изображения с помощью гироскопа
Android
• (+31) Отображение текста в Android
• (+21) Разоблачаем магию DiffUtil
• (+18) Переключение языка в Android-приложении
• (+10) ViewPager 2 — новая функциональность в старой обертке
• (+7) Темы и стили в Android-приложениях
• (+2) Java vs Kotlin для Android: мнения разработчиков
• Google сделает свой Arcade с приложениями и в два раза дешевле
• Магазин приложений для Android: 5 альтернатив Google Play Store
•
Android MVVM – что делать и что не делать
•
Отображение картинок в Android приложении: поддерживаемо, тестируемо, безболезненно
•
Как Pandao ускоряет процесс обновления приложения на Android
•
Неймспейсинг в Kotlin
•
12 лучших способов уменьшить размер Android-приложения в течение жизненного цикла разработки
•
Dagger в Kotlin: ошибки и оптимизации
•
Охота на ошибку – настоящая история отладки App Bundle
•
Анимированная FAB с дополнительными опциями
•
Лучшие решения с новыми данными Google Play Console
•
Finch: показывает трафик OkHttp
Разработка
• (+41) Тимлид, или Туда и обратно
• (+27) Как диагностировать проблемы интеграции SDK. Опыт команды разработки Yandex Mobile Ads SDK
• (+19) Как распознать картинки и тексты на телефоне с помощью ML Kit
• (+8) Игра AirAttack! — наш первый опыт разработки в VR
• (+7) Разработка игрового интерфейса для различных пропорций экранов
• (+7) Вклад дизайнера в разработку мобильных приложений
• (+6) Работа с навигацией при рефакторинге легаси проекта в React Native
• Ассеты для 2D игр в Humble Bundle
• AppsCast #11: Chaos engineering
• Podlodka #122: Python
• Устройство и применение CI и CD
• Lottiefiles: магазин анимаций
• Разработка игр со скоростью 0.1 игры в час
• Технический долг и как его отдавать
• Представлен единый стандарт дополненной реальности OpenXR
• Teamlead Roadmap: карта навыков и модель развития тимлидов
• Magic Leap выпустила первую игру в рамках Independent Creator Program
• Flutter Dev Podcast #6: Асинхронность
• Meows.app — клиент для Apple Music
• WeChat следит за тобой
• Как мы поменяли этап тестирования в разработке приложений
•
Сказка о гениальном программисте
•
30 вещей, которые я хотел бы знать в начале занятия программированием
•
Можно ли учить программирование на телефоне?
•
Продвижение музейных активностей – исследование UX
•
gRPC и как оно может сэкономить время на разработку
•
Способы разработки переключателей учетных записей и переключателей приложений
•
Разработчики больше, чем обезьянки
•
Создаем свой Google Firebase + Heroku на Kubernetes за $30 с помощью Space Cloud
•
Вышел Unity 2019.2
•
Ionic не единственный фреймворк, чтобы рулить всем
•
Rozental As A Service: поиск опечаток в исходниках
Аналитика, маркетинг и монетизация
• (+18) Американские смартфонофермеры в 2019 году ощутили значительный спад доходов из-за новых механизмов борьбы с ними
• (+9) Подходы к сегментации мобильных игроков
• (+9) Мобильное юзабилити в e-Commerce: анализ ТОП-20 интернет-магазинов России
• (+3) Статистика на службе у бизнеса. Методология расчёта множественных экспериментов
• DOOM и DOOM II вышли на iOS и Android
• Самые скачиваемые в мире китайские приложения
• Muzmatch: дейтинг для мусульман
• Google запустил рекламу приложений в Discover
• Lightricks стал единорогом
• Отчет о мошенничестве в мобильных сетях за 2019 год
• Опыт продвижения игры на PornHub: CPC $0.018 и 0 установок
• Персонализация: 3 стратегии, которые гарантируют успех вашего приложения
• Топ стран по загрузкам во 2 квартале 2019
• Ваша игра может стать лучше: Как найти проблемы и точки роста
•
Запуск вашего инди приложения
•
Улучшите свои ассеты в магазине приложений и работу с ним с помощью этих инструментов
AI, Устройства, IoT
• (+35) Визуализация новостей рунета
• (+22) Как мы внедрили ML в приложение с почти 50 миллионами пользователей. Опыт Сбера
• (+5) Чайник и голосовые ассистенты. Начало большой дружбы
• (+5) Идентификация устройств IoT с точки зрения разработчика
• ByteDance делает собственный смартфон
•
Собственное табло ожидания на Raspberry Pi
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/q6/so/tj/q6sotj4psyuazroiv5cgn6a8kje.png)
Если вы разработчик-одиночка, то выкладывать свои бесплатные приложения сейчас в Гугл плей нет смысла — рано или поздно у вас найдут какие-то нарушения и забанят. В первой я расскажу, как устроен отдел продуктовой аналитики, кем являются его сотрудники, чем они занимаются и почему все именно так, а не иначе.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
•
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• (+43) Со склада в Дагестане — в программисты: как я стал iOS-разработчиком с нуля
• (+21) Чего ждать, если хочешь стать iOS-разработчиком
• (+17) Структуры данных с примерами на языке Swift. Часть первая: связаный список
• (+14) AppCode 2019.2: Swift 5.1, анализ покрытия кода тестами, отображение дизассемблированного кода и другое
• (+8) Знакомство с SwiftUI: Создание простого приложения с использованием TableView
• Apple растет носимыми устройствами и сервисами
•
![](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)
• (+31) Отображение текста в Android
• (+21) Разоблачаем магию DiffUtil
• (+18) Переключение языка в Android-приложении
• (+10) ViewPager 2 — новая функциональность в старой обертке
• (+7) Темы и стили в Android-приложениях
• (+2) Java vs Kotlin для Android: мнения разработчиков
• Google сделает свой Arcade с приложениями и в два раза дешевле
• Магазин приложений для Android: 5 альтернатив Google Play Store
•
![](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/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• (+41) Тимлид, или Туда и обратно
• (+27) Как диагностировать проблемы интеграции SDK. Опыт команды разработки Yandex Mobile Ads SDK
• (+19) Как распознать картинки и тексты на телефоне с помощью ML Kit
• (+8) Игра AirAttack! — наш первый опыт разработки в VR
• (+7) Разработка игрового интерфейса для различных пропорций экранов
• (+7) Вклад дизайнера в разработку мобильных приложений
• (+6) Работа с навигацией при рефакторинге легаси проекта в React Native
• Ассеты для 2D игр в Humble Bundle
• AppsCast #11: Chaos engineering
• Podlodka #122: Python
• Устройство и применение CI и CD
• Lottiefiles: магазин анимаций
• Разработка игр со скоростью 0.1 игры в час
• Технический долг и как его отдавать
• Представлен единый стандарт дополненной реальности OpenXR
• Teamlead Roadmap: карта навыков и модель развития тимлидов
• Magic Leap выпустила первую игру в рамках Independent Creator Program
• Flutter Dev Podcast #6: Асинхронность
• Meows.app — клиент для Apple Music
• WeChat следит за тобой
• Как мы поменяли этап тестирования в разработке приложений
•
![](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)
• (+18) Американские смартфонофермеры в 2019 году ощутили значительный спад доходов из-за новых механизмов борьбы с ними
• (+9) Подходы к сегментации мобильных игроков
• (+9) Мобильное юзабилити в e-Commerce: анализ ТОП-20 интернет-магазинов России
• (+3) Статистика на службе у бизнеса. Методология расчёта множественных экспериментов
• DOOM и DOOM II вышли на iOS и Android
• Самые скачиваемые в мире китайские приложения
• Muzmatch: дейтинг для мусульман
• Google запустил рекламу приложений в Discover
• Lightricks стал единорогом
• Отчет о мошенничестве в мобильных сетях за 2019 год
• Опыт продвижения игры на PornHub: CPC $0.018 и 0 установок
• Персонализация: 3 стратегии, которые гарантируют успех вашего приложения
• Топ стран по загрузкам во 2 квартале 2019
• Ваша игра может стать лучше: Как найти проблемы и точки роста
•
![](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/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• (+35) Визуализация новостей рунета
• (+22) Как мы внедрили ML в приложение с почти 50 миллионами пользователей. Опыт Сбера
• (+5) Чайник и голосовые ассистенты. Начало большой дружбы
• (+5) Идентификация устройств IoT с точки зрения разработчика
• ByteDance делает собственный смартфон
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.