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

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

Возвращаемся к работе с новым дайджестом — в нем роутинг и компоненты, интеграционные тесты и языки программирования, годовой отчет App Annie и улучшения Duolingo.

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

Мы запустили мобильное приложение и сайт в 2017-м. Сегодня средняя нагрузка на систему составляет около 6 000 заказов в сутки. С одной стороны, вроде как не очень много, с другой — всё же стоит учитывать, что это не размазано ровным слоем на 24 часа, люди не заказывают продукты круглосуточно, здесь тоже есть подвязка на стандартную активность в рабочее время.

Телефон давно стал продолжением меня, и я слабо представляю свою жизнь без пары десятков приложений, которыми пользуюсь каждый день. Но как быть тем, кто не может взять телефон в руку или посмотреть на экран?

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

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

(+25) Роутинг для iOS: универсальная навигация без переписывания приложения [5]
(+21) Сложные отображения коллекций в iOS: проблемы и решения на примере ленты ВКонтакте [6]
(+3) Unit тестирование в архитектуре Clean Swift [7]
Apple купила ИИ-стартап Xnor.ai [8]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 6 Могу ли я посмотреть меню SwiftUI, пожалуйста? [9]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 7 Лучшая архитектура для iOS-приложения вообще существует? [10]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 8 Gaudí для iOS: темы и темный режим [11]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 9 Swift UI: приложение для бронирования фильмов [12]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 10 Советы и рекомендации по отладке приложений для iOS [13]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 11 SwiftUI: создание растягиваемого заголовка с параллаксом [14]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 12 Скрытые сокровища UIStackView [15]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 13 Начинаем работать с RealityKit: совместная дополненная реальность [16]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 14 Как реализовать архитектуру VIPER в iOS-приложении с помощью Swift 5 [17]
SOTabBar: красивый TabBar для iOS [18]

Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 15 Android

(+17) Как рассказать об основных компонентах Android за 15 минут [19]
(+3) Работа с интерфейсом в Google Maps SDK для Android [20]
(0) Подготовка sdl2 проекта для запуска на android [21]
GitHub выпустил бету своего приложения для Android [22]
Правозащитники просят Google разрешить удаление предустановленных приложений [23]
Android Broadcast #4: «Под капотом корутинов» c Ильмиром Усмановым [24]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 16 Миграция на ViewPager2 [25]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 17 Как подготовить приложение для Android к пентесту [26]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 18 11 золотых правил для Android-разработки [27]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 19 Современные возможности для вашего Android-приложения [28]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 20 Глубокое погружение в Jetpack Compose [29]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 21 Киллер-фичи Kotlin для программистов и разработчиков программного обеспечения [30]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 22 Уменьшение R8 в Android [31]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 23 Kotlin Multiplatform — MVVM и Чистая архитектура [32]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 24 Проектирование деревьев решений с нуля на Android [33]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 25 Максимальное совместное использование кода между Android и iOS с Kotlin Multiplatform [34]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 26 Виртуальная машина в Android: все, что вам нужно знать [35]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 27 Управление жизненным циклом с View Binding в Fragments [36]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 28 Создание чата на Kotlin: чистый путь [37]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 29 Kotlin Pokedex: энциклопедия покемонов на Kotlin [38]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 30 5 Android-библиотек, которые вдохновят в вас дизайнера [39]

Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 31 Разработка

