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

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

В новом дайджесте боремся с потерями пушей, разбираемся с музыкой Apple, изучаем работу звука в Android, экономим деньги при разработке игры, ищем приложение Росстата, отличаем плохой дизайн от хорошего и даже пытаемся понять, безопасен ли будет шарф от Xiaomi.

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

Руководитель iOS-группы Яндекс.Почты Ася Свириденко докажет, что даже с учетом ограничений системы, с потерями push-уведомлений можно и нужно бороться, если они критичны для вашего приложения.

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

Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 4 iOS

(+22) Не всплывай! Прерываемые транзишены в iOS [4]
(+17) Apple Music для разработчика [5]
(+15) Оборачиваем последовательности в Swift [6]
(+7) Кто кушает память нашего iPhone? Чистим яблоки [7]
Google раскрыл «одну из самых масштабных атак на iPhone» [8]
Инди-хит Dead Cells вышел на iOS [9]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 5 Видео Swift TO [10]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 6 Анимированные градиенты на Swift [11]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 7 5 новых интересных iOS-библиотек [12]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 8 Пример масштабируемого iOS-проекта [13]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 9 Swift — 7 мощных анимация для улучшения интерфейса вашего приложения [14]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 10 Введение в Swift Combine [15]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 11 Как создать парсер JSON на Swift с помощью дженериков [16]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 12 Комплексное руководство по контекстным меню в iOS [17]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 13 Чистая архитектура и MVVM на iOS [18]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 14 15 быстрых способов уулчшить Swift-код [19]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 15 Github Actions CI для Swift-проектов [20]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 16 Делаем кастомные анимации переходов для iOS [21]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 17 Как программно добавить View тени и закругления на Swift [22]

Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 18 Android

(+4) Сборка Android-проекта в Docker-контейнере [23]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 19 Android Dev Podcast #101: Работа звука и со звуком в Android [24]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 20 Android Dev Podcast #102: Новости [24]
Google выплачивает деньги за поиск уязвимостей в сторонних приложениях для Android [25]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 21 Видео Droidcon Berlin [26]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 22 Злоупотребление WebViews для кражи файлов по электронной почте [27]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 23 Бета-релиз книги “Эффективный Kotlin” [28]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 24 Изучаем ConstraintLayout — готовые шаблоны [29]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 25 Практическое использование PorterDuff на Android [30]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 26 Модульность Android-проекта [31]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 27 Разметка Activity и Fragment с помощью AndroidX [32]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 28 Эмоциональный интеллект: создавайте умные анимации [33]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 29 Создание приложения для удаленной камеры на Android [34]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 30 Google только что удалил мое 10-летнее бесплатное open source приложение для Android [35]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 31 Android Showcase: лучшие практики Android-разработки [36]

Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 32 Разработка

(+31) Я самый большой скупердяй в инди-разработке игр [37]
(+16) Ограничения 16-битных игр и их воссоздание в Unity [38]
(+16) Cоздание визуальных компонентов в Unity UI. Система частиц [39]
(+11) Пиксельный Lo-fi в Unity [40]
(+2) Статическая типизация в React приложении [41]
(+1) Мобильные отчеты на Oracle BI EE 12c — на раз, два, три [42]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 33 Видео DevGAMM Moscow 2019 [43]
AppsCast #13: Accessibility [44]
Podlodka #126: Осознанность [45]
Счетная палата не нашла приложения Росстата [46]
Что общего между строительством оперного театра и разработкой? [47]
Coursera запускает практическую Coursera Labs [48]
Treefort: обсуждение roadmap-а с пользователями [49]
Научим плохому: 6 худших советов по созданию продуктов для Chief Digital Officer [50]
6 шагов: Как отличить хороший дизайн от плохого [51]
Четкий фокус с доходом в $50 млн [52]
Узнать, что продукт стал слишком сложным, и упростить его [53]
Принципы и лучшие практики онбординга пользователей [54]
Сколько стоит приложение [55]
Спроектировать разные состояния интерфейса и не запутать пользователя [56]
В каких случаях необходимы кнопки с индикатором загрузки [57]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 34 Выбор первого языка программирования для детей и начинающих [58]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 35 Концепции UI для книжного приложения [59]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 36 Переосмысливаем календарь [60]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 37 Как разработчику справляться со стрессом: практические советы [61]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 38 Оценка безопасности строительной площадки на iOS с помощью машинного обучения [62]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 39 Почему я перевел разработку Social Radio на Flutter [63]

Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 40 Аналитика, маркетинг и монетизация

