- PVSM.RU - https://www.pvsm.ru -
В этом выпуске MVVM и MVI, близкие взаимодействия и плавные переходы, годы в геймдеве и много Flutter, самые скачиваемые и зарабатывающие приложения июня и много других интересных материалов!
Советую запастись попкорном и кока-колой — это вечернее шоу о том, как я ни в чем себе не отказывал, в очередной раз реализуя MVVM в одном из своих домашних проектов. Сегодня вторая серия: про то, как из MVC сделать MVVM и не наступить в реактивщину.
Мы будем реализовывать специфичные для платформы части общего модуля и интегрировать их в iOS- и Android-приложения. Как и прежде, я предполагаю, что читатель уже имеет базовые знания о Kotlin Multiplatform, поэтому не буду рассказывать о конфигурациях проектов и других вещах, не связанных с MVI в Kotlin Multiplatform.
Этот дайджест доступен в виде еженедельной рассылки [3]. А ежедневно новости мы рассылаем в Telegram-канале [4].
iOS
• (+7) Как я простые циклы искал [5]
• (+3) Ликбез для дизайнеров с конференции Apple WWDC 2020 [6]
• Работаем с Nearby Interaction в iOS 14 [7]
• Новые App Store Connect API для управления приложениями в App Store [8]
• Нет, Apple не движется в сторону неоморфизма [9]
• Лучшие iOS библиотеки/фреймворки в 2020 году [10]
• Восхитительные интерактивные анимации [11]
• 6 удивительных SwiftUI-библиотек для использования в вашем следующем проекте [12]
• Неоморфизм на SwiftUI [13]
• Прощайте, Target Actions. привет, UIActions [14]
• Создаем простые и более современные Collection View в iOS 14+ [15]
• Как создать FAB в iOS на Swift [16]
• Мои лучшие 5 хитростей работы с Xcode [17]
• Анимируем скучные TableView в iOS-приложении [18]
• 10 снипетов с WWDC20 [19]
• Что нового в UIMenu и ContextMenu в iOS 14 [20]
• Работаем с Swift Generics: практическое руководство по повторному использованию кода [21]
• Создаем UILabel с динамическим размером шрифта в Swift 5 [22]
• Рисование произвольных фигур с помощью UIBezierPath [23]
• Firebase remote config в iOS [24]
• OpenMTP: передача файлов с macOS на Android [25]
• Swift Sunburst Diagram: многоуровневая круговая диаграмма на SwiftUI [26]
Android
• (+19) Анимация в Android: плавные переходы фрагментов внутри Bottom Sheet [27]
• (+19) Современные Android-устройства достаточно безопасны и вот почему [28]
• (+9) «На первую платформу прибывает...» Истории разработчиков в AppGallery от Huawei [29]
• (+4) Что нового в RxJava 3 [30]
• Начат прием заявок на 2020 Material Design Award [31]
• Оптимизируем скорость сборки вашего Android-проекта [32]
• Начинаем работать с MVI-архитектурой на Android [33]
• Кастомные Drawable [34]
• Пишем плавный код на Kotlin [35]
• Курс Kotlin со сборкой AR Android-приложения [36]
• Как реализовать HyperLog на Kotlin в Android [37]
• Уведомления для людей [38]
• Firebase OTP аутентификация в Android [39]
• Реализуем In-App обновления в Android [40]
• BaseActivity и BaseFragment – монстры [41]
• Определение активности пользователей в Android с помощью Transition API [42]
• Путешествие Jetpack [43]
• TextWriter: анимированный текст [44]
• Antimine — Minesweeper: сапер для Android [45]
Разработка
• (+28) Мои десять лет в геймдеве [46]
• (+15) Страх и ненависть в геймдеве: от первых шагов до первых денег [47]
• (+13) Flutter. Разбираемся, как рисовать различные фигуры с помощью CustomClipper [48]
• (+10) Flutter. Упрощаем компоновку виджетов с помощью Dart расширений [49]
• (+9) Автоматизация тестирования в микросервисной архитектуре [50]
• (+7) Лексоранги — что это такое и как их использовать для эффективной сортировки списков [51]
• (+4) Model-Widget-WidgetModel, или какой архитектурой пользуется Flutter-команда в Surf [52]
• (+2) Какой хороший app store Xiaomi. Удалил приложение из своего магазина после обновления, потому что оно на русском языке [53]
• (+1) Как найти границы на клиенте и сервере [54]
• (+1) Безопасность мобильных устройств и приложений: пять популярных сценариев атак и способы защиты [55]
• Facebook SDK вызвал падение приложений по всему миру [56]
• 15 видео-руководств по созданию приложений на Flutter [57]
• make sense: Об опыте создания продукта с нуля и различиях в работе и навыках продакт и проджект-менеджеров [58]
• Podlodka #171: дата-центры [59]
• Дизайн приложений: примеры для вдохновения #8 [60]
• Flutter будет работать на Linux [61]
• Опрос Developer Economics за 2-й квартал 2020 года [62]
• Как стать разработчиком игр 2020 [63]
• Меню, метафоры и материалы: основные этапы проектирования пользовательского интерфейса [64]
• Как проектировать лучшие кнопки [65]
• Как мы сделали приложение по доставке для ресторанов и кафе за 200 тысяч рублей бесплатным [66]
• Принимаем платежи с помощью Google Pay через Stripe во Flutter [67]
• Изучаем UX: как создать супер приложение [68]
• Самосовершенствование может быть самой большой проблемой для разработчиков. Так как мы это делаем? [69]
• Prism: обои на Flutter [70]
Аналитика, маркетинг и монетизация
• В Tetris запустилось игровое шоу Primetime с призовым фондом в $1 млн. [71]
• Павел Дуров снова призвал бороться с монополией Apple и Google [72]
• Использовать мобильные приложения во 2 квартале 2020 года во всем мире стали на 40% больше [73]
• Самые скачиваемые приложения в июне 2020 [74]
• Самые зарабатывающие приложения в июне 2020 [75]
• S’More: мобильный размытый дейтинг [76]
• Mail.ru Group запустила Look-alike таргетинг на основе данных мобильных трекеров [77]
• myTracker начал поддерживать мультиплатформенную атрибуцию [78]
• Как использовать когортный анализ для уменьшения оттока пользователей и принятия лучших решений [79]
AI, Устройства, IoT
• (+111) Собираем недорогой 9.7" E-Ink дисплей для отображения чего угодно [80]
• (+25) Встраиваемый компьютер AntexGate. От прототипа к серийному производству [81]
• (+7) Чеклист для проекта по машинному обучению [82]
• (+4) Как изучать Machine Learning 5 дней в неделю 9 месяцев подряд [83]
• Ученые сделали перчатку, преобразующую язык жестов в текст [84]
• Как я пытался скопировать чужую ERP-систему и попал на 7 млн рублей [85]
← Предыдущий дайджест [86]. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту [87].
Автор: DigitalEcosystems
Источник [88]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ui/354924
Ссылки в тексте:
[1] Доступный MVVM на хакнутых экстеншенах: https://habr.com/ru/company/tinkoff/blog/509014/
[2] Архитектурный шаблон MVI в Kotlin Multiplatform: https://habr.com/ru/company/badoo/blog/510304/
[3] рассылки: http://apptractor.us3.list-manage2.com/subscribe?u=fbdb52f18301080a3cc983f4b&id=bb7bc0a9c0
[4] Telegram-канале: https://t.me/apptractor
[5] Как я простые циклы искал: https://habr.com/ru/post/510174/
[6] Ликбез для дизайнеров с конференции Apple WWDC 2020: https://habr.com/ru/company/redmadrobot/blog/510472/
[7] Работаем с Nearby Interaction в iOS 14: https://apptractor.ru/info/articles/nearby-interaction.html
[8] Новые App Store Connect API для управления приложениями в App Store: https://apptractor.ru/info/news/app-store-connect-api.html
[9] Нет, Apple не движется в сторону неоморфизма: https://ux.pub/net-apple-ne-dvizhetsya-v-storonu-neomorfizma/
[10] Лучшие iOS библиотеки/фреймворки в 2020 году: https://instabug.com/blog/top-ios-libraries-and-frameworks/
[11] Восхитительные интерактивные анимации: https://medium.com/@mshcheglov/delightful-interactive-animations-7a7823019c12
[12] 6 удивительных SwiftUI-библиотек для использования в вашем следующем проекте: https://medium.com/better-programming/6-amazing-swiftui-libraries-to-use-in-your-next-project-part-2-df5fb94680bc
[13] Неоморфизм на SwiftUI: https://medium.com/swlh/neumorphic-design-in-swiftui-643f252f7267
[14] Прощайте, Target Actions. привет, UIActions: https://medium.com/better-programming/goodbye-target-actions-hello-uiactions-a60e1e2052d5
[15] Создаем простые и более современные Collection View в iOS 14+: https://medium.com/better-programming/build-simpler-more-modern-collection-views-in-ios-14-ca74eab2bb89
[16] Как создать FAB в iOS на Swift: https://www.warmodroid.xyz/tutorial/how-to-design-the-floating-action-button-in-ios-swift/
[17] Мои лучшие 5 хитростей работы с Xcode: https://medium.com/swlh/my-top-5-xcode-tricks-9c4301a2118a
[18] Анимируем скучные TableView в iOS-приложении: https://medium.com/flawless-app-stories/animate-the-boring-tableviews-in-your-ios-app-a98bc6dee3e9
[19] 10 снипетов с WWDC20: https://medium.com/swlh/10-code-snippets-from-wwdc20-5dba158e2903
[20] Что нового в UIMenu и ContextMenu в iOS 14: https://medium.com/better-programming/whats-new-in-ios-14s-uimenu-and-contextmenu-433cd2037c37
[21] Работаем с Swift Generics: практическое руководство по повторному использованию кода: https://matteomanferdini.com/swift-generics/
[22] Создаем UILabel с динамическим размером шрифта в Swift 5: https://levelup.gitconnected.com/create-a-uilabel-with-dynamic-font-size-in-swift-5-f49ccc26dc5f
[23] Рисование произвольных фигур с помощью UIBezierPath: https://medium.com/@ayusinghi96/draw-custom-shapes-and-views-with-uiberzierpath-ios-1737f5cb975
[24] Firebase remote config в iOS: https://www.warmodroid.xyz/tutorial/ios/how-to-implement-firebase-remote-config-in-ios/
[25] OpenMTP: передача файлов с macOS на Android: https://apptractor.ru/info/github/openmtp.html
[26] Swift Sunburst Diagram: многоуровневая круговая диаграмма на SwiftUI: https://apptractor.ru/info/github/swiftsunburstdiagram.html
[27] Анимация в Android: плавные переходы фрагментов внутри Bottom Sheet: https://habr.com/ru/company/dodopizzadev/blog/510066/
[28] Современные Android-устройства достаточно безопасны и вот почему: https://habr.com/ru/company/vdsina/blog/509934/
[29] «На первую платформу прибывает...» Истории разработчиков в AppGallery от Huawei: https://habr.com/ru/article/510470/
[30] Что нового в RxJava 3: https://habr.com/ru/company/simbirsoft/blog/510400/
[31] Начат прием заявок на 2020 Material Design Award: https://apptractor.ru/info/conferences/2020-material-design-award.html
[32] Оптимизируем скорость сборки вашего Android-проекта: https://www.crazylegend.dev/2020/07/optimize-build-speeds-for-your-android.html
[33] Начинаем работать с MVI-архитектурой на Android: https://proandroiddev.com/getting-started-with-mvi-architecture-on-android-b2c280b7023
[34] Кастомные Drawable: https://medium.com/swlh/custom-drawable-25f56044e8dc
[35] Пишем плавный код на Kotlin: https://levelup.gitconnected.com/write-fluent-code-in-kotlin-133647f2a869
[36] Курс Kotlin со сборкой AR Android-приложения: https://www.blog.duomly.com/kotlin-course-with-building-android-augmented-reality-app-lesson1-how-to-setup-android-studio-and-arcore-for-augmented-reality-project/
[37] Как реализовать HyperLog на Kotlin в Android: https://medium.com/better-programming/how-to-implement-hyperlog-with-kotlin-in-android-21f34a950c83
[38] Уведомления для людей: https://medium.com/androiddevelopers/people-notifications-2a2e4fb6ee96
[39] Firebase OTP аутентификация в Android: https://www.warmodroid.xyz/tutorial/firebase/firebase-otp-authentication-in-android/
[40] Реализуем In-App обновления в Android: https://medium.com/swlh/implementing-in-app-updates-in-android-26ea27609bd2
[41] BaseActivity и BaseFragment – монстры: https://proandroiddev.com/baseactivity-and-basefragment-are-monsters-5cda31639938
[42] Определение активности пользователей в Android с помощью Transition API: https://heartbeat.fritz.ai/detect-users-activity-in-android-using-activity-transition-api-f718c844efb2
[43] Путешествие Jetpack: https://proandroiddev.com/the-journey-of-jetpack-introduction-2cc565387550
[44] TextWriter: анимированный текст: https://apptractor.ru/info/github/textwriter.html
[45] Antimine — Minesweeper: сапер для Android: https://apptractor.ru/info/github/antimine-minesweeper.html
[46] Мои десять лет в геймдеве: https://habr.com/ru/company/digital-ecosystems/blog/509912/
[47] Страх и ненависть в геймдеве: от первых шагов до первых денег: https://habr.com/ru/post/510506/
[48] Flutter. Разбираемся, как рисовать различные фигуры с помощью CustomClipper: https://habr.com/ru/post/509384/
[49] Flutter. Упрощаем компоновку виджетов с помощью Dart расширений: https://habr.com/ru/post/510106/
[50] Автоматизация тестирования в микросервисной архитектуре: https://habr.com/ru/company/avito/blog/509280/
[51] Лексоранги — что это такое и как их использовать для эффективной сортировки списков: https://habr.com/ru/post/510448/
[52] Model-Widget-WidgetModel, или какой архитектурой пользуется Flutter-команда в Surf: https://habr.com/ru/company/surfstudio/blog/510308/
[53] Какой хороший app store Xiaomi. Удалил приложение из своего магазина после обновления, потому что оно на русском языке: https://habr.com/ru/post/509806/
[54] Как найти границы на клиенте и сервере: https://habr.com/ru/post/510458/
[55] Безопасность мобильных устройств и приложений: пять популярных сценариев атак и способы защиты: https://habr.com/ru/company/pt/blog/509814/
[56] Facebook SDK вызвал падение приложений по всему миру: https://apptractor.ru/info/news/facebook-sdk-crash.html
[57] 15 видео-руководств по созданию приложений на Flutter: https://apptractor.ru/develop/cross-platform-development/flutter-tutorial.html
[58] make sense: Об опыте создания продукта с нуля и различиях в работе и навыках продакт и проджект-менеджеров: https://apptractor.ru/info/media/make-sense-101.html
[59] Podlodka #171: дата-центры: https://apptractor.ru/info/media/podlodka-171.html
[60] Дизайн приложений: примеры для вдохновения #8: https://apptractor.ru/info/articles/app-design-proto-8.html
[61] Flutter будет работать на Linux: https://apptractor.ru/info/news/flutter-linux.html
[62] Опрос Developer Economics за 2-й квартал 2020 года: https://apptractor.ru/info/analytics/developer-economics-2020.html
[63] Как стать разработчиком игр 2020: https://apptractor.ru/info/media/kak-stat-razrabotchikom-igr.html
[64] Меню, метафоры и материалы: основные этапы проектирования пользовательского интерфейса: https://ux.pub/menyu-metafory-i-materialy-osnovnye-etapy-proektirovaniya-polzovatelskogo-interfeysa/
[65] Как проектировать лучшие кнопки: https://ux.pub/kak-proektirovat-luchshie-knopki/
[66] Как мы сделали приложение по доставке для ресторанов и кафе за 200 тысяч рублей бесплатным: https://vc.ru/tribuna/140342-kak-my-sdelali-prilozhenie-po-dostavke-dlya-restoranov-i-kafe-za-200-tysyach-rubley-besplatnym
[67] Принимаем платежи с помощью Google Pay через Stripe во Flutter: https://medium.com/swlh/accept-payments-using-google-pay-through-stripe-in-flutter-d65dfaa0091a
[68] Изучаем UX: как создать супер приложение: https://medium.muz.li/ux-case-study-how-to-create-a-super-app-c5a1dabf3255
[69] Самосовершенствование может быть самой большой проблемой для разработчиков. Так как мы это делаем?: https://codeburst.io/improving-might-be-the-biggest-challenge-for-software-developers-so-how-do-we-do-it-377859e6d70d
[70] Prism: обои на Flutter: https://apptractor.ru/info/github/prism.html
[71] В Tetris запустилось игровое шоу Primetime с призовым фондом в $1 млн.: https://apptractor.ru/info/apps/tetris-primetime.html
[72] Павел Дуров снова призвал бороться с монополией Apple и Google: https://apptractor.ru/info/news/kak-apple-unichtozhaet-startapy.html
[73] Использовать мобильные приложения во 2 квартале 2020 года во всем мире стали на 40% больше: https://apptractor.ru/measure/app-store-analytics/ispolzovat-mobilnye-prilozhenija-vo-2-kvartale-2020-goda-vo-vsem-mire-stali-na-40-bolshe.html
[74] Самые скачиваемые приложения в июне 2020: https://apptractor.ru/measure/app-store-analytics/top-apps-worldwide-june-2020.html
[75] Самые зарабатывающие приложения в июне 2020: https://apptractor.ru/info/analytics/top-grossing-apps-worldwide-june-2020.html
[76] S’More: мобильный размытый дейтинг: https://apptractor.ru/info/techhype/s-more.html
[77] Mail.ru Group запустила Look-alike таргетинг на основе данных мобильных трекеров: https://apptractor.ru/marketing-monetization/ad-networks/mytarget-look-alike.html
[78] myTracker начал поддерживать мультиплатформенную атрибуцию: https://apptractor.ru/marketing-monetization/app-promotion-campaign-analytics/mytracker-multiplatform.html
[79] Как использовать когортный анализ для уменьшения оттока пользователей и принятия лучших решений: https://apptractor.ru/measure/user-analytics/kak-ispolzovat-kogortnyiy-analiz-dlya-umensheniya-ottoka-polzovateley-i-prinyatiya-luchshih-resheniy.html
[80] Собираем недорогой 9.7" E-Ink дисплей для отображения чего угодно: https://habr.com/ru/post/510102/
[81] Встраиваемый компьютер AntexGate. От прототипа к серийному производству: https://habr.com/ru/post/510114/
[82] Чеклист для проекта по машинному обучению: https://habr.com/ru/company/skillfactory/blog/509946/
[83] Как изучать Machine Learning 5 дней в неделю 9 месяцев подряд: https://habr.com/ru/company/skillfactory/blog/510444/
[84] Ученые сделали перчатку, преобразующую язык жестов в текст: https://apptractor.ru/info/devices/ucla-glove.html
[85] Как я пытался скопировать чужую ERP-систему и попал на 7 млн рублей: https://vc.ru/life/140133-kak-ya-pytalsya-skopirovat-chuzhuyu-erp-sistemu-i-popal-na-7-mln-rubley
[86] Предыдущий дайджест: https://habr.com/ru/company/digital-ecosystems/blog/509712/
[87] почту: mailto:lbogolubov@gmail.com
[88] Источник: https://habr.com/ru/post/510624/?utm_source=habrahabr&utm_medium=rss&utm_campaign=510624
Нажмите здесь для печати.