- PVSM.RU - https://www.pvsm.ru -

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

Понадобилось немногим более 6 лет на выпуск 300 дайджестов. Всем привет, меня зовут Леонид, и это я делаю эти статьи.

Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 1

За это время я пережил несколько смен работы, переезд, открытие собственного проекта и десятка сайтов, выпуск нескольких десятков приложений, проведение множества конференций и митапов, больше 100 выпусков подкаста, бан дайджеста от Хабра и многое-многое другое. Но каждый раз я старался делиться происходящим и делать разработку (которая тоже разительно изменилась) немного лучше и понятнее. Если хотите, можете поощрить меня через стандартные механизмы (ссылка внизу под профилем), но больше интересно, что изменилось у вас? В каком направлении движетесь вы? Как можно сделать дайджест лучше в следующие 6 лет? Давайте обсудим в комментариях :)

Мы собираем сотни метрик и умеем детализировать их до бизнес-разрезов: вертикали, регионы, авторизованные пользователи и т. д. Мы делаем это автоматизированно с помощью единой платформы для экспериментов. В статье я достаточно подробно расскажу, как платформа устроена и мы с вами погрузимся в некоторые интересные технические детали.

В прошлой статье я рассказывал о том, как можно быстро сделать Web-звонилку. А что если поставить более амбициозную задачу — собрать своё собственное приложение с картой, без рекламы и с блэк-джеком? А если всего за пару дней?

Этот дайджест доступен в виде еженедельной рассылки [3]. А ежедневно новости мы рассылаем в Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 4Telegram-канале [4].

Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 5 iOS

(+21) Заголовок будет другой [5]
(+15) Руководство по Apple Subscriptions Notifications для iOS. Так ли они хороши на самом деле? [6]
(+11) Бесконечный UIScrollView [7]
(+10) Общее представление об архитектуре Clean Swift [8]
(+9) Руководство по вводным предложениям (Introductory Offers) в iOS [9]
(+8) Интервью — 10 вопросов про Swift. Часть 3 [10]
(+6) Router и Data Passing архитектуры Clean Swift [11]
На iOS без Wi-Fi теперь можно загружать до 200 Мб [12]
Приложения для iPhone рассылают данные тысячам трекеров [13]
Восемь студентов из России, которых Apple пригласила на WWDC [14]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 6 RxSwift: обработка ошибок с CompactMap [15]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 7 Как Apple постоянно подставляет разработчиков и не следует собственным же правилам [16]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 8 Делаем кастомный View с UIKit [17]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 9 Геолокационные уведомления в iOS [18]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 10 Используем VSCode как редактор для Swift-компилятора [19]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 11 Выживаем в RxSwift [20]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 12 Предотвращаем Man-in-the-Middle атаки в iOS с помощью SSL Pinning [21]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 13 Упрощаем коммуникационные шаблоны с Closure в Swift  [22]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 14 Решение неоднозначных ограничений без перезапуска приложения [23]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 15 App Store – принципы и практики [24]

Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 16 Android

(+16) Темы, стили и другие [25]
(+15) Как сделать два приложения из одного. Опыт Тинькофф Джуниор [26]
(+9) Используем Firebase в качестве хранилища изображений для Android-приложения [27]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 17 Android Dev Podcast #95. Mobius 2019 Spb [28]
Google ужесточает политики в отношении лутбоксов и детских приложений [29]
Mobile People Talks #5: Android Q по следам Google I/O 19 [30]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 18 Как внедрить Чистую Архитектуру в Android [31]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 19 Исследуем интеграцию корутинов Kotlin и Lifecycle Architectural Components [32]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 20 Библиотека Edittext Picker [33]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 21 StateListAnimator — маленький мощный инструмент для анимации [34]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 22 Простой способ работать с корутинами Kotlin в Android [35]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 23 Верификация Google Play IAP с помощью Cloud Functions [36]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 24 Как мы в Revolut внедрили 3D карты [37]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 25 GoodReads API в Android с Kotlin [38]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 26 Activity/Service как Зависимости: переосмысливаем архитектуру Android для приложения Uber [39]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 27 Создаем приложение для определения объектов с Firebase ML Kit [40]

Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 28 Разработка

