- PVSM.RU - https://www.pvsm.ru -
В этом выпуске переезд Lingualeo на PostgreSQL, главные ошибки свободного ПО, война Epic c Apple, восприятие интерфейсов и золотой век программирования, «часы Уизли», поведение пользователей и многое другое!
Мы попросили нашего лидера бэкэнд разработки, Олега Правдина, рассказать о том, как они с командой параллельно с поддержкой основного продукта собрали новую модульную структуру сервиса на базе PostgreSQL, перенесли бизнес-логику в базы данных и провели миграцию с миллионами пользователей.
Сегодня мы попробуем разобраться, почему Open Source приложениями никто не хочет пользоваться. Статья получилась довольно длинной, но не пугайтесь, будет интересно.
Этот дайджест доступен в виде еженедельной рассылки [3]. А ежедневно новости мы рассылаем в Telegram-канале [4].
iOS
• (+29) Airport — маркетплейс для приложений в TestFlight [5]
• (+23) Как мы загружали банковскую карту из iPhone в брелок [6]
• (+14) Знакомимся с Needle, системой внедрения зависимостей на Swift [7]
• Обновление Lightroom удалило все пользовательские фотографии на iOS [8]
• Apple отзывает сертификаты разработчиков у Epic Games и ставит под удар Unreal Engine [9]
• Как подготовиться к iOS 14 и новым правилам конфиденциальности Apple [10]
• Анимация View в SwiftUI [11]
• Как я получил свою первую работу iOS-разработчика [12]
• Организация вашего Swift-кода в Xcode с помощью локальных пакетов [13]
• Микровзаимодействия в SwiftUI — анимация кнопок меню [14]
• Новое в области искусственного интеллекта в iOS 14 [15]
• Как создать вариант сборки в iOS-приложении [16]
• 24 расширений Swift для более чистого кода [17]
• Как настроить большой iOS/tvOS/watchOS проект для большой команды и избежать конфликтов? [18]
• Время сборки Xcode с BitBar [19]
• MotionToastView: красивые «тосты» для iOS [20]
• Countdown: таймер на SwiftUI [21]
Android
• (+16) Внедрение IMA SDK в Android-приложениях [22]
• (+11) Автотесты на Android. Картина целиком [23]
• (+11) Декомпилируем приложение xiaomi сканер и забираем результат сканирования [24]
• (+1) История про «боль» и как мы ее исправляем [25]
• Анализ Android-рынка в Китае [26]
• Отключение Jetifier [27]
• Написание эффективных Layouts [28]
• Google Play In-App Review API: интеграция и опыт работы [29]
• Более умные приложения с Awareness API [30]
• Создание лучшего и более чистого RecyclerView.Adapter с Kiel [31]
• Обнаружение объектов в Android с помощью Firebase ML Kit [32]
• Activities не то, что вы думаете [33]
• Android MVVM с Firebase Firestore [34]
• Кодлабы для новых игровых технологий Android [35]
• Добавление удивительных переходов в Android-приложение с помощью Material Motion [36]
• Фрагменты: восстановление внутреннего устройства [37]
• MovieHunt: правильная архитектура кино для Android [38]
• InstaGrabber: открытый клиент Instagram [39]
Разработка
• (+29) Восприятие интерфейсов пользователями на примере панелей из Lego [40]
• (+21) Data-driven подход к разработке контента: как мы создаем роботов в War Robots [41]
• (+14) Глоток свободы: как флеш-игры повлияли на игровую индустрию [42]
• (+7) Сервис на языке Dart: каркас серверного приложения [43]
• (+6) Mind Map в тестировании — или легкий способ тестировать сложные приложения [44]
• (+1) Выбор мобильных устройств: пошаговая инструкция для начинающих QA. Часть II [45]
• Хочу в геймдев #11: как попасть в зарубежную геймдев-компанию [46]
• Podlodka #177: криптография [47]
• Золотой век программирования закончился? [48]
• Открыт прием заявок на чемпионат по программированию Yandex Cup [49]
• Обзор рынка мобильной разработки в кризис: что происходит и к чему готовятся агентства? [50]
• 5 принципов качественного UI [51]
• Появление дизайнеров-полубогов. ИИ и машинное обучение [52]
• Аффордансы в дизайне. Дизайн привычных вещей [53]
• Как создать иллюстрации, когда не умеешь рисовать [54]
• Дизайн приложений: примеры для вдохновения #13 [55]
• FigmaExport: как автоматизировать экспорт UI-Kit из Figma в Xcode и Android Studio проекты [56]
• Как формируется стоимость разработки мобильного приложения? [57]
• Делайте больше, делая меньше [58]
• React Native против Flutter: решение ожидается в 2020 году [59]
• 6 месяцев использования GraphQL [60]
• Разработка Open Source системы иконок в Microsoft [61]
• Создание чистого приложения «Game of Life» на Flutter с использованием гексагональной архитектуры и TDD [62]
• Как определять токсичные вакансии разработчиков по их описаниям [63]
• Захватит ли ИИ UX? [64]
• Фреймворк быстрых UX-исследований [65]
• Почему я отказался от Google Firestore (и никогда не вернусь) [66]
• 4 признака неопытного разработчика [67]
Аналитика, маркетинг и монетизация
• (+7) Объединяем закрытый WhatsApp и открытый SIP – Часть 1 [68]
• Почему действия Epic вредят игровой индустрии [69]
• Epic запускает чемпионат #FreeFortnite [70]
• iPhone с предустановленным Fortnite продают за $10,000 [71]
• Facebook поддержал Epic в борьбе с монополией Apple [72]
• Взлет приложений для здоровья и фитнеса в 2020 [73]
• myTarget оценивает влияния наружной рекламы на установки приложений [74]
• Яндекс запустил супер-приложение Go, помогающее решать повседневные задачи в городе [75]
• Likee почти догнал TikTok [76]
• Симуляторы показали самый большой рост в 1 полугодии 2020 [77]
• App Annie: как изменилось поведение пользователей в мобайле в первом полугодии 2020 [78]
• Что нужно учесть при оптимизации страницы приложения на иностранные языки [79]
• Как мы за 2 месяца бесплатно получили 400 тысяч установок из TikTok [80]
AI, Устройства, IoT
• (+110) Проект «часов Уизли» с демонстрацией местоположения членов семьи [81]
• (+45) Склеиваем несколько фотографий в одну длинную с помощью машинного обучения [82]
• (+13) Спасти рядового датасайнтиста. Как работать над компьютерным зрением, чтобы сделать проект и не потерять себя [83]
• (+4) Интернет автомобилей: кому нужны данные о вашей езде [84]
• Рынок умных часов растет [85]
• BlackBerry готовит новый смартфон с клавиатурой [86]
• Университет машинного обучения Amazon открывает свои курсы для всех [87]
• Google AI Vision и Text to Speech на Raspberry Pi [88]
• Как создать собственного личного AI-помощника с помощью Python [89]
• AI учится играть в Super Mario Bros! [90]
← Предыдущий дайджест [91]. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту [92].
Автор: DigitalEcosystems
Источник [93]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka-pod-ios/356258
Ссылки в тексте:
[1] «В карантин нагрузка выросла в 5 раз, но мы были готовы». Как Lingualeo переехал на PostgreSQL с 23 млн юзеров: https://habr.com/ru/company/lingualeo/blog/515530/
[2] «Остановите Total Commander!» или главная проблема свободного ПО: https://habr.com/ru/post/515800/
[3] рассылки: http://apptractor.us3.list-manage2.com/subscribe?u=fbdb52f18301080a3cc983f4b&id=bb7bc0a9c0
[4] Telegram-канале: https://t.me/apptractor
[5] Airport — маркетплейс для приложений в TestFlight: https://habr.com/ru/company/vdsina/blog/515908/
[6] Как мы загружали банковскую карту из iPhone в брелок: https://habr.com/ru/company/cardsmobile/blog/515602/
[7] Знакомимся с Needle, системой внедрения зависимостей на Swift: https://habr.com/ru/company/joom/blog/514784/
[8] Обновление Lightroom удалило все пользовательские фотографии на iOS: https://apptractor.ru/info/news/lightroom-down.html
[9] Apple отзывает сертификаты разработчиков у Epic Games и ставит под удар Unreal Engine: https://apptractor.ru/info/news/apples-epic-unreal.html
[10] Как подготовиться к iOS 14 и новым правилам конфиденциальности Apple: https://apptractor.ru/marketing-monetization/adjust-ios-14-guide.html
[11] Анимация View в SwiftUI: https://medium.com/better-programming/animate-views-in-swiftui-5a9e7a2be21
[12] Как я получил свою первую работу iOS-разработчика: https://getonthestore.com/entry-level-jobs/
[13] Организация вашего Swift-кода в Xcode с помощью локальных пакетов: https://medium.com/swlh/organizing-your-xcode-swift-code-with-local-packages-469cda06f82d
[14] Микровзаимодействия в SwiftUI — анимация кнопок меню: https://uxdesign.cc/microinteractions-in-swiftui-menu-button-animation-5d60f802fe5d
[15] Новое в области искусственного интеллекта в iOS 14: https://heartbeat.fritz.ai/advancements-in-artificial-intelligence-in-ios-14-c1602f5d4951
[16] Как создать вариант сборки в iOS-приложении: https://medium.com/tunaiku-tech/how-to-create-build-variant-in-ios-application-66dfeb5bd091
[17] 24 расширений Swift для более чистого кода: https://medium.com/better-programming/24-swift-extensions-for-cleaner-code-41e250c9c4c3
[18] Как настроить большой iOS/tvOS/watchOS проект для большой команды и избежать конфликтов?: https://medium.com/macoclock/how-to-setup-a-large-ios-tvos-watchos-project-for-a-large-team-and-avoid-conflicts-62903a717ffa
[19] Время сборки Xcode с BitBar: https://apptractor.ru/info/github/bitbar-xcode.html
[20] MotionToastView: красивые «тосты» для iOS: https://apptractor.ru/info/github/motiontoastview.html
[21] Countdown: таймер на SwiftUI: https://apptractor.ru/info/github/countdown.html
[22] Внедрение IMA SDK в Android-приложениях: https://habr.com/ru/company/ivi/blog/515430/
[23] Автотесты на Android. Картина целиком: https://habr.com/ru/company/kaspersky/blog/510230/
[24] Декомпилируем приложение xiaomi сканер и забираем результат сканирования: https://habr.com/ru/post/515590/
[25] История про «боль» и как мы ее исправляем: https://habr.com/ru/post/515390/
[26] Анализ Android-рынка в Китае: https://apptractor.ru/info/articles/analiz-android-rynka-v-kitae.html
[27] Отключение Jetifier: https://adambennett.dev/2020/08/disabling-jetifier/
[28] Написание эффективных Layouts: https://proandroiddev.com/writing-performant-layouts-3bf2a18d4a61
[29] Google Play In-App Review API: интеграция и опыт работы: https://proandroiddev.com/google-play-in-app-review-api-integration-and-experience-a96b30805345
[30] Более умные приложения с Awareness API: https://proandroiddev.com/smarter-apps-with-awareness-api-a39d96592f09
[31] Создание лучшего и более чистого RecyclerView.Adapter с Kiel: https://medium.com/swlh/build-better-and-clean-recyclerview-adapter-with-kiel-a129882c1e1
[32] Обнаружение объектов в Android с помощью Firebase ML Kit: https://heartbeat.fritz.ai/object-detection-in-android-using-firebase-ml-kit-c9230493a2a1
[33] Activities не то, что вы думаете: https://gabrielfv.com/android/architecture/en-us/2020/08/18/activities-are-not-what-you-think-pt-1.html
[34] Android MVVM с Firebase Firestore: https://medium.com/firebase-developers/android-mvvm-firestore-37c3a8d65404
[35] Кодлабы для новых игровых технологий Android: https://medium.com/androiddevelopers/codelabs-for-new-android-game-technologies-486a847eb92e
[36] Добавление удивительных переходов в Android-приложение с помощью Material Motion: https://medium.com/swlh/adding-amazing-transitions-to-your-android-app-easily-using-material-motion-f0cd92463b39
[37] Фрагменты: восстановление внутреннего устройства: https://medium.com/androiddevelopers/fragments-rebuilding-the-internals-61913f8bf48e
[38] MovieHunt: правильная архитектура кино для Android: https://apptractor.ru/info/github/moviehunt.html
[39] InstaGrabber: открытый клиент Instagram: https://apptractor.ru/info/github/instagrabber.html
[40] Восприятие интерфейсов пользователями на примере панелей из Lego: https://habr.com/ru/post/515768/
[41] Data-driven подход к разработке контента: как мы создаем роботов в War Robots: https://habr.com/ru/company/pixonic/blog/515718/
[42] Глоток свободы: как флеш-игры повлияли на игровую индустрию: https://habr.com/ru/company/leader-id/blog/514192/
[43] Сервис на языке Dart: каркас серверного приложения: https://habr.com/ru/company/surfstudio/blog/515226/
[44] Mind Map в тестировании — или легкий способ тестировать сложные приложения: https://habr.com/ru/post/515990/
[45] Выбор мобильных устройств: пошаговая инструкция для начинающих QA. Часть II: https://habr.com/ru/post/516160/
[46] Хочу в геймдев #11: как попасть в зарубежную геймдев-компанию: https://apptractor.ru/info/media/gamedev-11.html
[47] Podlodka #177: криптография: https://apptractor.ru/info/media/podlodka-177.html
[48] Золотой век программирования закончился?: https://apptractor.ru/develop/coding/golden-age-of-programming.html
[49] Открыт прием заявок на чемпионат по программированию Yandex Cup: https://apptractor.ru/develop/coding/yandex-cup-20.html
[50] Обзор рынка мобильной разработки в кризис: что происходит и к чему готовятся агентства?: https://workspace.ru/blog/mobile-app-development-market-2020/
[51] 5 принципов качественного UI: https://vc.ru/design/150653-5-principov-kachestvennogo-ui
[52] Появление дизайнеров-полубогов. ИИ и машинное обучение: https://ux.pub/poyavlenie-dizaynerov-polubogov-ii-i-mashinnoe-obuchenie/
[53] Аффордансы в дизайне. Дизайн привычных вещей: https://ux.pub/affordansy-v-dizayne-dizayn-privychnyh-veschey/
[54] Как создать иллюстрации, когда не умеешь рисовать: https://ux.pub/kak-sozdat-illyustratsii-kogda-ne-umeesh-risovat/
[55] Дизайн приложений: примеры для вдохновения #13: https://apptractor.ru/info/articles/app-design-proto-13.html
[56] FigmaExport: как автоматизировать экспорт UI-Kit из Figma в Xcode и Android Studio проекты: https://vc.ru/dev/151601-figmaexport-kak-avtomatizirovat-eksport-ui-kit-iz-figma-v-xcode-i-android-studio-proekty
[57] Как формируется стоимость разработки мобильного приложения?: https://vc.ru/dev/150729-kak-formiruetsya-stoimost-razrabotki-mobilnogo-prilozheniya
[58] Делайте больше, делая меньше: https://www.zainrizvi.io/blog/do-more-by-doing-less/
[59] React Native против Flutter: решение ожидается в 2020 году: https://medium.com/better-programming/react-native-vs-flutter-a-decision-pending-in-2020-65bf5835c8ed
[60] 6 месяцев использования GraphQL: https://levelup.gitconnected.com/6-months-of-using-graphql-faa0fb68b4af
[61] Разработка Open Source системы иконок в Microsoft: https://medium.com/microsoft-design/developing-an-open-source-icon-system-at-microsoft-b1796315df9f
[62] Создание чистого приложения «Game of Life» на Flutter с использованием гексагональной архитектуры и TDD: https://medium.com/swlh/build-a-clean-game-of-life-app-in-flutter-using-hexagonal-architecture-and-tdd-part-2-830916baf7c5
[63] Как определять токсичные вакансии разработчиков по их описаниям: https://medium.com/swlh/how-to-spot-toxic-software-jobs-from-their-descriptions-c53cf224417f
[64] Захватит ли ИИ UX?: https://uxdesign.cc/will-ai-take-over-ux-ea164a2ed39f
[65] Фреймворк быстрых UX-исследований: https://uxdesign.cc/rapid-ux-research-framework-dcf43e67883d
[66] Почему я отказался от Google Firestore (и никогда не вернусь): https://medium.com/swlh/why-i-switched-away-from-google-firestore-and-will-never-go-back-e34cafb733b
[67] 4 признака неопытного разработчика: https://levelup.gitconnected.com/4-signs-of-an-inexperienced-developer-851966fdc6b1
[68] Объединяем закрытый WhatsApp и открытый SIP – Часть 1: https://habr.com/ru/post/515642/
[69] Почему действия Epic вредят игровой индустрии: https://vc.ru/u/578599-mi-hwa/151487-pochemu-deystviya-epic-vredyat-igrovoy-industrii
[70] Epic запускает чемпионат #FreeFortnite: https://apptractor.ru/info/conferences/freefortnite.html
[71] iPhone с предустановленным Fortnite продают за $10,000: https://apptractor.ru/info/devices/iphone-fortnite.html
[72] Facebook поддержал Epic в борьбе с монополией Apple: https://apptractor.ru/info/news/facebook-apple.html
[73] Взлет приложений для здоровья и фитнеса в 2020: https://apptractor.ru/measure/user-analytics/fitness-2020.html
[74] myTarget оценивает влияния наружной рекламы на установки приложений: https://apptractor.ru/marketing-monetization/app-promotion-campaign-analytics/mytarget-outdoor.html
[75] Яндекс запустил супер-приложение Go, помогающее решать повседневные задачи в городе: https://apptractor.ru/info/apps/yandex-go.html
[76] Likee почти догнал TikTok: https://apptractor.ru/info/techhype/likee-vs-tiktok.html
[77] Симуляторы показали самый большой рост в 1 полугодии 2020: https://apptractor.ru/measure/app-store-analytics/mobile-game-genre-growth-h1-2020.html
[78] App Annie: как изменилось поведение пользователей в мобайле в первом полугодии 2020: https://apptractor.ru/info/analytics/app-annie-kak-izmenilos-povedenie-polzovatelej-v-mobajle-v-pervom-polugodii-2020.html
[79] Что нужно учесть при оптимизации страницы приложения на иностранные языки: https://vc.ru/marketing/151430-chto-nuzhno-uchest-pri-optimizacii-stranicy-prilozheniya-na-inostrannye-yazyki
[80] Как мы за 2 месяца бесплатно получили 400 тысяч установок из TikTok: https://vc.ru/marketing/151597-kak-my-za-2-mesyaca-besplatno-poluchili-400-tysyach-ustanovok-iz-tiktok
[81] Проект «часов Уизли» с демонстрацией местоположения членов семьи: https://habr.com/ru/post/515536/
[82] Склеиваем несколько фотографий в одну длинную с помощью машинного обучения: https://habr.com/ru/post/516116/
[83] Спасти рядового датасайнтиста. Как работать над компьютерным зрением, чтобы сделать проект и не потерять себя: https://habr.com/ru/company/jetinfosystems/blog/515926/
[84] Интернет автомобилей: кому нужны данные о вашей езде: https://habr.com/ru/company/itelma/blog/515274/
[85] Рынок умных часов растет: https://apptractor.ru/info/analytics/smartwatch-market-2020.html
[86] BlackBerry готовит новый смартфон с клавиатурой: https://apptractor.ru/info/devices/blackberry-5g.html
[87] Университет машинного обучения Amazon открывает свои курсы для всех: https://apptractor.ru/learn/machine-learning-university.html
[88] Google AI Vision и Text to Speech на Raspberry Pi: https://medium.com/swlh/google-ai-vision-text-to-speech-on-a-raspberry-pi-875dc13b3d73
[89] Как создать собственного личного AI-помощника с помощью Python: https://towardsdatascience.com/how-to-build-your-own-ai-personal-assistant-using-python-f57247b4494b
[90] AI учится играть в Super Mario Bros!: https://www.youtube.com/watch?v=CI3FRsSAa_U
[91] Предыдущий дайджест: https://habr.com/ru/company/digital-ecosystems/blog/515342/
[92] почту: mailto:lbogolubov@gmail.com
[93] Источник: https://habr.com/ru/post/516248/?utm_source=habrahabr&utm_medium=rss&utm_campaign=516248
Нажмите здесь для печати.