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

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

На этой неделе мы говорим про Continuous Integration, переход из веб-разработки в игры, темные темы, юнит-тесты, новый топ зарабатывающих и многомиллиардную индустрию изготовления ключей.

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

Дайджест интересных материалов для мобильного разработчика #294 (8 — 14 апреля) - 2

Эволюция CI в команде мобильной разработки [1]

CI — это рабочий процесс, при котором вы как можйно чаще интегрируете свой код в общий код продукта. И не просто интегрируете, а еще и постоянно проверяете, что все работает. Так как проверять нужно много и часто, стоит задуматься об автоматизации. Можно все проверять на ручной тяге, но не стоит, и вот почему.

Дайджест интересных материалов для мобильного разработчика #294 (8 — 14 апреля) - 3

Reaktive — мультиплатформенная библиотека для реактивного Kotlin [2]

Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого «callback hell», и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный код и легче управлять потоками данных (объединять, разделять и преобразовывать).

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

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

(+23) Пишем игру «Карточки памяти» на Swift [5]
(+14) Продвинутая интерполяция строк в Swift 5.0 [6]
(+10) Custom instruments: когда signpost недостаточно [7]
(+9) Создаем элементы интерфейса программно с помощью PureLayout (Часть 2) [8]
Apple добавила дополнительный шаг в оформление подписки [9]
Apple наняла еще одного ветерана виртуальной реальности [10]
Netflix отказался от работы с AirPlay [11]
image Улучшаем цикл iOS-разработки с брекпоинтами [12]
image iOS: Umbrella Framework с CocoaPods [13]
image Работаем с MLDataTable из Create ML для предварительной обработки данных [14]
image Миграция со Swift 4 на Swift 5 [15]
image Создание динамической модульной архитектуры для iOS [16]
Дайджест интересных материалов для мобильного разработчика #294 (8 — 14 апреля) - 11 UIView SmoothCorners: скругленные углы, как у Apple [17]

Дайджест интересных материалов для мобильного разработчика #294 (8 — 14 апреля) - 12 Android

(+33) IntelliJ IDEA 2019.1: Кастомизация тем интерфейса, switch-выражения из Java 12, отладка внутри Docker-контейнеров [18]
(+18) Как при помощи 2 видов unit-тестов сделать приложение более стабильным [19]
Смартфоны с Android стали секретными ключами [20]
Snap обновил Snapchat для Android [21]
Перемещение изображений по экрану в Android [22]
image Что такое Android Lint и как он помогает писать поддерживаемый код [23]
image Приложение с фактами о Чаке Норрисе на Kotlin [24]
image Как просто генерировать Smart Replies с ML Kit на Android [25]
image Холодные потоки, горячие каналы [26]
image Воссоздаем градиент Facebook Messenger [27]
image Используем TextWatchers правильно [28]
image Играем с холстом Android drawVertices [29]
image Google запрещает плагины для Instant Apps [30]
image Как использовать Firebase для создания многопользовательской игры для Android [31]
image Конверсия Kotlin – 4 ловушки, на которые стоит обратить внимание [32]
image Шпаргалка по API анимаций в Android [33]
image Dagger и сверкающая новая @Component.Factory [34]

Дайджест интересных материалов для мобильного разработчика #294 (8 — 14 апреля) - 25 Разработка

(+46) Как мы из веб-разработки в разработку игры зашли [35]
(+46) Как создать тёмную тему и не навредить. Опыт команды Яндекс.Почты [36]
(+22) Unity: отрисовываем множество полосок здоровья за один drawcall [37]
(+18) Raspberry-pi-танк и GPS навигация [38]
(+10) Проектирование на основе «отражения» [39]
(+5) Импорт 3D-моделей в Unity и подводные камни [40]
AppsCast #4: GPU, гексагональные ускорители и линейная алгебра [41]
Podlodka #106: Платформенная разработка [42]
Disruptor Beam открывает свой бэкенд [43]
Результаты опроса разработчиков Stack Overflow 2019 [44]
Humble Book Bundle о классических видео-играх [45]
Snapchat открыл игровую платформу [46]
image Создание Action для Google Assistant [47]
image Следует ли мне использовать React Native? [48]
image Как я взял идею и превратил ее в продукт [49]
image Почему Test Driven Development (TDD) лучше всего подходит для надежного программирования [50]
image Идеи приложений, которые повысят ваши навыки программирования [51]
image Зачем и как я учу Flutter? [52]
image Компьютерные игры на BASIC [53]
image Нет времени, нет денег, нет проблем: завершение The First Tree [54]
image Непрошенный редизайн Paypal: исследование UX [55]
image Пять черт прекрасных программистов [56]
image Создаем полноценное мобильное приложение на Ionic4 [57]
image Технический долг – перезанять или ликвидировать? [58]
image Теория цвета для дизайнеров (с инфографикой) [59]
image Angular приложение как Progressive Web App [60]

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