(+16) “Есть все, что нужно, и ничего не бесит” — устами клиента глаголет истина [64]
(+10) Как изменить стоимость созданной подписки в вашем приложении. App Store Connect и Google Play Console [65]
Большая рыба: как анализировать пользователей, чтобы потом они приносили прибыль [66]
Приобретение пользователей для мобильных игр в 2019: отчет Liftoff и AppsFlyer [67]
Акции в играх: как найти оптимальную стратегию скидок [68]
Мобильный eCommerce: привлечение установок [69]
Сколько нужно загрузок для первого места в App Store и Google Play в 2019? [70]
Самые зарабатывающие приложения в России в июле 2019 [71]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 41 Мобильные приложения для пожилых людей: огромный и недооцененный рынок [72]

Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 42 AI, Устройства, IoT

(+47) Записки IoT-провайдера. Проклятие импульсного выхода [73]
(+21) Распознавание лиц с помощью сиамских сетей [74]
(+19) Как я учил змейку играть в себя с помощью Q-Network [75]
(+18) Как я построила прогнозную модель call-центра, чтобы их звонки не бесили пользователей [76]
Samsonite и Panasonic разрабатывают умный чемодан [77]
Facebook тренирует универсальный ИИ в Minecraft [78]
Xiaomi готовит умный шарф [79]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 43 Swift на Raspberry Pi [80]
Дайджест интересных материалов для мобильного разработчика #313 (26 августа — 1 сентября) - 44 Большая часть VR – полная ерунда [81]

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

Автор: DigitalEcosystems

Источник [84]


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

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

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

[1] Когда почта доставляет: боремся с потерями push-уведомлений в iOS: https://habr.com/ru/company/oleg-bunin/blog/462507/

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

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

[4] Не всплывай! Прерываемые транзишены в iOS: https://habr.com/ru/company/dodopizzaio/blog/465073/

[5] Apple Music для разработчика: https://habr.com/ru/post/464811/

[6] Оборачиваем последовательности в Swift: https://habr.com/ru/company/otus/blog/464995/

[7] Кто кушает память нашего iPhone? Чистим яблоки: https://habr.com/ru/company/ua-hosting/blog/437606/

[8] Google раскрыл «одну из самых масштабных атак на iPhone»: https://apptractor.ru/info/news/ios-exploit.html

[9] Инди-хит Dead Cells вышел на iOS: https://apptractor.ru/info/apps/dead-cells.html

[10] Видео Swift TO: https://apptractor.ru/info/media/swift-to.html

[11] Анимированные градиенты на Swift: https://medium.com/@prabhu_irl/animated-gradient-layers-in-swift-bad094496644

[12] 5 новых интересных iOS-библиотек: https://medium.com/better-programming/5-awesome-new-ios-libraries-to-use-on-your-projects-ca474e540582

[13] Пример масштабируемого iOS-проекта: https://medium.com/@sven.korset/an-example-of-a-scalable-ios-project-dce56a256106

[14] Swift — 7 мощных анимация для улучшения интерфейса вашего приложения: https://medium.com/better-programming/swift-7-powerful-animations-to-improve-your-app-ui-711626be485f

[15] Введение в Swift Combine: https://techhype.io/?story=introduction-to-swift-combine-framework

[16] Как создать парсер JSON на Swift с помощью дженериков: https://medium.com/better-programming/swift-json-parser-using-generics-e01a5c3de373

[17] Комплексное руководство по контекстным меню в iOS: https://kylebashour.com/posts/context-menu-guide

[18] Чистая архитектура и MVVM на iOS: https://tech.olx.com/clean-architecture-and-mvvm-on-ios-c9d167d9f5b3

[19] 15 быстрых способов уулчшить Swift-код: https://medium.com/better-programming/15-quick-tips-to-improve-your-swift-code-ed390c99afcd

[20] Github Actions CI для Swift-проектов: https://medium.com/rosberryapps/github-actions-ci-for-swift-projects-c129baceed1a

[21] Делаем кастомные анимации переходов для iOS: https://medium.com/better-programming/custom-transition-animation-ios-f1bb57686293

