Дайджест интересных материалов для мобильного разработчика #309 (29 июля — 4 августа)

В нашем новом дайджесте аналитика в студии, очередное разочарование в Google Play, структуры данных и разоблачение магии, отчет о мошенничестве и (наконец-то!) DOOM II для iOS и Android.

q6sotj4psyuazroiv5cgn6a8kje.png

Если вы разработчик-одиночка, то выкладывать свои бесплатные приложения сейчас в Гугл плей нет смысла — рано или поздно у вас найдут какие-то нарушения и забанят. В первой я расскажу, как устроен отдел продуктовой аналитики, кем являются его сотрудники, чем они занимаются и почему все именно так, а не иначе.

Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в 5ek7bfhjzilma-pbharuioaa7lw.pngTelegram-канале.

f1930ac4945596eb9707bc7a01bc5bdc.pngiOS

(+43) Со склада в Дагестане — в программисты: как я стал iOS-разработчиком с нуля
(+21) Чего ждать, если хочешь стать iOS-разработчиком
(+17) Структуры данных с примерами на языке Swift. Часть первая: связаный список
(+14) AppCode 2019.2: Swift 5.1, анализ покрытия кода тестами, отображение дизассемблированного кода и другое
(+8) Знакомство с SwiftUI: Создание простого приложения с использованием TableView
• Apple растет носимыми устройствами и сервисами
377ae0333d0f4b7b97307c9eea5ee21a.gifОбработка естественного языка в Swift
377ae0333d0f4b7b97307c9eea5ee21a.gifUICollectionView с ячейками автоматического размера
377ae0333d0f4b7b97307c9eea5ee21a.gifВы платите неправильной системе, когда покупаете что-то в iOS
377ae0333d0f4b7b97307c9eea5ee21a.gifПодключаем iOS-приложение к AWS IoT
377ae0333d0f4b7b97307c9eea5ee21a.gifДобавляем Sign in with Apple кнопку в приложение
377ae0333d0f4b7b97307c9eea5ee21a.gifMVC без C: что SwiftUI изменил в архитектуре приложений?
377ae0333d0f4b7b97307c9eea5ee21a.gifSwiftUI: вещи меняются
96716bcb926741e79bb1c284a88083ca.pngGyroImageView: скроллинг изображения с помощью гироскопа

e1a3cf2a8b65a0da69bbdd5c0ad040fe.pngAndroid

(+31) Отображение текста в Android
(+21) Разоблачаем магию DiffUtil
(+18) Переключение языка в Android-приложении
(+10) ViewPager 2 — новая функциональность в старой обертке
(+7) Темы и стили в Android-приложениях
(+2) Java vs Kotlin для Android: мнения разработчиков
• Google сделает свой Arcade с приложениями и в два раза дешевле
• Магазин приложений для Android: 5 альтернатив Google Play Store
377ae0333d0f4b7b97307c9eea5ee21a.gifAndroid MVVM — что делать и что не делать
377ae0333d0f4b7b97307c9eea5ee21a.gifОтображение картинок в Android приложении: поддерживаемо, тестируемо, безболезненно
377ae0333d0f4b7b97307c9eea5ee21a.gifКак Pandao ускоряет процесс обновления приложения на Android
377ae0333d0f4b7b97307c9eea5ee21a.gifНеймспейсинг в Kotlin
377ae0333d0f4b7b97307c9eea5ee21a.gif12 лучших способов уменьшить размер Android-приложения в течение жизненного цикла разработки
377ae0333d0f4b7b97307c9eea5ee21a.gifDagger в Kotlin:  ошибки и оптимизации
377ae0333d0f4b7b97307c9eea5ee21a.gifОхота на ошибку — настоящая история отладки App Bundle
377ae0333d0f4b7b97307c9eea5ee21a.gifАнимированная FAB с дополнительными опциями
377ae0333d0f4b7b97307c9eea5ee21a.gifЛучшие решения с новыми данными Google Play Console
96716bcb926741e79bb1c284a88083ca.pngFinch: показывает трафик OkHttp

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 следит за тобой
• Как мы поменяли этап тестирования в разработке приложений
377ae0333d0f4b7b97307c9eea5ee21a.gifСказка о гениальном программисте
377ae0333d0f4b7b97307c9eea5ee21a.gif30 вещей, которые я хотел бы знать в начале занятия программированием
377ae0333d0f4b7b97307c9eea5ee21a.gifМожно ли учить программирование на телефоне?
377ae0333d0f4b7b97307c9eea5ee21a.gifПродвижение музейных активностей — исследование UX
377ae0333d0f4b7b97307c9eea5ee21a.gifgRPC и как оно может сэкономить время на разработку
377ae0333d0f4b7b97307c9eea5ee21a.gifСпособы разработки переключателей учетных записей и переключателей приложений
377ae0333d0f4b7b97307c9eea5ee21a.gifРазработчики больше, чем обезьянки
377ae0333d0f4b7b97307c9eea5ee21a.gifСоздаем свой Google Firebase + Heroku на Kubernetes за $30 с помощью Space Cloud
377ae0333d0f4b7b97307c9eea5ee21a.gifВышел Unity 2019.2
377ae0333d0f4b7b97307c9eea5ee21a.gifIonic не единственный фреймворк, чтобы рулить всем
96716bcb926741e79bb1c284a88083ca.pngRozental As A Service: поиск опечаток в исходниках

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
• Ваша игра может стать лучше: Как найти проблемы и точки роста
377ae0333d0f4b7b97307c9eea5ee21a.gifЗапуск вашего инди приложения
377ae0333d0f4b7b97307c9eea5ee21a.gifУлучшите свои ассеты в магазине приложений и работу с ним с помощью этих инструментов

8538129f5e7b404a720121cb9c3814db.jpgAI, Устройства, IoT

(+35) Визуализация новостей рунета
(+22) Как мы внедрили ML в приложение с почти 50 миллионами пользователей. Опыт Сбера
(+5) Чайник и голосовые ассистенты. Начало большой дружбы
(+5) Идентификация устройств IoT с точки зрения разработчика
• ByteDance делает собственный смартфон
377ae0333d0f4b7b97307c9eea5ee21a.gifСобственное табло ожидания на Raspberry Pi

← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

© Habrahabr.ru