(+14) Два способа сбора наград за рекламу в мобильных играх, или роботы должны работать [61]
(+14) Как Android-троян Gustuff снимает сливки (фиат и крипту) [62] с ваших счетов
Netflix упустил первое место в топе зарабатывающих приложений [63]
Самые зарабатывающие приложения в Бразилии в 2018 [64]
Tonal: гимнастический зал на стене [65]
У серии Candy Crush рекордный 1 квартал [66]
image Splash Screen: успешный первый запуск для вашего мобильного приложения [67]

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

(+67) Для чего и как мы скрываем госномера автомобилей в объявлениях Авито [68]
(+38) Фотографии из грубых набросков: как именно работает нейросеть NVIDIA GauGAN [69]
(+21) Виртуальная реальность – игра, лечение, жизнь. Технологии VR на службе реабилитационной медицины [70]
(+20) Как возникают «умные города» [71]
(+15) Устойчивость обучения GAN (Копаем глубже) [72]
(+15) Как раскрутить новичка и ничего не сломать [73]
(+4) Как технологии IoT изменят мир в ближайшие 10 лет [74]
KeyMe получил $50 млн на изготовление ключей [75]
Qualcomm улучшает работу ИИ в новых Snapdragon [76]
Дополненная реальность в Эрмитаже: 15 апреля стартует конкурс AR-приложений AR-craft [77]
Умные ответы и Определение языка в ML Kit [78]
Технодайджест (март 2019) [79]
image Aroma: используем машинное обучение для рекомендаций кода [80]
image 3 самые большие ошибки в изучении Data Science [81]
image Да, ИИ заменит дизайнеров [82]

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

Автор: EverydayTools

Источник [85]


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

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

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

[1] Эволюция CI в команде мобильной разработки: https://habr.com/ru/company/oleg-bunin/blog/447608/

[2] Reaktive — мультиплатформенная библиотека для реактивного Kotlin: https://habr.com/ru/company/badoo/blog/447424/

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

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

[5] Пишем игру «Карточки памяти» на Swift: https://habr.com/ru/company/skillbox/blog/447598/

[6] Продвинутая интерполяция строк в Swift 5.0: https://habr.com/ru/post/447586/

[7] Custom instruments: когда signpost недостаточно: https://habr.com/ru/company/sberbank/blog/447594/

[8] Создаем элементы интерфейса программно с помощью PureLayout (Часть 2): https://habr.com/ru/post/447374/

[9] Apple добавила дополнительный шаг в оформление подписки: https://apptractor.ru/info/news/apple-dobavila-dopolnitelnyj-shag-v-oformlenie-podpiski.html

[10] Apple наняла еще одного ветерана виртуальной реальности: https://apptractor.ru/info/news/apple-nanyala-eshhe-odnogo-veterana-virtualnoj-realnosti.html

[11] Netflix отказался от работы с AirPlay: https://apptractor.ru/info/news/netflix-otkazalsya-ot-raboty-s-airplay.html

[12] Улучшаем цикл iOS-разработки с брекпоинтами: https://www.dcordero.me/posts/improving_the_ios_development_cycle_with_breakpoints.html

[13] iOS: Umbrella Framework с CocoaPods: https://medium.com/@andreamiotz/ios-umbrella-framework-with-cocoapods-57d2d3c2daa9

[14] Работаем с MLDataTable из Create ML для предварительной обработки данных: https://heartbeat.fritz.ai/working-with-create-mls-mldatatable-to-pre-process-non-image-data-424f916a093e

[15] Миграция со Swift 4 на Swift 5: https://medium.com/thecreateschool/migrating-from-swift-4-to-swift-5-2f425b99436b

[16] Создание динамической модульной архитектуры для iOS: https://medium.com/fluxom/building-a-dynamic-modular-ios-architecture-1b87dc31278b

[17] UIView SmoothCorners: скругленные углы, как у Apple: https://github.com/lapfelix/UIView-SmoothCorners

[18] IntelliJ IDEA 2019.1: Кастомизация тем интерфейса, switch-выражения из Java 12, отладка внутри Docker-контейнеров: https://habr.com/ru/company/JetBrains/blog/447430/

[19] Как при помощи 2 видов unit-тестов сделать приложение более стабильным: https://habr.com/ru/post/447588/

[20] Смартфоны с Android стали секретными ключами: https://apptractor.ru/info/news/smartfony-s-android-stali-sekretnymi-klyuchami.html

[21] Snap обновил Snapchat для Android: https://apptractor.ru/info/news/snap-obnovil-snapchat-dlya-android.html