[22] Как программно добавить View тени и закругления на Swift: https://medium.com/better-programming/how-to-programmatically-add-shadow-rounded-corners-to-a-view-swift-df004ac98fa5

[23] Сборка Android-проекта в Docker-контейнере: https://habr.com/ru/post/465193/

[24] Android Dev Podcast #101: Работа звука и со звуком в Android: https://androiddev.apptractor.ru/android-dev-podcast-101/

[25] Google выплачивает деньги за поиск уязвимостей в сторонних приложениях для Android: https://apptractor.ru/info/news/google-play-security-reward-program.html

[26] Видео Droidcon Berlin: https://apptractor.ru/info/media/droidcon-berlin.html

[27] Злоупотребление WebViews для кражи файлов по электронной почте: https://carvesystems.com/news/abusing-webviews-to-steal-files-via-email/

[28] Бета-релиз книги “Эффективный Kotlin”: https://blog.kotlin-academy.com/effective-kotlin-beta-release-bbf2e0cb9c3f

[29] Изучаем ConstraintLayout — готовые шаблоны: https://android.jlelse.eu/learning-constraintlayout-live-templates-for-rescue-2142e6b7b3b2

[30] Практическое использование PorterDuff на Android: https://medium.com/better-programming/practical-image-porterduff-mode-usage-in-android-3b4b5d2e8f5f

[31] Модульность Android-проекта: https://medium.com/miquido/considering-android-project-modularisation-2b045288a474

[32] Разметка Activity и Fragment с помощью AndroidX: https://www.bignerdranch.com/blog/activity-and-fragment-layouts-with-androidx/

[33] Эмоциональный интеллект: создавайте умные анимации: https://medium.com/androiddevelopers/motional-intelligence-build-smarter-animations-821af4d5f8c0

[34] Создание приложения для удаленной камеры на Android: https://techhype.io/?story=building-a-remote-camera-app-on-android-how-to-fork-open-camera-and-use-nanohttpd

[35] Google только что удалил мое 10-летнее бесплатное open source приложение для Android: https://medium.com/@mmathieum/google-just-deleted-my-nearly-10-year-old-free-open-source-android-app-7fbc52edc50a

[36] Android Showcase: лучшие практики Android-разработки: https://apptractor.ru/info/github/android-showcase.html

[37] Я самый большой скупердяй в инди-разработке игр: https://habr.com/ru/post/465309/

[38] Ограничения 16-битных игр и их воссоздание в Unity: https://habr.com/ru/post/463653/

[39] Cоздание визуальных компонентов в Unity UI. Система частиц: https://habr.com/ru/post/464961/

[40] Пиксельный Lo-fi в Unity: https://habr.com/ru/post/465479/

[41] Статическая типизация в React приложении: https://habr.com/ru/post/465461/

[42] Мобильные отчеты на Oracle BI EE 12c — на раз, два, три: https://habr.com/ru/company/rdtex/blog/465525/

[43] Видео DevGAMM Moscow 2019: https://apptractor.ru/info/media/devgamm-moscow-2019.html

[44] AppsCast #13: Accessibility: https://apptractor.ru/info/media/appscast-13-accessibility.html

[45] Podlodka #126: Осознанность: https://apptractor.ru/info/media/podlodka-126.html

[46] Счетная палата не нашла приложения Росстата: https://apptractor.ru/info/news/rosstat-apps.html

[47] Что общего между строительством оперного театра и разработкой?: https://apptractor.ru/info/articles/chto-obshhego-mezhdu-stroitelstvom-opernogo-teatra-i-razrabotkoy.html

[48] Coursera запускает практическую Coursera Labs: https://apptractor.ru/learn/coursera-labs.html

[49] Treefort: обсуждение roadmap-а с пользователями: https://apptractor.ru/info/github/treefort.html

[50] Научим плохому: 6 худших советов по созданию продуктов для Chief Digital Officer: https://apptractor.ru/develop/nauchim-plohomu-6-hudshih-sovetov-po-sozdaniyu-produktov-dlya-chief-digital-officer.html

[51] 6 шагов: Как отличить хороший дизайн от плохого: https://apptractor.ru/develop/design/kak-otlichit-horoshiy-dizayn-ot-plohogo-za-shest-shagov.html

[52] Четкий фокус с доходом в $50 млн: https://forbes.kz/process/chetkiy_fokus_1566381828/