(+12) Документация по API Xamarin теперь в открытом доступе [41]
(+10) Разновидности координат используемые в GUI Unity3d [42]
(+6) Архитектура конечных автоматов в Unity для организации поведений юнитов [43]
Podlodka #113: Релиз-менеджмент [44]
Как оставаться в физической и ментальной форме, продолжая программировать [45]
nWay открывает свой игровой бэкенд [46]
Одноклассники и ВКонтакте запустили конкурс мобильных игр с призами на 1,4 млн рублей [47]
Про Game Jams [48]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 29 Топ-10 мобильных уязвимостей OWASP с реальными примерами [49]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 30 Создание побочных проектов это круто или как мы несли искусство в народ [50]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 31 Runway: исследование UX [51]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 32 Park It: исследование UX [52]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 33 Видео Unreal Fest Europe 2019 [53]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 34 Быстрое и медленное программирование: разработчики и эффект сверхуверенности [54]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 35 Как НЕ получить счет на $30,000 от Firebase [55]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 36 Начинаем карьеру в видео-играх – онлайновый обучающий курс [56]

Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 37 Аналитика, маркетинг и монетизация

App Radar запустил бесплатный план для ASO [57]
Subway Surfers: 2.5 млрд установок [58]
FreshToHome: индийский маркетплейс рыбы [59]
Вторая редакция книги “Intercom про Onboarding” [60]
Создатели Pokemon Go анонсировали приложение для здорового сна [61]
Livekick: тренировки по видео [62]
Customer Development и Кастдев. В чем разница? [63]
Обзор рынка онлайн-знакомств: сколько зарабатывают приложения и какие бизнес-модели используют [64]
Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 38 Вы все считаете отток пользователей неправильно [65]

Дайджест интересных материалов для мобильного разработчика #300 (27 мая — 2 июня) - 39 AI, Устройства, IoT

(+88) Нейронные сети предпочитают текстуры и как с этим бороться [66]
(+32) Введение в машинное обучение [67]
(+26) Сенсорный мини выключатель cо стеклянной панелью на nRF52832 [68]
(+8) Трекинг украденного велосипеда по протоколу NB-IoT [69]
TikTok хочет выпустить свой смартфон [70]

Предыдущий дайджест [71]. А вот тут первый выпуск дайджеста [72].

Автор: Mobile Tractor

Источник [73]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ios/319593

Ссылки в тексте:

[1] Как устроено A/B-тестирование в Авито: https://habr.com/ru/company/avito/blog/454164/

[2] Весь мир в кармане или как сделать мобильную карту за пару дней: https://habr.com/ru/company/2gis/blog/453182/

[3] рассылки: http://apptractor.us3.list-manage2.com/subscribe?u=fbdb52f18301080a3cc983f4b&id=bb7bc0a9c0

[4] Telegram-канале: https://t.me/apptractor

[5] Заголовок будет другой: https://habr.com/ru/company/dodopizzaio/blog/452226/

[6] Руководство по Apple Subscriptions Notifications для iOS. Так ли они хороши на самом деле?: https://habr.com/ru/post/453770/

[7] Бесконечный UIScrollView: https://habr.com/ru/post/453782/

[8] Общее представление об архитектуре Clean Swift: https://habr.com/ru/post/453986/

[9] Руководство по вводным предложениям (Introductory Offers) в iOS: https://habr.com/ru/post/453514/

[10] Интервью — 10 вопросов про Swift. Часть 3: https://habr.com/ru/company/otus/blog/453644/

[11] Router и Data Passing архитектуры Clean Swift: https://habr.com/ru/post/454032/

[12] На iOS без Wi-Fi теперь можно загружать до 200 Мб: https://apptractor.ru/info/news/na-ios-bez-wi-fi-teper-mozhno-zagruzhat-do-200-mb.html

[13] Приложения для iPhone рассылают данные тысячам трекеров: https://apptractor.ru/info/news/prilozheniya-dlya-iphone-rassylayut-dannye-tysyacham-trekerov.html

[14] Восемь студентов из России, которых Apple пригласила на WWDC: https://vc.ru/dev/68258-vosem-studentov-iz-rossii-kotoryh-apple-priglasila-na-wwdc

[15] RxSwift: обработка ошибок с CompactMap: https://medium.com/@michaellong/rxswift-better-error-handling-with-compactmap-48a5d314d0f1

[16] Как Apple постоянно подставляет разработчиков и не следует собственным же правилам: https://medium.com/@shakked/how-apple-continuously-screws-developers-and-doesnt-follow-its-own-rules-13699b76683c

[17] Делаем кастомный View с UIKit: https://www.scalablepath.com/blog/creating-ios-custom-views-uikit/

