- PVSM.RU - https://www.pvsm.ru -
В этом дайджесте рефакторинг, UI, UX и анимации, возвращение триала в App Store, Kotlin как “прорыв года”, хакатоны для развития команды, скрытые игровые механики и заработки FaceApp.

Что делает инженер, когда необходимый инструмент отсутствует? Верно, сделает всё сам! Ранее мы уже рассказывали о создании своих кастомных инструментов, теперь поговорим о том, как модифицировать Xcode и заставить его работать по твоим правилам.
Я неустанно собирал ui kit’ы, экспериментировал с контентом в плейсхолдерах, стилями, тенями текстами и состояниями, чтобы понять влияет ли это на конверсию. Иначе говоря, смогу ли я увеличить продажи дизайн-продуктов для Figma, если добавлю немного визуальной динамики в статичные дизайн-макеты, чтобы сделать темплейты интереснее и функциональнее.
Этот дайджест доступен в виде еженедельной рассылки [3]. А ежедневно новости мы рассылаем в
Telegram-канале [4].
iOS
• (+20) Custom refactoring tool: Swift [1]
• (+16) Разработка приложения на SwiftUI. Часть 1: поток данных и Redux [5]
• (+14) Вот это поворот: почему Apple изменила требования к разработчикам приложений [6]
• (+9) Создаем шаблон Xcode проекта [7]
• (+2) Из веба и банков в iOS-разработку: личный опыт программиста Apiqa [8]
• Лояльность владельцев iPhone достигла минимума [9]
•
Работа с CloudKit [10]
• Apple представляет новые эмодзи [11]
• Триал для приложений: возвращение в App Store? [12]
• Обзор новой операционной системы iPadOS Beta от Apple [13]
•
Как использовать iOS Background Task, чтобы поддерживать ваше приложение в актуальном состоянии [14]
•
Инкрементальная загрузка и анимация изображений в SwiftUI [15]
•
iOS 13 – готово ваше приложение к темноте? [16]
•
Сокращение объема памяти и OOM-завершений в iOS [17]
•
Создание статичных фреймворков в Carthage [18]
•
Начинаем работу с Combine в Swift [19]
•
Разбил лобовое стекло и заработал $ 10 000 в программе поиска уязвимостей Tesla [20]
•
Как использовать Swift для WatchConnectivity [21]
•
Быстрые очереди на Swift [22]
•
Создаем Поисковую панель с материальным дизайном в iOS [23]
•
Управление фоновыми задачами с новым Task Scheduler в iOS 13 [24]
•
MagazineLayout: UICollectionView от Airbnb [25]
Android
• (+15) Как реализовать чистую архитектуру на Android? [26]
• Google во много раз увеличил вознаграждения за поиск уязвимостей в Chrome, Chrome OS и Google Play [27]
• Kotlin стал “Прорывным проектом года” [28]
• Разработка под Android: советы самому себе [29]
• Microsoft Word достиг 1 млрд. скачиваний на Android [30]
•
Видео Conference for Kotliners 2019 [31]
•
Курс по Kotlin – руководство для начинающих [32]
•
Разработка игры в рулетку для Android [33]
•
Google Analytics вместе с Tag Manager + Firebase [34]
•
Создание обложек для Wear OS [35]
•
Готовим приложение для Android Q [36]
•
Как сделать View функцией State в Kotlin [37]
•
Пакет приложений и Sideloading: как предотвратить сбои [38]
•
Создаем сканер QR-кодов с использованием Firebase ML Kit и CameraX [39]
•
Исследуем App Actions на Android [40]
•
10 самых многообещающих трендов Android-разработки в 2019 [41]
•
Как Kotlin упростил мою жизнь в мире Java [42]
•
Модели потоков в Корутинах и Android SQLite API [43]
•
Эксперимент: превращаем MVP в MVVM без ViewModel library [44]
•
Pro Bulk Sms Sender: массовая отправка СМС [45]
Разработка
• (+15) Как UX-писатель помогает улучшить продукт [46]
• (+12) React Native: делаем draggable & swipeable список [47]
• (+11) Дизайнеры vs разработчики: об истории создания приложения «Мой умный город» [48]
• (+7) Вышла Preview-версия XAML Hot Reload для Xamarin.Forms [49]
• (+7) Нативная разработка, React Native и Flutter: критерии выбора [50]
• (+3) Как обеспечить безопасность разработки, сохранив время и нервы [51]
• (+2) Базовые навыки для работы с Unity [52]
• (+1) Как разработать ещё один платформер с помощью Unity. Ещё один туториал, ч.2 [53]
• 6 принципов функциональной анимации: как сделать правильные переходы [54]
• Podlodka #120: Kubernetes [55]
•
UI-тесты [56]
• AppsCast #9: Тимлид, или Туда и обратно [57]
• Stein: база данных из Таблицы Google [58]
• Как повысить эффективность удаленной команды с помощью хакатонов [59]
• Могут ли цифровые продукты быть безвременными? [60]
• Wilberries открывает школу программирования [61]
• Наталья Першиц (World of Tanks Blitz): все танки различаются [62]
• Сравнение Ionic и Flutter для разработки мобильных и прогрессивных приложений [63]
• Постбраузерная эпоха [64]
•
В поисках неявной стоимости дизайна [65]
•
Архитектура Instagram – как хранить и искать миллиарды изображений [66]
•
Прекратите писать комментарии в коде [67]
•
Забудьте о пользователях, думайте о людях [68]
•
Кто такой тестировщик? [69]
•
Хороший UX, плохой UX: Создаем UX, который работает [70]
•
4 минуты на то, чтобы стать лучшим разработчиком [71]
•
Code Reviews в Medium [72]
•
Как думать по noSQL с Firebase [73]
•
Сколько стоит локализация? [74]
•
Объектно-ориентированное программирование – Бедствие на триллион долларов [75]
•
ShineButton: сияющие кнопки [76]
Аналитика, маркетинг и монетизация
• (+54) Зачем нужны скрытые игровые механики [77]
• (+8) Продолжая ASO: тренды, рейтинги и немножко отзывов [78]
• FaceApp заработал $1 млн за 10 дней [79]
• 10x Ascend: торг с работодателем [80]
• Маркетинг влияния вырос на 83% [81]
• 1,500 игровых автоматов входят в бар: дело в количестве, а не качестве [82]
• Blackstone покупает Vungle [83]
• Minecraft Earth начинает бета-тестирование [84]
• Идея для приложения: с чего все начинать? [85]
• Самые зарабатывающие приложения с подпиской во 2 квартале 2019 [86]
• Google AdSense отказывается от мобильных приложений [87]
• Сегментация как инструмент поиска инсайтов [88]
• Anvyl: управление D2C [89]
•
Как определить токсичного издателя мобильных игр [90]
AI, Устройства, IoT
• (+74) Как мы обучили нейронную сеть классифицировать шурупы [91]
• (+40) Опыт моделеварения от команды Computer Vision Mail.ru [92]
• (+26) Галерея лучших блокнотов по ML и Data Science [93]
• (+15) Риски и угрозы в Интернете вещей [94]
• (+12) Роботы и клубничка: как AI повышает урожайность полей [95]
• Инструкция: создать и загрузить разметку изображений в новый инструмент Apple для обучения нейросетей Create ML [96]
•
Топ-10 инструментов Data Science и ML для не-программистов [97]
•
Разбил лобовое стекло и заработал $ 10 000 в программе поиска уязвимостей Tesla [20]
← Предыдущий дайджест [98]. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту [99].
Автор: DigitalEcosystems
Источник [100]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ux/324632
Ссылки в тексте:
[1] Custom refactoring tool: Swift: https://habr.com/ru/company/sberbank/blog/460227/
[2] 8 простых UI приёмов чтобы сделать дизайн-прототип динамичным, не прибегая к анимации: https://habr.com/ru/post/459964/
[3] рассылки: http://apptractor.us3.list-manage2.com/subscribe?u=fbdb52f18301080a3cc983f4b&id=bb7bc0a9c0
[4] Telegram-канале: https://t.me/apptractor
[5] Разработка приложения на SwiftUI. Часть 1: поток данных и Redux: https://habr.com/ru/company/skillbox/blog/460713/
[6] Вот это поворот: почему Apple изменила требования к разработчикам приложений: https://habr.com/ru/company/1cloud/blog/460777/
[7] Создаем шаблон Xcode проекта: https://habr.com/ru/company/surfstudio/blog/460265/
[8] Из веба и банков в iOS-разработку: личный опыт программиста Apiqa: https://habr.com/ru/post/460223/
[9] Лояльность владельцев iPhone достигла минимума: https://apptractor.ru/info/analytics/iphone-low.html
[10] Работа с CloudKit: https://apptractor.ru/info/media/cloudkit.html
[11] Apple представляет новые эмодзи: https://apptractor.ru/info/news/apple-new-emoji.html
[12] Триал для приложений: возвращение в App Store?: https://apptractor.ru/marketing-monetization/trialware.html
[13] Обзор новой операционной системы iPadOS Beta от Apple: https://ux.pub/planshety-apple-snova-v-prioritete-blagodarya-ipados/
[14] Как использовать iOS Background Task, чтобы поддерживать ваше приложение в актуальном состоянии: https://www.spaceotechnologies.com/ios-background-task-framework-app-update/
[15] Инкрементальная загрузка и анимация изображений в SwiftUI: https://davidbeck.co/posts/2019-07-14-imageio-swiftui
[16] iOS 13 – готово ваше приложение к темноте?: https://medium.com/better-programming/ios-13-is-your-app-ready-for-the-dark-6aa73adec14b
[17] Сокращение объема памяти и OOM-завершений в iOS: https://medium.com/flawless-app-stories/techniques-to-reduce-memory-footprint-and-oom-terminations-in-ios-a0f6bef38217
[18] Создание статичных фреймворков в Carthage: https://medium.com/fluxom/building-static-frameworks-under-carthage-ed010c904296
[19] Начинаем работу с Combine в Swift: https://medium.com/better-programming/getting-started-with-the-combine-framework-in-swift-36fe4ff6e568
[20] Разбил лобовое стекло и заработал $ 10 000 в программе поиска уязвимостей Tesla: https://samcurry.net/cracking-my-windshield-and-earning-10000-on-the-tesla-bug-bounty-program/
[21] Как использовать Swift для WatchConnectivity: https://medium.com/better-programming/watchconnectivity-swift-1f8cffb7c7a9
[22] Быстрые очереди на Swift: https://medium.com/@ryan.dphu.nguyen/quick-queues-in-swift-eb4d305707c5
[23] Создаем Поисковую панель с материальным дизайном в iOS: https://medium.com/swlh/create-material-design-search-bar-in-ios-search-ui-part-1-3-dfb905de6b01
[24] Управление фоновыми задачами с новым Task Scheduler в iOS 13: https://medium.com/snowdog-labs/managing-background-tasks-with-new-task-scheduler-in-ios-13-aaabdac0d95b
[25] MagazineLayout: UICollectionView от Airbnb: https://apptractor.ru/info/github/magazinelayout.html
[26] Как реализовать чистую архитектуру на Android?: https://habr.com/ru/post/459402/
[27] Google во много раз увеличил вознаграждения за поиск уязвимостей в Chrome, Chrome OS и Google Play: https://apptractor.ru/info/news/google-increases-rewards.html
[28] Kotlin стал “Прорывным проектом года”: https://apptractor.ru/info/news/kotlin-breakout-project.html
[29] Разработка под Android: советы самому себе: https://apptractor.ru/info/articles/kak-razrabyivat-pod-android-sovetyi-samomu-sebe.html
[30] Microsoft Word достиг 1 млрд. скачиваний на Android: https://apptractor.ru/info/apps/microsoft-word-1-bln.html
[31] Видео Conference for Kotliners 2019: https://apptractor.ru/info/media/conference-for-kotliners-2019.html
[32] Курс по Kotlin – руководство для начинающих: https://apptractor.ru/learn/kotlin-course-tutorial-for-beginners.html
[33] Разработка игры в рулетку для Android: https://medium.com/@ssaurel/develop-a-roulette-game-for-android-316e349f91a
[34] Google Analytics вместе с Tag Manager + Firebase: https://proandroiddev.com/google-analytics-with-gtm-and-firebase-b4bdc80a0637
[35] Создание обложек для Wear OS: https://proandroiddev.com/build-watch-faces-for-wear-os-44be9d536a9a
[36] Готовим приложение для Android Q: https://android.jlelse.eu/preparing-your-app-for-android-q-199e0f8edfc6
[37] Как сделать View функцией State в Kotlin: https://medium.com/swlh/how-to-make-your-views-a-function-of-state-in-kotlin-f95a3b130cd6
[38] Пакет приложений и Sideloading: как предотвратить сбои: https://objectbox.io/app-bundle-and-sideloading-how-to-prevent-crashes/
[39] Создаем сканер QR-кодов с использованием Firebase ML Kit и CameraX: https://www.natigbabayev.com/2019-07-13/building-qr-code-scanner-for-android-using-firebase-ml-kit-and-camerax
[40] Исследуем App Actions на Android: https://joebirch.co/2019/07/16/exploring-app-actions-on-android-what-are-app-actions/
[41] 10 самых многообещающих трендов Android-разработки в 2019: https://kodytechnolab.com/top-10-android-app-development-trends
[42] Как Kotlin упростил мою жизнь в мире Java: https://medium.com/automation-hacks/vol-1-how-kotlin-eased-my-life-in-a-java-world-9a4451d9e0eb
[43] Модели потоков в Корутинах и Android SQLite API: https://medium.com/androiddevelopers/threading-models-in-coroutines-and-android-sqlite-api-6cab11f7eb90
[44] Эксперимент: превращаем MVP в MVVM без ViewModel library: https://medium.com/@theRoshogulla/experiment-converting-existing-mvp-to-mvvm-without-viewmodel-library-9d24423e01d9
[45] Pro Bulk Sms Sender: массовая отправка СМС: https://apptractor.ru/info/github/pro-bulk-sms-sender.html
[46] Как UX-писатель помогает улучшить продукт: https://habr.com/ru/post/460281/
[47] React Native: делаем draggable & swipeable список: https://habr.com/ru/post/460567/
[48] Дизайнеры vs разработчики: об истории создания приложения «Мой умный город»: https://habr.com/ru/company/vtb/blog/460443/
[49] Вышла Preview-версия XAML Hot Reload для Xamarin.Forms: https://habr.com/ru/company/microsoft/blog/459840/
[50] Нативная разработка, React Native и Flutter: критерии выбора: https://habr.com/ru/company/simbirsoft/blog/460030/
[51] Как обеспечить безопасность разработки, сохранив время и нервы: https://habr.com/ru/post/460669/
[52] Базовые навыки для работы с Unity: https://habr.com/ru/post/459184/
[53] Как разработать ещё один платформер с помощью Unity. Ещё один туториал, ч.2: https://habr.com/ru/post/460561/
[54] 6 принципов функциональной анимации: как сделать правильные переходы: https://apptractor.ru/info/articles/6-printsipov-funktsionalnoy-animatsii-kak-sdelat-pravilnyie-perehodyi.html
[55] Podlodka #120: Kubernetes: https://apptractor.ru/info/media/podlodka-120-kubernetes.html
[56] UI-тесты: https://apptractor.ru/test/ui-tests.html
[57] AppsCast #9: Тимлид, или Туда и обратно: https://apptractor.ru/info/media/appscast-9.html
[58] Stein: база данных из Таблицы Google: https://apptractor.ru/info/github/stein.html
[59] Как повысить эффективность удаленной команды с помощью хакатонов: https://apptractor.ru/info/conferences/hackathon-appfollow.html
[60] Могут ли цифровые продукты быть безвременными?: https://apptractor.ru/info/articles/mogut-li-tsifrovyie-produktyi-byit-bezvremennyimi.html
[61] Wilberries открывает школу программирования: https://apptractor.ru/learn/wilberries-school.html
[62] Наталья Першиц (World of Tanks Blitz): все танки различаются: https://apptractor.ru/info/interview/pershits-world-of-tanks-blitz-interview.html
[63] Сравнение Ionic и Flutter для разработки мобильных и прогрессивных приложений: https://vc.ru/dev/75636-sravnenie-ionic-i-flutter-dlya-razrabotki-mobilnyh-i-progressivnyh-prilozheniy
[64] Постбраузерная эпоха: https://vc.ru/services/74620-postbrauzernaya-epoha
[65] В поисках неявной стоимости дизайна: https://techhype.io/?story=finding-the-implicit-design
[66] Архитектура Instagram – как хранить и искать миллиарды изображений: https://www.8bitmen.com/instagram-architecture-how-does-it-store-search-billions-of-images/
[67] Прекратите писать комментарии в коде: https://blog.usejournal.com/stop-writing-code-comments-28fef5272752
[68] Забудьте о пользователях, думайте о людях: https://uxdesign.cc/forget-consumers-think-people-dd4c33c0ba3e
[69] Кто такой тестировщик?: https://multi-programming.com/who-is-a-tester
[70] Хороший UX, плохой UX: Создаем UX, который работает: https://blog.usejournal.com/good-ux-bad-ux-designing-ux-that-works-2a354c9d33fe
[71] 4 минуты на то, чтобы стать лучшим разработчиком: https://medium.com/swlh/can-i-have-4-minutes-of-your-time-to-make-you-a-better-developer-2d633a0d33c8
[72] Code Reviews в Medium: https://medium.engineering/code-reviews-at-medium-bed2c0dce13a
[73] Как думать по noSQL с Firebase : https://medium.com/better-programming/thinking-in-nosql-with-firebase-25cdff43e73a
[74] Сколько стоит локализация?: https://www.leveluptranslation.com/single-post/how-much-does-game-localization-cost
[75] Объектно-ориентированное программирование – Бедствие на триллион долларов: https://medium.com/better-programming/object-oriented-programming-the-trillion-dollar-disaster-%EF%B8%8F-92a4b666c7c7
[76] ShineButton: сияющие кнопки: https://apptractor.ru/info/github/shinebutton.html
[77] Зачем нужны скрытые игровые механики: https://habr.com/ru/post/460405/
[78] Продолжая ASO: тренды, рейтинги и немножко отзывов: https://habr.com/ru/company/digital-ecosystems/blog/460341/
[79] FaceApp заработал $1 млн за 10 дней: https://apptractor.ru/info/news/faceapp-million-dollarov-ssha.html
[80] 10x Ascend: торг с работодателем: https://apptractor.ru/info/techhype/10x-ascend.html
[81] Маркетинг влияния вырос на 83%: https://apptractor.ru/marketing-monetization/q2-2019-influencer-marketing.html
[82] 1,500 игровых автоматов входят в бар: дело в количестве, а не качестве: https://apptractor.ru/info/media/1500-slot-machines-walk-into-a-bar.html
[83] Blackstone покупает Vungle: https://apptractor.ru/marketing-monetization/ad-networks/blackstone-vungle.html
[84] Minecraft Earth начинает бета-тестирование: https://apptractor.ru/info/apps/minecraft-earth-beta.html
[85] Идея для приложения: с чего все начинать?: https://apptractor.ru/develop/ideya-dlya-prilozheniya-s-chego-vse-nachinat.html
[86] Самые зарабатывающие приложения с подпиской во 2 квартале 2019: https://apptractor.ru/measure/app-store-analytics/top-grossing-subscription-apps-worldwide-q2-2019.html
[87] Google AdSense отказывается от мобильных приложений: https://apptractor.ru/info/apps/google-adsense-apps.html
[88] Сегментация как инструмент поиска инсайтов: https://apptractor.ru/measure/user-analytics/devtodev-segment.html
[89] Anvyl: управление D2C: https://apptractor.ru/info/techhype/anvyl.html
[90] Как определить токсичного издателя мобильных игр: https://www.gamesindustry.biz/articles/2019-07-15-how-to-spot-an-exploitative-mobile-game-publishing-deal-from-a-former-publishing-ceo
[91] Как мы обучили нейронную сеть классифицировать шурупы: https://habr.com/ru/company/oleg-bunin/blog/455650/
[92] Опыт моделеварения от команды Computer Vision Mail.ru: https://habr.com/ru/company/mailru/blog/460307/
[93] Галерея лучших блокнотов по ML и Data Science: https://habr.com/ru/post/460321/
[94] Риски и угрозы в Интернете вещей: https://habr.com/ru/company/drweb/blog/460433/
[95] Роботы и клубничка: как AI повышает урожайность полей: https://habr.com/ru/company/cloud4y/blog/460129/
[96] Инструкция: создать и загрузить разметку изображений в новый инструмент Apple для обучения нейросетей Create ML: https://vc.ru/dev/75332-instrukciya-sozdat-i-zagruzit-razmetku-izobrazheniy-v-novyy-instrument-apple-dlya-obucheniya-neyrosetey-create-ml
[97] Топ-10 инструментов Data Science и ML для не-программистов: https://towardsdatascience.com/top-10-data-science-ml-tools-for-non-programmers-d12ce6dcccc
[98] Предыдущий дайджест: https://habr.com/ru/company/digital-ecosystems/blog/459934/
[99] почту: mailto:lbogolubov@gmail.com
[100] Источник: https://habr.com/ru/post/460821/?utm_source=habrahabr&utm_medium=rss&utm_campaign=460821
Нажмите здесь для печати.