[22] Перемещение изображений по экрану в Android: https://android-tools.ru/coding/peremeshhenie-izobrazhenij-po-ekranu-v-android/

[23] Что такое Android Lint и как он помогает писать поддерживаемый код: https://infinum.co/the-capsized-eight/what-is-android-lint-and-how-helps-write-maintainable-code

[24] Приложение с фактами о Чаке Норрисе на Kotlin: https://medium.com/@ssaurel/develop-a-chuck-norris-facts-android-app-with-kotlin-d0d7b14e98dd

[25] Как просто генерировать Smart Replies с ML Kit на Android: https://udelabs.com/2019/04/07/how-to-simply-generate-smart-replies-with-ml-kit-on-android/

[26] Холодные потоки, горячие каналы: https://medium.com/@elizarov/cold-flows-hot-channels-d74769805f9

[27] Воссоздаем градиент Facebook Messenger: https://medium.com/@Cuong.Le/recreating-the-facebook-messenger-gradient-effect-52a1b17c0c3f

[28] Используем TextWatchers правильно: https://medium.com/@nezspencer/using-textwatchers-the-right-way-case-study-naira-textwatcher-5cd316222c6a

[29] Играем с холстом Android drawVertices: https://proandroiddev.com/playing-with-android-canvas-drawvertices-32266c480ab6

[30] Google запрещает плагины для Instant Apps: https://android-developers.googleblog.com/2019/04/google-play-instant-feature-plugin.html

[31] Как использовать Firebase для создания многопользовательской игры для Android: https://medium.freecodecamp.org/match-making-with-firebase-hashnode-de9161e2b6a7

[32] Конверсия Kotlin – 4 ловушки, на которые стоит обратить внимание: https://proandroiddev.com/kotlin-conversions-4-pitfalls-you-should-look-out-for-577b7247e7c6

[33] Шпаргалка по API анимаций в Android: https://blog.usejournal.com/android-animation-apis-cheat-sheet-d9b160381f18

[34] Dagger и сверкающая новая @Component.Factory: https://proandroiddev.com/dagger-and-the-shiny-new-component-factory-c2234fcae6b1

[35] Как мы из веб-разработки в разработку игры зашли: https://habr.com/ru/company/uteam/blog/447310/

[36] Как создать тёмную тему и не навредить. Опыт команды Яндекс.Почты: https://habr.com/ru/company/yandex/blog/446780/

[37] Unity: отрисовываем множество полосок здоровья за один drawcall: https://habr.com/ru/post/447716/

[38] Raspberry-pi-танк и GPS навигация: https://habr.com/ru/post/447654/

[39] Проектирование на основе «отражения»: https://habr.com/ru/post/447924/

[40] Импорт 3D-моделей в Unity и подводные камни: https://habr.com/ru/company/plarium/blog/447820/

[41] AppsCast #4: GPU, гексагональные ускорители и линейная алгебра: https://apptractor.ru/info/media/appscast-4-gpu-geksagonalnye-uskoriteli-i-linejnaya-algebra.html

[42] Podlodka #106: Платформенная разработка: https://apptractor.ru/info/media/podlodka-106-platformennaya-razrabotka.html

[43] Disruptor Beam открывает свой бэкенд: https://apptractor.ru/info/news/disruptor-beam-otkryvaet-svoj-bekend.html

[44] Результаты опроса разработчиков Stack Overflow 2019: https://apptractor.ru/info/analytics/rezultaty-oprosa-razrabotchikov-stack-overflow.html

[45] Humble Book Bundle о классических видео-играх: https://apptractor.ru/info/news/humble-book-bundle-o-klassicheskih-video-igrah.html

[46] Snapchat открыл игровую платформу: https://apptractor.ru/info/news/snapchat-otkryl-igrovuyu-platformu.html

[47] Создание Action для Google Assistant: https://www.raywenderlich.com/1217997-building-an-action-for-google-assistant-getting-started

[48] Следует ли мне использовать React Native?: https://techhype.io/?story=should-i-use-react-native

[49] Как я взял идею и превратил ее в продукт: https://medium.com/swlh/how-i-productize-an-idea-a7dafee247ac

[50] Почему Test Driven Development (TDD) лучше всего подходит для надежного программирования: https://medium.com/swlh/why-test-driven-development-tdd-is-the-best-way-for-robust-coding-a1821de51e19

[51] Идеи приложений, которые повысят ваши навыки программирования: https://medium.freecodecamp.org/here-are-some-app-ideas-you-can-build-to-level-up-your-coding-skills-39618291f672

[52] Зачем и как я учу Flutter?: https://medium.com/flutter-community/why-and-how-am-i-learning-flutter-2652c15c8113