[53] Узнать, что продукт стал слишком сложным, и упростить его: https://vc.ru/design/80404-uznat-chto-produkt-stal-slishkom-slozhnym-i-uprostit-ego

[54] Принципы и лучшие практики онбординга пользователей: https://uxdesign.cc/user-onboarding-principles-and-best-practices-bb1ad848c553

[55] Сколько стоит приложение: https://vc.ru/life/80914-skolko-stoit-prilozhenie

[56] Спроектировать разные состояния интерфейса и не запутать пользователя: https://vc.ru/design/80724-sproektirovat-raznye-sostoyaniya-interfeysa-i-ne-zaputat-polzovatelya

[57] В каких случаях необходимы кнопки с индикатором загрузки: https://ux.pub/v-kakih-sluchayah-neobhodimy-knopki-s-indikatorom-zagruzki/

[58] Выбор первого языка программирования для детей и начинающих: https://medium.com/young-coder/choosing-a-first-programming-language-for-kids-and-beginners-faf7059bbd93

[59] Концепции UI для книжного приложения: https://medium.muz.li/books-apps-ui-interactions-concepts-836f67d8b983

[60] Переосмысливаем календарь: https://uxplanet.org/rethinking-a-calendar-def7711c8b02

[61] Как разработчику справляться со стрессом: практические советы: https://thevaluable.dev/developer-stress-management/

[62] Оценка безопасности строительной площадки на iOS с помощью машинного обучения: https://heartbeat.fritz.ai/evaluate-construction-site-safety-on-ios-using-machine-learning-b9a731b7e2d3?gi=1ad29c624c7

[63] Почему я перевел разработку Social Radio на Flutter: https://medium.com/chromatic-fm/why-i-moved-to-flutter-for-chromatics-social-radio-app-development-8954b5a49395

[64] “Есть все, что нужно, и ничего не бесит” — устами клиента глаголет истина: https://habr.com/ru/company/alfa/blog/465283/

[65] Как изменить стоимость созданной подписки в вашем приложении. App Store Connect и Google Play Console: https://habr.com/ru/post/465173/

[66] Большая рыба: как анализировать пользователей, чтобы потом они приносили прибыль: https://apptractor.ru/measure/user-analytics/user-analysis.html

[67] Приобретение пользователей для мобильных игр в 2019: отчет Liftoff и AppsFlyer: https://apptractor.ru/info/media/mobile-gaming-apps-2019.html

[68] Акции в играх: как найти оптимальную стратегию скидок: https://apptractor.ru/info/media/action-devtodev.html

[69] Мобильный eCommerce: привлечение установок: https://apptractor.ru/marketing-monetization/ad-networks/adsup-joom.html

[70] Сколько нужно загрузок для первого места в App Store и Google Play в 2019?: https://apptractor.ru/measure/app-store-analytics/no-1-as-gp.html

[71] Самые зарабатывающие приложения в России в июле 2019: https://apptractor.ru/measure/app-store-analytics/top-grossing-russia-07-2019.html

[72] Мобильные приложения для пожилых людей: огромный и недооцененный рынок: https://lvivity.com/mobile-apps-for-seniors

[73] Записки IoT-провайдера. Проклятие импульсного выхода: https://habr.com/ru/post/465445/

[74] Распознавание лиц с помощью сиамских сетей: https://habr.com/ru/company/jetinfosystems/blog/465279/

[75] Как я учил змейку играть в себя с помощью Q-Network: https://habr.com/ru/post/465477/

[76] Как я построила прогнозную модель call-центра, чтобы их звонки не бесили пользователей: https://habr.com/ru/company/skyeng/blog/464007/

[77] Samsonite и Panasonic разрабатывают умный чемодан: https://apptractor.ru/info/devices/evoa-tech.html

[78] Facebook тренирует универсальный ИИ в Minecraft: https://apptractor.ru/info/news/facebook-minecraft-ai.html

[79] Xiaomi готовит умный шарф: https://apptractor.ru/info/devices/xiaomi-smart-scarf.html

[80] Swift на Raspberry Pi: https://blog.lickability.com/swift-on-raspberry-pi-e44c79fc32f3

[81] Большая часть VR – полная ерунда: https://gen.medium.com/most-vr-is-total-bullshit-81a08431df38

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

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

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