[18] Геолокационные уведомления в iOS: https://medium.com/@jonathan2457/location-triggered-notifications-on-ios-24033919fb9a

[19] Используем VSCode как редактор для Swift-компилятора: https://medium.com/@samlazarus/using-vs-code-as-an-editor-for-the-swift-compiler-57f7ed01113

[20] Выживаем в RxSwift: https://medium.com/better-programming/surviving-rxswift-d6bfe562fb22

[21] Предотвращаем Man-in-the-Middle атаки в iOS с помощью SSL Pinning: https://www.raywenderlich.com/1484288-preventing-man-in-the-middle-attacks-in-ios-with-ssl-pinning

[22] Упрощаем коммуникационные шаблоны с Closure в Swift : https://medium.com/flawless-app-stories/simplifying-communication-patterns-with-closure-in-swift-1938414468b3

[23] Решение неоднозначных ограничений без перезапуска приложения: https://mar.codes/2019-05-28/Solving-ambiguous-constraints-without-rerunning-your-app

[24] App Store – принципы и практики: https://www.apple.com/ios/app-store/principles-practices/

[25] Темы, стили и другие: https://habr.com/ru/post/453812/

[26] Как сделать два приложения из одного. Опыт Тинькофф Джуниор: https://habr.com/ru/company/tinkoff/blog/454128/

[27] Используем Firebase в качестве хранилища изображений для Android-приложения: https://habr.com/ru/post/452318/

[28] Android Dev Podcast #95. Mobius 2019 Spb: https://androiddev.apptractor.ru/android-dev-podcast-95/

[29] Google ужесточает политики в отношении лутбоксов и детских приложений: https://apptractor.ru/info/news/google-uzhestochaet-politiki-v-otnoshenii-lutboksov-i-detskih-prilozhenij.html

[30] Mobile People Talks #5: Android Q по следам Google I/O 19: https://apptractor.ru/info/media/mobile-people-talks-5-android-q-po-sledam-google-i-o-19.html

[31] Как внедрить Чистую Архитектуру в Android: https://proandroiddev.com/how-to-implement-a-clean-architecture-on-android-2e5e8c8e81fe

[32] Исследуем интеграцию корутинов Kotlin и Lifecycle Architectural Components: https://medium.com/corouteam/exploring-kotlin-coroutines-and-lifecycle-architectural-components-integration-on-android-c63bb8a9156f

[33] Библиотека Edittext Picker: https://android.jlelse.eu/edittext-picker-library-4c71ae7d7863

[34] StateListAnimator — маленький мощный инструмент для анимации: https://proandroiddev.com/statelistanimator-a-powerful-little-tool-for-elevation-animation-4b31781e98a0

[35] Простой способ работать с корутинами Kotlin в Android: https://proandroiddev.com/a-simple-way-to-work-with-kotlin-coroutines-in-android-62f5338386e1

[36] Верификация Google Play IAP с помощью Cloud Functions: https://sasikanth.dev/2019/google-play-iap-verification

[37] Как мы в Revolut внедрили 3D карты: https://medium.com/@afeozzz/how-we-implemented-3d-cards-in-revolut-fa84203a8f42

[38] GoodReads API в Android с Kotlin: https://medium.com/@intmainreturn00/goodreads-api-from-android-with-kotlin-fd8c2c7338d8

[39] Activity/Service как Зависимости: переосмысливаем архитектуру Android для приложения Uber: https://eng.uber.com/activity-service-dependency-android-architecture/

[40] Создаем приложение для определения объектов с Firebase ML Kit: https://heartbeat.fritz.ai/building-a-real-time-object-detection-app-on-android-using-firebase-ml-kit-c72c99daf46f

[41] Документация по API Xamarin теперь в открытом доступе: https://habr.com/ru/company/microsoft/blog/452270/

[42] Разновидности координат используемые в GUI Unity3d: https://habr.com/ru/post/454246/

[43] Архитектура конечных автоматов в Unity для организации поведений юнитов: https://habr.com/ru/post/454402/

[44] Podlodka #113: Релиз-менеджмент: https://apptractor.ru/info/media/podlodka-113-reliz-menedzhment.html

[45] Как оставаться в физической и ментальной форме, продолжая программировать: https://apptractor.ru/info/articles/kak-ostavatsya-v-fizicheskoj-i-mentalnoj-forme-prodolzhaya-programmirovat.html