[53] Компьютерные игры на BASIC: http://www.vintage-basic.net/games.html

[54] Нет времени, нет денег, нет проблем: завершение The First Tree: https://www.gdcvault.com/play/1025702/No-Time-No-Budget-No

[55] Непрошенный редизайн Paypal: исследование UX: https://uxdesign.cc/paypal-unsolicited-redesign-cc3c2dea362

[56] Пять черт прекрасных программистов: https://towardsdatascience.com/five-behaviors-of-great-coders-65317395e16

[57] Создаем полноценное мобильное приложение на Ionic4: https://medium.com/nycdev/create-a-full-mobile-app-with-ionic4-2849df0d47c3

[58] Технический долг – перезанять или ликвидировать?: https://blog.ably.io/technical-debt-leverage-or-liquidate-7f6959ec7078

[59] Теория цвета для дизайнеров (с инфографикой): https://uxdesign.cc/color-theory-for-designers-a-crash-course-with-infographic-41d8b4c45619

[60] Angular приложение как Progressive Web App: https://medium.com/dev-jam/your-angular-app-as-progressive-web-app-e481043acf65

[61] Два способа сбора наград за рекламу в мобильных играх, или роботы должны работать: https://habr.com/ru/post/447908/

[62] Как Android-троян Gustuff снимает сливки (фиат и крипту): https://habr.com/ru/company/group-ib/blog/446948/

[63] Netflix упустил первое место в топе зарабатывающих приложений: https://apptractor.ru/measure/app-store-analytics/netflix-upustil-pervoe-mesto-v-tope-zarabatyvayushhih-prilozhenij.html

[64] Самые зарабатывающие приложения в Бразилии в 2018: https://apptractor.ru/info/analytics/samye-zarabatyvayushhie-prilozheniya-v-brazilii-v-2018.html

[65] Tonal: гимнастический зал на стене: https://apptractor.ru/info/techhype/tonal-gimnasticheskij-zal-na-stene.html

[66] У серии Candy Crush рекордный 1 квартал: https://apptractor.ru/info/news/u-serii-candy-crush-rekordnyj-1-kvartal.html

[67] Splash Screen: успешный первый запуск для вашего мобильного приложения: https://blog.mobile-patterns.com/splash-screen-designing-a-successful-launch-experience-for-your-mobile-app-b0b70a0ef32d

[68] Для чего и как мы скрываем госномера автомобилей в объявлениях Авито: https://habr.com/ru/company/avito/blog/447286/

[69] Фотографии из грубых набросков: как именно работает нейросеть NVIDIA GauGAN: https://habr.com/ru/company/itsumma/blog/447896/

[70] Виртуальная реальность – игра, лечение, жизнь. Технологии VR на службе реабилитационной медицины: https://habr.com/ru/post/447558/

[71] Как возникают «умные города»: https://habr.com/ru/post/447724/

[72] Устойчивость обучения GAN (Копаем глубже): https://habr.com/ru/post/447494/

[73] Как раскрутить новичка и ничего не сломать: https://habr.com/ru/company/readyforsky/blog/445974/

[74] Как технологии IoT изменят мир в ближайшие 10 лет: https://habr.com/ru/post/447838/

[75] KeyMe получил $50 млн на изготовление ключей: https://apptractor.ru/info/techhype/keyme-poluchil-50-mln-na-izgotovlenie-klyuchej.html

[76] Qualcomm улучшает работу ИИ в новых Snapdragon: https://apptractor.ru/info/devices/qualcomm-uluchshaet-rabotu-ii-v-novyh-snapdragon.html

[77] Дополненная реальность в Эрмитаже: 15 апреля стартует конкурс AR-приложений AR-craft: https://apptractor.ru/info/conferences/dopolnennaya-realnost-v-ermitazhe-15-aprelya-startuet-konkurs-ar-prilozhenij-ar-craft.html

[78] Умные ответы и Определение языка в ML Kit: https://apptractor.ru/info/news/umnye-otvety-i-opredelenie-yazyka-v-ml-kit.html

[79] Технодайджест (март 2019): https://apptractor.ru/info/articles/tehnodajdzhest-mart-2019.html

[80] Aroma: используем машинное обучение для рекомендаций кода: https://ai.facebook.com/blog/aroma-ml-for-code-recommendation/

[81] 3 самые большие ошибки в изучении Data Science: https://medium.com/swlh/the-3-biggest-mistakes-on-learning-data-science-f782e1a8abec

[82] Да, ИИ заменит дизайнеров: https://medium.com/microsoft-design/yes-ai-will-replace-designers-9d90c6e34502

[83] Предыдущий дайджест: https://habr.com/ru/company/everydaytools/blog/447110/

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

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