(+43) VVVVVV??? VVVVVV!!! :) [40]Публикация кода VVVVVV показала, насколько грубо устроены игры внутри [41]
(+26) Непрерывная интеграция в Unity: как сократить время сборок и сэкономить ресурсы + пайплайн в подарок [42]
(+21) Зрение Хищника: эффект термального видения [43]
(+10) Анонс Global Game Jam 2020 в конце января [44]
(+7) Создание зомби-шутера от третьего лица с помощью DOTS [45]
(+6) Реализация шаблона «Состояние» в Unity [46]
(+5) Интеграционные тесты на Flutter — это просто [47]
(+5) Я фотограф и я сделаю сам себе рабочий инструмент [48]
(+5) Оптимизируем автоматизацию: как мы ускорили автотесты в 3-4 раза, сохранив старые наработки [49]
make sense #76: о главной метрике для продукта, модели метрик и инсайтах из аналитики [50]
Mobile People Talks: Взгляд на iOS, Android и всякие кроссплатформы через призму безопасности [51]
Podlodka #146: Изучение английского языка [52]
Cocos создает центры мини-игр в приложениях [53]
Самые популярные игровые движки 2019 [54]
Разработка под iOS и Android: рейтинг языков программирования 2020 [55]
Бесплатные иконки: 15 библиотек [56]
Google купил конструктор приложений AppSheet [57]
С стал языком года по версии TIOBE  [58]
Потому что цвета – это красиво. Создание универсальной цветовой палитры для IBM [59]
Войти в IT и digital с непрофильным образованием и запустить свое мобильное приложение [60]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 32 Руководство по добавлению анимации в ваш продукт — примеры и инструменты [61]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 33 7 UI-шаблонов для приложения отслеживания привычек: разбор кейса [62]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 34 Падение Software Engineer, восхождение Programmer Technician [63]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 35 7 советов по дизайну выпадающего меню [64]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 36 Мониторинг работоспособности Flutter-приложения с помощью GitHub Actions [65]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 37 Создание мобильного приложения как побочного проекта — совместная работа дизайнера и разработчика [66]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 38 Кастомная физика прокрутки во Flutter [67]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 39 Быстрое и простое распространение приложений Firebase с помощью CircleCI и Fastlane [68]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 40 Создание Todo-приложения на Flutter с нуля [69]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 41 Победители Game Off 2019 [70]
Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 42 Mono: шрифт для разработчиков [71]

Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 43 Аналитика, маркетинг и монетизация

Годовой отчет State of Mobile 2020 от App Annie: россияне потратили в приложениях более $1 млрд [72]
Duolingo: улучшение на 1% каждую неделю [73]
Аналитики нашли Fleeceware-приложения у 600 миллионов пользователей [74]
Систематический подход к ASO c CRO-циклом [75]
Доходы мобильных игр в Одноклассниках выросли в 2 раза [76]
ClassPass стал единорогом [77]
Самые скачиваемые приложения и игры 2019 года [78]
Зачем Skyeng покупает рекламу на бесплатный продукт [79]
Кому нужны оптимизаторы App Store и как подружиться с Apple: интервью с основателем сервиса SplitMetrics из Минска [80]

Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) - 44 AI, Устройства, IoT

(+28) Использование машинного обучения в статическом анализе исходного кода программ [81]
(+20) Тензоры в TensorFlow [82]
(+9) Умный дом на колес… Алисах [83]
(+8) Lytko объединяет [84]
Amazon AutoGluon создает ML-модели за 3 строчки кода [85]

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

Автор: DigitalEcosystems

Источник [88]


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

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

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

[1] Доставку заказывали? Как «Перекрёсток» доставляет 6000 заказов в день: https://habr.com/ru/company/X5RetailGroup/blog/484220/

[2] Voice Control и VoiceOver: как адаптировать приложение для незрячих или неподвижных: https://habr.com/ru/company/dodopizzadev/blog/481200/

[3] рассылки: http://apptractor.us3.list-manage2.com/subscribe?u=fbdb52f18301080a3cc983f4b%5E_%5Eamp%5E_%5Eid=bb7bc0a9c0

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

[5] Роутинг для iOS: универсальная навигация без переписывания приложения: https://habr.com/ru/company/badoo/blog/483830/

[6] Сложные отображения коллекций в iOS: проблемы и решения на примере ленты ВКонтакте: https://habr.com/ru/company/vk/blog/481626/

[7] Unit тестирование в архитектуре Clean Swift: https://habr.com/ru/post/483882/