[46] nWay открывает свой игровой бэкенд: https://apptractor.ru/info/news/nway-otkryvaet-svoj-igrovoj-bekend.html

[47] Одноклассники и ВКонтакте запустили конкурс мобильных игр с призами на 1,4 млн рублей: https://apptractor.ru/info/conferences/odnoklassniki-i-vkontakte-zapustili-konkurs-mobilnyh-igr-s-prizami-na-1-4-mln-rublej.html

[48] Про Game Jams: https://apptractor.ru/info/media/pro-game-jams.html

[49] Топ-10 мобильных уязвимостей OWASP с реальными примерами: https://medium.com/swlh/owasp-mobile-top-10-explained-with-real-world-examples-685c2f09e48c?sk=60e9f8a98a5adc3d2f0190f15bc0da17

[50] Создание побочных проектов это круто или как мы несли искусство в народ: https://medium.com/swlh/why-making-side-projects-rocks-or-our-story-of-bringing-art-closer-to-people-3cbb0c20d85e

[51] Runway: исследование UX: https://blog.prototypr.io/runway-ux-case-study-d855fb049192

[52] Park It: исследование UX: https://medium.com/swlh/park-it-ux-case-study-abb4d2fcb6f0

[53] Видео Unreal Fest Europe 2019: https://www.unrealengine.com/en-US/events/unreal-fest-europe-2019

[54] Быстрое и медленное программирование: разработчики и эффект сверхуверенности: https://medium.com/better-programming/coding-fast-and-slow-developers-and-the-psychology-of-overconfidence-433388e7aec0

[55] Как НЕ получить счет на $30,000 от Firebase: https://medium.com/@PurpleGreenLemon/how-not-to-get-a-30k-bill-from-firebase-37a6cb3abaca

[56] Начинаем карьеру в видео-играх – онлайновый обучающий курс: https://www.futurelearn.com/courses/how-to-start-your-career-in-games-development/1

[57] App Radar запустил бесплатный план для ASO: https://apptractor.ru/info/news/app-radar-zapustil-besplatnyj-plan-dlya-aso.html

[58] Subway Surfers: 2.5 млрд установок: https://apptractor.ru/info/news/subway-surfers-2-5-mlrd-ustanovok.html

[59] FreshToHome: индийский маркетплейс рыбы: https://apptractor.ru/info/techhype/freshtohome-indijskij-marketplejs-ryby.html

[60] Вторая редакция книги “Intercom про Onboarding”: https://apptractor.ru/info/media/vtoraya-redakcziya-knigi-intercom-pro-onboarding.html

[61] Создатели Pokemon Go анонсировали приложение для здорового сна: https://apptractor.ru/info/apps/sozdateli-pokemon-go-anonsirovali-prilozhenie-dlya-zdorovogo-sna.html

[62] Livekick: тренировки по видео: https://apptractor.ru/info/techhype/livekick-trenirovki-po-video.html

[63] Customer Development и Кастдев. В чем разница?: https://gopractice.ru/customer-development-custdev/

[64] Обзор рынка онлайн-знакомств: сколько зарабатывают приложения и какие бизнес-модели используют: https://vc.ru/services/68840-obzor-rynka-onlayn-znakomstv-skolko-zarabatyvayut-prilozheniya-i-kakie-biznes-modeli-ispolzuyut

[65] Вы все считаете отток пользователей неправильно: https://medium.com/swlh/youre-all-calculating-churn-rates-wrong-cbab072cd992

[66] Нейронные сети предпочитают текстуры и как с этим бороться: https://habr.com/ru/company/ods/blog/453788/

[67] Введение в машинное обучение: https://habr.com/ru/post/453558/

[68] Сенсорный мини выключатель cо стеклянной панелью на nRF52832: https://habr.com/ru/post/453868/

[69] Трекинг украденного велосипеда по протоколу NB-IoT: https://habr.com/ru/company/globalsign/blog/453938/

[70] TikTok хочет выпустить свой смартфон: https://apptractor.ru/info/devices/tiktok-hochet-vypustit-svoj-smartfon.html

[71] Предыдущий дайджест: https://habr.com/ru/company/digital-ecosystems/blog/453524/

[72] первый выпуск дайджеста: https://habr.com/ru/company/apps4all/blog/168865/

[73] Источник: https://habr.com/ru/post/454460/?utm_source=habrahabr&utm_medium=rss&utm_campaign=454460