- PVSM.RU - https://www.pvsm.ru -
В этой подборке рендеринг экранов ВКонтакте, победы и поражения Flutter, архитектуры и скриншоты, продуктовая аналитика и архетипы игроков, виртуальные свидания в умных домах и много других интересных материалов!
Что делает ВКонтакте, чтобы уменьшить лаги отрисовки? Как отобразить очень большое сообщение и не убить UiThread? Как уменьшить задержки при скролле в RecyclerView?
Благодаря Xamarin и моей любви к этому фреймворку я, в принципе, перешел в стан разработчиков, этот инструмент помог заработать мне немалых денег, знаний и найти замечательных коллег. Так почему же сейчас я пишу на Flutter? Короткий ответ, потому что Flutter покрывает все потребности кросс-платформенной разработки.
Этот дайджест доступен в виде еженедельной рассылки [3]. А ежедневно новости мы рассылаем в Telegram-канале [4].
iOS
• (+7) Unit тесты для RxSwift кода [5]
• (+6) Автоматические скриншоты iOS с помощью XCTestplan и XCode 11 [6]
• (+5) HandsAppMVP: iOS-архитектура для студии аутсорс разработки [7]
• (+2) Неоморфизм с помощью SwiftUI. Часть 2: Что можно сделать с доступностью? [8] + Часть 1 [9]
• iOS-приложение с витрины Flutter может вообще не использовать фреймворк [10]
• Что разработчику ждать от iOS 14? [11]
• Swift 5.3 начнет поддерживать Windows [12]
• Создаем всплывающую кнопку оценки с помощью SwiftUI [13]
• 5 забавных iOS-библиотек для улучшения UI [14]
• Превью SwiftUI в масштабе [15]
• Реализация POP в iOS-приложении [16]
• Современные подходы к разработке пользовательского интерфейса в iOS [17]
• Что нового в Swift 5.3 [18]
• Codables: лучший способ парсинга данных в Swift [19]
• Динамические ссылки Firebase в приложения для iOS [20]
• Создание полностью прозрачного UITabBar в Swift [21]
• Топ-10 самых полезных iOS-библиотек в 2020 году [22]
• Как интегрировать fastlane в iOS-проект [23]
• Как создавать градиенты в Swift с помощью CAGradientLayer [24]
• Неудобная правда об отправке вашего приложения в Apple… [25]
• Как создать повторно используемые превью SwiftUI, которое можно сохранить в JSON-файл [26]
• RHLinePlot: график, как в Robinhood [27]
• EasySwiftLayout: простая работа с Auto-Layout в iOS [28]
Android
• (+76) Прокачиваем беговую дорожку [29]
• (+25) Контроль пульса во время пробежки через музыкальную обратную связь — или «ищутся тестировщики, любящие бегать» [30]
• (+16) Создание приложений с помощью Mediapipe [31]
• (+10) CI TeamCity — Автоматизация build процессов Android и UI тестирования [32]
• (+9) Пробуем и разбираемся с StateFlow [33]
• (+4) Декларативное программирование клиент-серверных приложений на Android. Часть 2 [34]
• (+3) MVVM и выбор элементов в адаптере — LiveData [35]
• Как я не создал свой бизнес по разработке Android-приложений [36]
• Android Dev Podcast #114: Новости [37]
• Прорезаем статику – поиск и устранение проблем с помощью статического анализатора кода Android Studio [38]
• Beetlens: кастомный Android UI на OpenGL [39]
• Как использовать Coil, собственный загрузчик изображений Kotlin [40]
• Расширяемый Recycler View в Android [41]
• Мгновенное распознавание речи на Android [42]
• Понимание корутинов в Kotlin с этой ментальной моделью [43]
• Git репозитории как зависимости Gradle [44]
• Движения Material Design для Android [45]
• FAB с BottomAppBar [46]
• Почему я отказался от любимого Gson в моем Kotlin-проекте [47]
• Обнаружение сбоев в опубликованном приложении для Android [48]
• Несколько навигационных графов (с нижней панелью навигации) [49]
• AGSkeletonLoading: экраны-скелеты для Android [50]
• EasyFlipViewPager: переворачивающиеся карточки [51]
• YouTag: музыкальный плеер для iOS [52]
Разработка
• (+32) Уменьшение размера React Native-приложения на 60% за несколько простых шагов [53]
• (+25) Программирование игры для embedded-устройства на ESP32 [54]
• (+24) Azure DevOps и App Center вместо тестовых ферм: упрощаем и ускоряем мобильную разработку с помощью облачных сервисов [55]
• (+11) Материальный Python. Кастомные карточки с OpenGL-эффектами [56]
• (+10) Лор и сюжет в несюжетных играх на примере Throne: Kingdom at War [57]
• (+10) Как улучшить производительность вашего Flutter приложения [58]
• (+5) Тенденции тестирования, к которым стоит присмотреться в 2020 году [59]
• (+4) Подробно о пакете Provider для Flutter [60]
• Podlodka #164: Продуктовая безопасность [61]
• make sense: о переходе на удаленку, спаде производительности и осознанности [62]
• Google и Apple запустили API для отслеживания контактов [63]
• Citrix представил App Protection для защиты данных на персональных устройствах [64]
• King открывает Defold [65]
• Плагин для Adobe XD экспортирует готовый код во Flutter [66]
• Где и как размещать Floating Action Buttons в мобильных приложениях [67]
• UX для недизайнеров, или что должен учитывать разработчик мобильных приложений [68]
• От отсутствия опыта в программировании к офферу от Microsoft за 1 год [69]
• Создание паззла на Flutter [70]
• 4 новых продукта GitHub, которые изменят ваш код [71]
• Трассировка лучей в Notepad.exe со скоростью 30 кадров в секунду [72]
• 3 ловушки, из-за которых разработчики перестают учиться [73]
• Динамические темы Flutter в 3 строчки [74]
Аналитика, маркетинг и монетизация
• (+6) Видеозаписи докладов митапа по продуктовой аналитике [75]
• (+4) Работающая геймификация: Octalysis Framework [76]
• GameRefinery отслеживает «Мотивацию игроков и их архетипы» [77]
• Маркетплейс RapidAPI привлек еще $25 млн. [78]
• «Руководство по работе с обратной связью пользователей» от Instabug [79]
• Трафик загрузки приложений вырос на треть [80]
• Checkaso выпустили инструмент для работы над текстовым ASO [81]
• Workstream: поиск не офисных работников [82]
• Rumble Hockey отдаст 100% дохода всем инфлюэнсерам [83]
• AirBnB и Bumble предлагаю виртуальные свидания [84]
• Constellation Software покупает TUNE [85]
• Mozilla начинает принимать заявки в Builders Incubator [86]
• Контента для Oculus Quest продано на $100 млн. [87]
• Как потратить $300 тысяч и узнать все о доставке кофе [88]
• «Второе пришествие» Apple Search Ads в Россию: какие первые выводы можно сделать [89]
• Как сделать мобильное приложение заметным в App Store и Google Play: инструкция по размещению и оптимизации [90]
• Построение прогноза аудитории и дохода с помощью когортного анализа в Excel/Google Spreadsheets [91]
AI, Устройства, IoT
• (+22) Хождение по граблям в чистом поле или как собрать MAC-адреса близлежащих Wi-Fi-устройств [92]
• (+19) Как построить “Умный дом" и не сойти с ума [93]
• (+8) IoT там, где вы не ждали (часть 3). Построение имитационной модели [94] + (часть 2) [95] + (часть 1) [96]
• Magic Leap получил еще $350 млн. [97]
• Samsung прекращает работу приложений виртуальной реальности [98]
• Mail.ru Group будет бесплатно готовить специалистов по анализу данных и машинному обучению [99]
• Sony и Microsoft сделали модуль камеры с ИИ [100]
• Программирование Raspberry Pi на Swift: светофоры [101]
• Пинбол на Arduino, который играет сам [102]
← Предыдущий дайджест [103]. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту [104].
Автор: DigitalEcosystems
Источник [105]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ui/353318
Ссылки в тексте:
[1] Как происходит рендеринг экрана сообщений ВКонтакте: https://habr.com/ru/company/vk/blog/501988/
[2] Почему Flutter побеждает?: https://habr.com/ru/post/501340/
[3] рассылки: http://apptractor.us3.list-manage2.com/subscribe?u=fbdb52f18301080a3cc983f4b&id=bb7bc0a9c0
[4] Telegram-канале: https://t.me/apptractor
[5] Unit тесты для RxSwift кода: https://habr.com/ru/post/502916/
[6] Автоматические скриншоты iOS с помощью XCTestplan и XCode 11: https://habr.com/ru/company/raiffeisenbank/blog/502626/
[7] HandsAppMVP: iOS-архитектура для студии аутсорс разработки: https://habr.com/ru/post/503364/
[8] Неоморфизм с помощью SwiftUI. Часть 2: Что можно сделать с доступностью?: https://habr.com/ru/company/otus/blog/503518/
[9] Часть 1: https://habr.com/ru/company/otus/blog/502592/
[10] iOS-приложение с витрины Flutter может вообще не использовать фреймворк: https://apptractor.ru/info/articles/flutters-showcase.html
[11] Что разработчику ждать от iOS 14?: https://apptractor.ru/info/articles/ios-14-developer.html
[12] Swift 5.3 начнет поддерживать Windows: https://apptractor.ru/info/news/swift-5-3-windows.html
[13] Создаем всплывающую кнопку оценки с помощью SwiftUI: https://levelup.gitconnected.com/popup-review-button-using-swiftui-2ddd6e6bf675
[14] 5 забавных iOS-библиотек для улучшения UI: https://medium.com/better-programming/5-fun-ios-libraries-to-improve-your-ui-2da28865b55
[15] Превью SwiftUI в масштабе: https://www.vadimbulavin.com/swiftui-previews-at-scale/
[16] Реализация POP в iOS-приложении: https://medium.com/@nivbp/implementing-pop-in-an-ios-app-b75d79297048
[17] Современные подходы к разработке пользовательского интерфейса в iOS: https://medium.com/moonpigtech/modern-approaches-to-ui-development-in-ios-7a76426a8a17
[18] Что нового в Swift 5.3: https://medium.com/swlh/whats-new-in-swift-5-3-ae135c9c259f
[19] Codables: лучший способ парсинга данных в Swift: https://medium.com/swiftcommmunity/codables-a-better-way-parse-data-in-swift-e08015f4ee4e
[20] Динамические ссылки Firebase в приложения для iOS: https://medium.com/macoclock/integrate-firebase-dynamic-links-to-ios-apps-91c53b6573a3
[21] Создание полностью прозрачного UITabBar в Swift: https://medium.com/@georrgee/creating-a-fully-transparent-uitabbar-in-swift-ae689f3e4c51
[22] Топ-10 самых полезных iOS-библиотек в 2020 году: https://infinum.com/the-capsized-eight/top-10-most-useful-iOS-libraries
[23] Как интегрировать fastlane в iOS-проект: https://medium.com/swlh/how-to-integrate-fastlane-into-ios-project-8db0a14f7a88
[24] Как создавать градиенты в Swift с помощью CAGradientLayer: https://medium.com/swlh/how-to-create-a-custom-gradient-in-swift-with-cagradientlayer-ios-swift-guide-190941cb3db2
[25] Неудобная правда об отправке вашего приложения в Apple…: https://medium.com/macoclock/the-uncomfortable-truth-about-submitting-your-app-to-apple-69772891c0d0
[26] Как создать повторно используемые превью SwiftUI, которое можно сохранить в JSON-файл: https://medium.com/better-programming/how-to-create-reusable-swiftui-previews-that-can-be-saved-as-json-files-2ca7b42c9ac6
[27] RHLinePlot: график, как в Robinhood: https://apptractor.ru/info/github/rhlineplot.html
[28] EasySwiftLayout: простая работа с Auto-Layout в iOS: https://apptractor.ru/info/github/easyswiftlayout.html
[29] Прокачиваем беговую дорожку: https://habr.com/ru/post/502368/
[30] Контроль пульса во время пробежки через музыкальную обратную связь — или «ищутся тестировщики, любящие бегать»: https://habr.com/ru/post/503228/
[31] Создание приложений с помощью Mediapipe: https://habr.com/ru/post/502440/
[32] CI TeamCity — Автоматизация build процессов Android и UI тестирования: https://habr.com/ru/post/502436/
[33] Пробуем и разбираемся с StateFlow: https://habr.com/ru/post/501308/
[34] Декларативное программирование клиент-серверных приложений на Android. Часть 2: https://habr.com/ru/post/502024/
[35] MVVM и выбор элементов в адаптере — LiveData: https://habr.com/ru/post/502454/
[36] Как я не создал свой бизнес по разработке Android-приложений: https://vc.ru/life/128242-kak-ya-ne-sozdal-svoy-biznes-po-razrabotke-android-prilozheniy
[37] Android Dev Podcast #114: Новости: https://androiddev.apptractor.ru/android-dev-podcast-114/
[38] Прорезаем статику – поиск и устранение проблем с помощью статического анализатора кода Android Studio: https://tech.okcupid.com/android-static-analysis-tips-and-tutorial/
[39] Beetlens: кастомный Android UI на OpenGL: https://medium.com/krootl/beetlens-42eac15503d0
[40] Как использовать Coil, собственный загрузчик изображений Kotlin: https://medium.com/better-programming/how-to-use-coil-kotlins-native-image-loader-d6715dda7d26
[41] Расширяемый Recycler View в Android: https://android.jlelse.eu/expandable-recycler-view-in-android-8d8927811ba7
[42] Мгновенное распознавание речи на Android: https://medium.com/better-programming/implement-continuous-speech-recognition-on-android-1dd2f4b562fd
[43] Понимание корутинов в Kotlin с этой ментальной моделью: https://www.lukaslechner.com/understanding-kotlin-coroutines-with-this-mental-model/
[44] Git репозитории как зависимости Gradle: https://proandroiddev.com/git-repos-as-gradle-dependencies-6c5dee58ba0b
[45] Движения Material Design для Android: https://proandroiddev.com/material-design-motion-for-android-396da62edb1c
[46] FAB с BottomAppBar: https://medium.com/swlh/floatingactionbutton-fab-with-bottomappbar-78e5762194ac
[47] Почему я отказался от любимого Gson в моем Kotlin-проекте: https://medium.com/swlh/why-i-ditched-beloved-gson-for-my-kotlin-project-4acc1809fb68
[48] Обнаружение сбоев в опубликованном приложении для Android: https://medium.com/tech-iiitg/crash-detection-in-published-android-app-21466f5cd38c
[49] Несколько навигационных графов (с нижней панелью навигации): https://www.rockandnull.com/jetpack-navigation-bottom-navigation-view/
[50] AGSkeletonLoading: экраны-скелеты для Android: https://apptractor.ru/info/github/agskeletonloading-jekrany-skelet-dlja-android.html
[51] EasyFlipViewPager: переворачивающиеся карточки: https://apptractor.ru/info/github/easyflipviewpager.html
[52] YouTag: музыкальный плеер для iOS: https://apptractor.ru/info/github/youtag.html
[53] Уменьшение размера React Native-приложения на 60% за несколько простых шагов: https://habr.com/ru/company/ruvds/blog/502422/
[54] Программирование игры для embedded-устройства на ESP32: https://habr.com/ru/post/502528/
[55] Azure DevOps и App Center вместо тестовых ферм: упрощаем и ускоряем мобильную разработку с помощью облачных сервисов: https://habr.com/ru/company/softline/blog/502930/
[56] Материальный Python. Кастомные карточки с OpenGL-эффектами: https://habr.com/ru/post/502438/
[57] Лор и сюжет в несюжетных играх на примере Throne: Kingdom at War: https://habr.com/ru/company/plarium/blog/502980/
[58] Как улучшить производительность вашего Flutter приложения: https://habr.com/ru/post/502882/
[59] Тенденции тестирования, к которым стоит присмотреться в 2020 году: https://habr.com/ru/company/otus/blog/502720/
[60] Подробно о пакете Provider для Flutter: https://habr.com/ru/company/piter/blog/503074/
[61] Podlodka #164: Продуктовая безопасность: https://apptractor.ru/info/media/podlodka-164.html
[62] make sense: о переходе на удаленку, спаде производительности и осознанности: https://apptractor.ru/info/media/make-sense-94.html
[63] Google и Apple запустили API для отслеживания контактов: https://apptractor.ru/all-api/exposure-notification-api.html
[64] Citrix представил App Protection для защиты данных на персональных устройствах: https://apptractor.ru/info/news/app-protection.html
[65] King открывает Defold: https://apptractor.ru/info/news/king-otkryvaet-defold.html
[66] Плагин для Adobe XD экспортирует готовый код во Flutter: https://apptractor.ru/info/news/adobe-xd-support-for-flutter.html
[67] Где и как размещать Floating Action Buttons в мобильных приложениях: https://ux.pub/gde-i-kak-razmeschat-floating-action-buttons-v-mobilnyh-prilozheniyah/
[68] UX для недизайнеров, или что должен учитывать разработчик мобильных приложений: https://vc.ru/design/126302-ux-dlya-nedizaynerov-ili-chto-dolzhen-uchityvat-razrabotchik-mobilnyh-prilozheniy
[69] От отсутствия опыта в программировании к офферу от Microsoft за 1 год: https://medium.com/swlh/how-i-went-from-no-coding-experience-to-a-microsoft-offer-in-1-year-91d7b8c8b464
[70] Создание паззла на Flutter: https://itnext.io/building-a-puzzle-game-in-flutter-41c6c1eee65a
[71] 4 новых продукта GitHub, которые изменят ваш код: https://medium.com/better-programming/4-new-github-products-that-will-change-how-you-code-27933401faa0
[72] Трассировка лучей в Notepad.exe со скоростью 30 кадров в секунду: http://kylehalladay.com/blog/2020/05/20/Rendering-With-Notepad.html
[73] 3 ловушки, из-за которых разработчики перестают учиться: https://medium.com/@steven.lemon182/3-traps-that-lead-developers-to-stop-learning-7d4c8248d159
[74] Динамические темы Flutter в 3 строчки: https://medium.com/swlh/flutter-dynamic-themes-in-3-lines-c3b375f292e3
[75] Видеозаписи докладов митапа по продуктовой аналитике: https://habr.com/ru/company/wrike/blog/502520/
[76] Работающая геймификация: Octalysis Framework: https://habr.com/ru/company/exness/blog/503276/
[77] GameRefinery отслеживает «Мотивацию игроков и их архетипы»: https://apptractor.ru/measure/user-analytics/gamerefinery-player-archetypes.html
[78] Маркетплейс RapidAPI привлек еще $25 млн.: https://apptractor.ru/all-api/rapidapi-25.html
[79] «Руководство по работе с обратной связью пользователей» от Instabug: https://apptractor.ru/measure/user-analytics/mobile-user-feedback-handbook.html
[80] Трафик загрузки приложений вырос на треть: https://apptractor.ru/info/analytics/app-download-data-usage.html
[81] Checkaso выпустили инструмент для работы над текстовым ASO: https://apptractor.ru/marketing-monetization/app-store-optimization/checkaso-text.html
[82] Workstream: поиск не офисных работников: https://apptractor.ru/info/techhype/workstream.html
[83] Rumble Hockey отдаст 100% дохода всем инфлюэнсерам: https://apptractor.ru/marketing-monetization/rumble-hockey.html
[84] AirBnB и Bumble предлагаю виртуальные свидания: https://apptractor.ru/info/news/airbnb-bumble.html
[85] Constellation Software покупает TUNE: https://apptractor.ru/marketing-monetization/app-promotion-campaign-analytics/tune-out.html
[86] Mozilla начинает принимать заявки в Builders Incubator: https://apptractor.ru/info/news/mozilla-builders-incubator.html
[87] Контента для Oculus Quest продано на $100 млн.: https://apptractor.ru/measure/app-store-analytics/oculus-quest-100.html
[88] Как потратить $300 тысяч и узнать все о доставке кофе: https://vc.ru/tribuna/128151-kak-potratit-300-tysyach-i-uznat-vse-o-dostavke-kofe
[89] «Второе пришествие» Apple Search Ads в Россию: какие первые выводы можно сделать: https://vc.ru/marketing/128196-vtoroe-prishestvie-apple-search-ads-v-rossiyu-kakie-pervye-vyvody-mozhno-sdelat
[90] Как сделать мобильное приложение заметным в App Store и Google Play: инструкция по размещению и оптимизации: https://vc.ru/marketing/128119-kak-sdelat-mobilnoe-prilozhenie-zametnym-v-app-store-i-google-play-instrukciya-po-razmeshcheniyu-i-optimizacii
[91] Построение прогноза аудитории и дохода с помощью когортного анализа в Excel/Google Spreadsheets: https://gopractice.ru/forecast_cohort_analysis_template/
[92] Хождение по граблям в чистом поле или как собрать MAC-адреса близлежащих Wi-Fi-устройств: https://habr.com/ru/post/503382/
[93] Как построить “Умный дом" и не сойти с ума: https://habr.com/ru/company/bary_io/blog/502056/
[94] IoT там, где вы не ждали (часть 3). Построение имитационной модели: https://habr.com/ru/company/jugru/blog/503064/
[95] (часть 2): https://habr.com/ru/company/jugru/blog/502898/
[96] (часть 1): https://habr.com/ru/company/jugru/blog/501922/
[97] Magic Leap получил еще $350 млн.: https://apptractor.ru/info/news/magic-leap-350.html
[98] Samsung прекращает работу приложений виртуальной реальности: https://apptractor.ru/info/news/samsung-xr-quit.html
[99] Mail.ru Group будет бесплатно готовить специалистов по анализу данных и машинному обучению: https://apptractor.ru/learn/made-ml.html
[100] Sony и Microsoft сделали модуль камеры с ИИ: https://apptractor.ru/info/devices/sony-microsoft-imx500.html
[101] Программирование Raspberry Pi на Swift: светофоры: https://itnext.io/raspberry-pi-coding-in-swift-traffic-lights-559f9d7f87c5
[102] Пинбол на Arduino, который играет сам: https://www.instructables.com/id/Arduino-Pinball-Machine-That-Plays-Itself/
[103] Предыдущий дайджест: https://habr.com/ru/company/digital-ecosystems/blog/502352/
[104] почту: mailto:lbogolubov@gmail.com
[105] Источник: https://habr.com/ru/post/503562/?utm_source=habrahabr&utm_medium=rss&utm_campaign=503562
Нажмите здесь для печати.