[8] Apple купила ИИ-стартап Xnor.ai: https://apptractor.ru/info/news/apple-xnor-ai.html

[9] Могу ли я посмотреть меню SwiftUI, пожалуйста?: https://medium.com/better-programming/may-i-see-the-swiftui-menu-please-b9d40246c2f5

[10] Лучшая архитектура для iOS-приложения вообще существует?: https://medium.com/flawless-app-stories/the-best-architecture-for-ios-app-does-it-even-exist-3af357ac62e7

[11] Gaudí для iOS: темы и темный режим: https://medium.com/better-programming/gaud%C3%AD-for-ios-theming-and-dark-mode-86fe8fe60aeb

[12] Swift UI: приложение для бронирования фильмов: https://medium.com/flawless-app-stories/swift-ui-movie-booking-app-b1a9806bc9ec

[13] Советы и рекомендации по отладке приложений для iOS: https://blog.uptech.team/tips-tricks-for-ios-app-debugging-d715a02dc7d9

[14] SwiftUI: создание растягиваемого заголовка с параллаксом: https://medium.com/swlh/swiftui-create-a-stretchable-header-with-parallax-scrolling-4a98faeeb262

[15] Скрытые сокровища UIStackView: https://medium.com/dolap-tech/hidden-gems-of-uistackview-3b94a0001d29

[16] Начинаем работать с RealityKit: совместная дополненная реальность: https://medium.com/flawless-app-stories/realitykit-synchronization-289ba9409a6e

[17] Как реализовать архитектуру VIPER в iOS-приложении с помощью Swift 5: https://medium.com/better-programming/how-to-implement-viper-architecture-in-your-ios-app-rest-api-and-kingfisher-f494a0891c43

[18] SOTabBar: красивый TabBar для iOS: https://apptractor.ru/info/github/sotabbar.html

[19] Как рассказать об основных компонентах Android за 15 минут: https://habr.com/ru/post/483878/

[20] Работа с интерфейсом в Google Maps SDK для Android: https://habr.com/ru/post/484100/

[21] Подготовка sdl2 проекта для запуска на android: https://habr.com/ru/post/484526/

[22] GitHub выпустил бету своего приложения для Android: https://apptractor.ru/info/apps/github-android.html

[23] Правозащитники просят Google разрешить удаление предустановленных приложений: https://apptractor.ru/info/news/open-letter-google.html

[24] Android Broadcast #4: «Под капотом корутинов» c Ильмиром Усмановым: https://apptractor.ru/info/media/android-broadcast-4.html

[25] Миграция на ViewPager2: https://proandroiddev.com/migrating-to-viewpager2-89354b9b068d

[26] Как подготовить приложение для Android к пентесту: https://infinum.com/the-capsized-eight/how-to-prepare-your-android-app-for-a-pentest

[27] 11 золотых правил для Android-разработки: https://android.jlelse.eu/11-golden-rules-for-android-app-development-13b0361ded4c

[28] Современные возможности для вашего Android-приложения: https://medium.com/halcyon-mobile/modern-features-to-consider-for-your-android-app-ff7fa5301bb1

[29] Глубокое погружение в Jetpack Compose: https://medium.com/better-programming/deep-dive-into-jetpack-compose-b09713760019

[30] Киллер-фичи Kotlin для программистов и разработчиков программного обеспечения: https://medium.com/swlh/kotlin-killer-features-for-programmers-and-software-engineers-part-1-beba24474dbd

[31] Уменьшение R8 в Android: https://medium.com/better-programming/r8-shrinking-in-android-27f3edbbad9e

[32] Kotlin Multiplatform — MVVM и Чистая архитектура: https://proandroiddev.com/kotlin-multiplatform-mvvm-clean-architecture-f20b99f90b95

[33] Проектирование деревьев решений с нуля на Android: https://becominghuman.ai/designing-decision-trees-from-scratch-on-android-68bf7ee0d01a

