- PVSM.RU - https://www.pvsm.ru -
На этой неделе мы говорим про Continuous Integration, переход из веб-разработки в игры, темные темы, юнит-тесты, новый топ зарабатывающих и многомиллиардную индустрию изготовления ключей.
Эволюция CI в команде мобильной разработки [1] |
CI — это рабочий процесс, при котором вы как можйно чаще интегрируете свой код в общий код продукта. И не просто интегрируете, а еще и постоянно проверяете, что все работает. Так как проверять нужно много и часто, стоит задуматься об автоматизации. Можно все проверять на ручной тяге, но не стоит, и вот почему.
Reaktive — мультиплатформенная библиотека для реактивного Kotlin [2] |
Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого «callback hell», и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный код и легче управлять потоками данных (объединять, разделять и преобразовывать).
Этот дайджест доступен в виде еженедельной рассылки [3]. А ежедневно новости мы рассылаем в Telegram-канале [4].
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]
• Улучшаем цикл iOS-разработки с брекпоинтами [12]
• iOS: Umbrella Framework с CocoaPods [13]
• Работаем с MLDataTable из Create ML для предварительной обработки данных [14]
• Миграция со Swift 4 на Swift 5 [15]
• Создание динамической модульной архитектуры для iOS [16]
• UIView SmoothCorners: скругленные углы, как у Apple [17]
Android
• (+33) IntelliJ IDEA 2019.1: Кастомизация тем интерфейса, switch-выражения из Java 12, отладка внутри Docker-контейнеров [18]
• (+18) Как при помощи 2 видов unit-тестов сделать приложение более стабильным [19]
• Смартфоны с Android стали секретными ключами [20]
• Snap обновил Snapchat для Android [21]
• Перемещение изображений по экрану в Android [22]
• Что такое Android Lint и как он помогает писать поддерживаемый код [23]
• Приложение с фактами о Чаке Норрисе на Kotlin [24]
• Как просто генерировать Smart Replies с ML Kit на Android [25]
• Холодные потоки, горячие каналы [26]
• Воссоздаем градиент Facebook Messenger [27]
• Используем TextWatchers правильно [28]
• Играем с холстом Android drawVertices [29]
• Google запрещает плагины для Instant Apps [30]
• Как использовать Firebase для создания многопользовательской игры для Android [31]
• Конверсия Kotlin – 4 ловушки, на которые стоит обратить внимание [32]
• Шпаргалка по API анимаций в Android [33]
• Dagger и сверкающая новая @Component.Factory [34]
Разработка
• (+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]
• Создание Action для Google Assistant [47]
• Следует ли мне использовать React Native? [48]
• Как я взял идею и превратил ее в продукт [49]
• Почему Test Driven Development (TDD) лучше всего подходит для надежного программирования [50]
• Идеи приложений, которые повысят ваши навыки программирования [51]
• Зачем и как я учу Flutter? [52]
• Компьютерные игры на BASIC [53]
• Нет времени, нет денег, нет проблем: завершение The First Tree [54]
• Непрошенный редизайн Paypal: исследование UX [55]
• Пять черт прекрасных программистов [56]
• Создаем полноценное мобильное приложение на Ionic4 [57]
• Технический долг – перезанять или ликвидировать? [58]
• Теория цвета для дизайнеров (с инфографикой) [59]
• Angular приложение как Progressive Web App [60]
Аналитика, маркетинг и монетизация
• (+14) Два способа сбора наград за рекламу в мобильных играх, или роботы должны работать [61]
• (+14) Как Android-троян Gustuff снимает сливки (фиат и крипту) [62] с ваших счетов
• Netflix упустил первое место в топе зарабатывающих приложений [63]
• Самые зарабатывающие приложения в Бразилии в 2018 [64]
• Tonal: гимнастический зал на стене [65]
• У серии Candy Crush рекордный 1 квартал [66]
• Splash Screen: успешный первый запуск для вашего мобильного приложения [67]
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]
• Aroma: используем машинное обучение для рекомендаций кода [80]
• 3 самые большие ошибки в изучении Data Science [81]
• Да, ИИ заменит дизайнеров [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
Нажмите здесь для печати.