[34] Максимальное совместное использование кода между Android и iOS с Kotlin Multiplatform: https://proandroiddev.com/maximizing-code-sharing-between-android-and-ios-with-kotlin-multiplatform-85d58d0a2cf1

[35] Виртуальная машина в Android: все, что вам нужно знать: https://android.jlelse.eu/virtual-machine-in-android-everything-you-need-to-know-9ec695f7313b

[36] Управление жизненным циклом с View Binding в Fragments: https://medium.com/default-to-open/handling-lifecycle-with-view-binding-in-fragments-a7f237c56832

[37] Создание чата на Kotlin: чистый путь: https://medium.com/swlh/kotlin-chat-tutorial-the-clean-way-fca8f754aeb3

[38] Kotlin Pokedex: энциклопедия покемонов на Kotlin: https://apptractor.ru/info/github/kotlin-pokedex.html

[39] 5 Android-библиотек, которые вдохновят в вас дизайнера: https://medium.com/better-programming/5-android-libraries-to-inspire-the-designer-in-you-bbe000286cb9

[40] VVVVVV??? VVVVVV!!! :): https://habr.com/ru/company/pvs-studio/blog/484166/

[41] Публикация кода VVVVVV показала, насколько грубо устроены игры внутри: https://habr.com/ru/post/483874/

[42] Непрерывная интеграция в Unity: как сократить время сборок и сэкономить ресурсы + пайплайн в подарок: https://habr.com/ru/company/pixonic/blog/484172/

[43] Зрение Хищника: эффект термального видения: https://habr.com/ru/post/482928/

[44] Анонс Global Game Jam 2020 в конце января: https://habr.com/ru/post/483954/

[45] Создание зомби-шутера от третьего лица с помощью DOTS: https://habr.com/ru/company/otus/blog/484094/

[46] Реализация шаблона «Состояние» в Unity: https://habr.com/ru/post/484176/

[47] Интеграционные тесты на Flutter — это просто: https://habr.com/ru/post/483468/

[48] Я фотограф и я сделаю сам себе рабочий инструмент: https://habr.com/ru/post/484506/

[49] Оптимизируем автоматизацию: как мы ускорили автотесты в 3-4 раза, сохранив старые наработки: https://habr.com/ru/company/maxilect/blog/484218/

[50] make sense #76: о главной метрике для продукта, модели метрик и инсайтах из аналитики: https://apptractor.ru/measure/user-analytics/make-sense-76.html

[51] Mobile People Talks: Взгляд на iOS, Android и всякие кроссплатформы через призму безопасности: https://apptractor.ru/info/media/mobile-people-talks-security.html

[52] Podlodka #146: Изучение английского языка: https://apptractor.ru/info/media/podlodka-146.html

[53] Cocos создает центры мини-игр в приложениях: https://apptractor.ru/info/news/cocos-play.html

[54] Самые популярные игровые движки 2019: https://apptractor.ru/develop/game-engines-2019.html

[55] Разработка под iOS и Android: рейтинг языков программирования 2020: https://apptractor.ru/reyting-yazyikov-programmirovaniya-2020

[56] Бесплатные иконки: 15 библиотек: https://apptractor.ru/info/articles/icon-libraries.html

[57] Google купил конструктор приложений AppSheet: https://apptractor.ru/develop/app-constructors/google-appsheet.html

[58] С стал языком года по версии TIOBE : https://apptractor.ru/info/news/c-2019.html

[59] Потому что цвета – это красиво. Создание универсальной цветовой палитры для IBM: https://ux.pub/potomu-chto-tsveta-eto-krasivo/

[60] Войти в IT и digital с непрофильным образованием и запустить свое мобильное приложение: https://vc.ru/tribuna/100922-voyti-v-it-i-digital-s-neprofilnym-obrazovaniem-i-zapustit-svoe-mobilnoe-prilozhenie

[61] Руководство по добавлению анимации в ваш продукт — примеры и инструменты: https://uxdesign.cc/a-guide-to-adding-animations-to-your-product-examples-and-tools-7350af66cf78

[62] 7 UI-шаблонов для приложения отслеживания привычек: разбор кейса: https://uxdesign.cc/micro-habits-ui-design-patterns-4b2b7c1b4f07?gi=d50f76575bd4

[63] Падение Software Engineer, восхождение Programmer Technician: https://medium.com/@alexkatrompas/the-fall-of-the-software-engineer-the-rise-of-the-programmer-technician-451a572d28b0

[64] 7 советов по дизайну выпадающего меню: https://uxdesign.cc/7-tips-for-dropdown-menu-design-da86d548584c

[65] Мониторинг работоспособности Flutter-приложения с помощью GitHub Actions: https://medium.com/better-programming/monitor-your-flutter-apps-health-end-to-end-with-github-actions-8a9fb1889c6a

[66] Создание мобильного приложения как побочного проекта — совместная работа дизайнера и разработчика: https://uxdesign.cc/creating-a-mobile-app-as-a-side-project-ux-and-dev-collaboration-356d5cb6ddc4

[67] Кастомная физика прокрутки во Flutter: https://medium.com/flutter-community/custom-scroll-physics-in-flutter-3224dd9e9b41

[68] Быстрое и простое распространение приложений Firebase с помощью CircleCI и Fastlane: https://blog.uptech.team/quick-and-easy-firebase-app-distribution-with-circleci-and-fastlane-93a0cefbd10

[69] Создание Todo-приложения на Flutter с нуля: https://levelup.gitconnected.com/making-a-flutter-todo-app-from-scratch-part-1-bd66608b1818

[70] Победители Game Off 2019: https://apptractor.ru/info/github/game-off-2019.html

[71] Mono: шрифт для разработчиков: https://apptractor.ru/info/github/mono.html

[72] Годовой отчет State of Mobile 2020 от App Annie: россияне потратили в приложениях более $1 млрд: https://apptractor.ru/measure/user-analytics/state-of-mobile-2020.html

[73] Duolingo: улучшение на 1% каждую неделю: https://apptractor.ru/test/split-testing/duolingo-1.html

[74] Аналитики нашли Fleeceware-приложения у 600 миллионов пользователей: https://apptractor.ru/info/news/fleeceware-600.html

[75] Систематический подход к ASO c CRO-циклом: https://apptractor.ru/marketing-monetization/app-store-optimization/sistematicheskiy-podhod-k-aso-c-cro-tsiklom.html

[76] Доходы мобильных игр в Одноклассниках выросли в 2 раза: https://apptractor.ru/measure/app-store-analytics/itogi-2019-goda-odnoklassnikov.html

[77] ClassPass стал единорогом: https://apptractor.ru/info/techhype/classpass.html

[78] Самые скачиваемые приложения и игры 2019 года: https://apptractor.ru/measure/app-store-analytics/2019-data-digest.html

[79] Зачем Skyeng покупает рекламу на бесплатный продукт: https://vc.ru/marketing/101295-zachem-skyeng-pokupaet-reklamu-na-besplatnyy-produkt

[80] Кому нужны оптимизаторы App Store и как подружиться с Apple: интервью с основателем сервиса SplitMetrics из Минска: https://vc.ru/services/100900-komu-nuzhny-optimizatory-app-store-i-kak-podruzhitsya-s-apple-intervyu-s-osnovatelem-servisa-splitmetrics-iz-minska

[81] Использование машинного обучения в статическом анализе исходного кода программ: https://habr.com/ru/company/pvs-studio/blog/484208/

[82] Тензоры в TensorFlow: https://habr.com/ru/post/484214/

[83] Умный дом на колес… Алисах: https://habr.com/ru/post/483922/

[84] Lytko объединяет: https://habr.com/ru/post/484296/

[85] Amazon AutoGluon создает ML-модели за 3 строчки кода: https://apptractor.ru/info/news/amazon-autogluon.html

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

[87] почту: mailto:lbogolubov@gmail.com

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