- PVSM.RU - https://www.pvsm.ru -

Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая)

Этот выпуск нашего дайджеста затрагивает вопросы деления пиццы, работы CarPlay, обсуждает Google I/O, развитие приложений в 2019, консоль-шарманку и ошибки пуш-уведомлений.

Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 1

Чтобы сделать пиццу из половинок мы использовали два UICollectionViewLayout. Рассказываю о том, как мы написали такой лейаут для iOS, с чем столкнулись и от чего отказались.

Сегодня будет история о том, как наш навигатор появился в CarPlay. Расскажу, как с такой себе документацией и недоделанными инструментами мы создали рабочий продукт и разместили его в AppStore.

Этот дайджест доступен в виде еженедельной рассылки [3]. А ежедневно новости мы рассылаем в Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 4Telegram-канале [4].

Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 5 iOS

(+13) Превращаем ViewPager в менеджер фрагментов с анимацией в стиле iOS [5]
(+11) Нужно ли писать weak self в Grand Central Dispatch? [6]
(+10) Автоматический перенос приложений iOS (ARM) на macOS (x86) с помощью Bitcode [7]
(+8) UIAppearance оказался не так прост [8]
(+8) Интервью — 10 вопросов про Swift. Часть 2 [9]
(+6) 7 вещей об авто-возобновляемых подписках, о которых следует знать [10]
(+6) Поднимаем читаемость кода в iOS разработке [11]
Apple приглашает на WWDC 2019 [12]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 6 UIButton: расстояние между иконкой и текстом [13]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 7 Управление памятью, кучей и стеком в Swift [14]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 8 Siri Shortcut: как добавить интеграцию Siri в приложение [15]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 9 Рефакторинг iOS-приложения с шаблоном Coordinator для навигации [16]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 10 Введение в Core Data [17]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 11 Продвинутая отладка в Xcode [18]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 12 Делаем первое MacOS приложение [19]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 13 Создаем ячейки таблицы, подстраивающиеся под размер содержимого [20]

Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 14 Android

(+30) О чём говорили на Google I/O 2019: Android 10, AR-приложения и многое другое [21]
(+13) Сжимаем APK, стараясь сохранить его работоспособность [22]
(+11) Безопасная передача данных между двумя приложениями [23]
(+6) Custom Bottom Sheet: как это должно работать [24]
(+4) Android. Виджет в виде карточек на основе StackView (что-то наподобие Tinder) [25]
Финалисты Indie Games Showcase [26]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 15 Android Dev Podcast #94. Google I/O 19. Детальный разбор. [27]
Huawei отключили от Android [28]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 16 Как создать простую викторину о числах с Kotlin и NumbersAPI [29]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 17 Бесшовная анимация запуска приложений в Android с использованием Intent Source Bounds [30]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 18 Ключ к здоровому Android-проекту [31]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 19 Как улучшить время сборки вашего Android-проекта [32]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 20 Делегация классов в Kotlin [33]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 21 Обзор Android Jetpack Compose [34]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 22 Как Android-разработка стала Kotlin-first? [35]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 23 Исследуем CameraX в Android: Camera View [36]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 24 Wide Color фотографии в Android: что надо знать [37]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 25 Как хранить и использовать конфиденциальную информацию в Android-разработке [38]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 26 Проверяем установки не из Google Play [39]

Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 27 Разработка

(+22) Создание игры Tower Defense в Unity: враги [40]
(+21) 5 ошибок в реализации push-уведомлений для мобильных приложений [41]
(+12) 3D-интерфейсы обычно хуже, чем 2D-интерфейсы [42]
(+12) Создание ритм-игры в Unity [43]
(+9) Собираем Flutter приложение для десктопа [44]
(+8) Почему инди проекты не доживают до релиза [45]
(+7) Прототипирование мобильной игры, с чего начать, и как это делать. Часть 1 [46] и Часть 2 [47]
Podlodka #111: Пишем книгу [48]
Podlodka #112: Олимпиадное программирование [49]
GitHub внедрит функцию для сбора пожертвований [50]
АйтиХайп: Константин Осипов – Tarantool, Mail.Ru и B2B [51]
Wolfram Engine стал бесплатным [52]
Steam Chat вышел на iOS и Android [53]
Личный бренд разработчика [54]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 28 Топ-9 ошибок дизайна приложений [55]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 29 Гамбургер в меню: слишком популярно, чтобы провалиться? [56]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 30 Топ-5 инструментов дизайна для не-дизайнеров [57]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 31 Псевдо 3D движок на Excel [58]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 32 Почему Flutter это будущее мобильной разработки [59]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 33 WebAssembly в eBay: пример использования [60]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 34 Когда код превращается в ужастик [61]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 35 Забудьте о шеф-поварах и настольном футболе – разработчики хотят баланса и роста [62]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 36 Как мы сделали редизайн приложения всего за 3 месяца [63]

Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 37 Аналитика, маркетинг и монетизация

Как будут развиваться приложения в 2019: мнение Adjust [64]
Разработка, продвижение и монетизация мобильного приложения. Дневник проекта [65]
DefinedCrowd: тренировка ИИ [66]
Карта рынка мобильной рекламы 2019 [67]
В Snap Game появились первые три игры [68]
Топ стран по загрузкам приложений в 1 квартале 2019 [69]
Владельцы TikTok готовят музыкальный сервис [70]
Количество “миллионеров” в дейтинге удвоилось [71]
Minecraft Earth: AR-игра для мобильных устройств [72]

Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 38 AI, Устройства, IoT

(+60) Умный дом с Алисой. Яндекс открывает платформу для всех разработчиков [73]
(+16) Не выбрасывайте умные лампочки в мусор, или опасность IoT [74]
(+6) Conversations’19: разговорный AI для тех, кто разрабатывает и кто еще сомневается [75]
(+6) Играем в машинки по-взрослому-2: как мы стали поставщиком телематики для каршеринга и открыли 5 офисов по всему миру [76]
Издатель Firewatch представил портативную консоль-шарманку [77]
Google представил Glass Enterprise Edition 2 [78]
image Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 40 Простая нейронная сеть на Python с нуля [79]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 41 Тренируем двух агентов играть в настольный теннис [80]
Дайджест интересных материалов для мобильного разработчика #299 (20 — 26 мая) - 42 Новый способ создания маленьких нейронных сетей – мощный ИИ на телефоне [81]

Предыдущий дайджест [82]. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту [83]

Автор: DigitalEcosystems

Источник [84]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ios/318856

Ссылки в тексте:

[1] UICollectionViewLayout для пиццы из разных половинок: https://habr.com/ru/company/dodopizzaio/blog/452876/

[2] Как мы запустили 2ГИС под CarPlay и до сих пор расхлёбываем: https://habr.com/ru/company/2gis/blog/452638/

[3] рассылки: http://apptractor.us3.list-manage2.com/subscribe?u=fbdb52f18301080a3cc983f4b&id=bb7bc0a9c0

[4] Telegram-канале: https://t.me/apptractor

[5] Превращаем ViewPager в менеджер фрагментов с анимацией в стиле iOS: https://habr.com/ru/post/453166/

[6] Нужно ли писать weak self в Grand Central Dispatch?: https://habr.com/ru/post/452512/

[7] Автоматический перенос приложений iOS (ARM) на macOS (x86) с помощью Bitcode: https://habr.com/ru/post/452734/

[8] UIAppearance оказался не так прост: https://habr.com/ru/post/453126/

[9] Интервью — 10 вопросов про Swift. Часть 2: https://habr.com/ru/company/otus/blog/452806/

[10] 7 вещей об авто-возобновляемых подписках, о которых следует знать: https://habr.com/ru/post/453442/

[11] Поднимаем читаемость кода в iOS разработке: https://habr.com/ru/post/453428/

[12] Apple приглашает на WWDC 2019: https://apptractor.ru/info/conferences/apple-priglashaet-na-wwdc-2019.html

[13] UIButton: расстояние между иконкой и текстом: https://noahgilmore.com/blog/uibutton-padding/

[14] Управление памятью, кучей и стеком в Swift: https://medium.com/@sarinyaswift/memory-management-with-heaps-stacks-swift-3be2a3e9e1c3

[15] Siri Shortcut: как добавить интеграцию Siri в приложение: https://itnext.io/siri-shortcut-how-to-add-a-siri-button-c0458e279ab8

[16] Рефакторинг iOS-приложения с шаблоном Coordinator для навигации: https://medium.com/swift2go/refactoring-ios-app-with-coordinator-pattern-for-navigation-alfian-losari-50081bfa7a4a

[17] Введение в Core Data: https://medium.com/better-programming/a-light-intro-to-core-data-part-un-e344f9d1528

[18] Продвинутая отладка в Xcode: https://medium.com/headout-engineering/advanced-debugging-with-xcode-9eba2845232a

[19] Делаем первое MacOS приложение: https://medium.com/swlh/build-your-first-macos-app-5d36d3352691

[20] Создаем ячейки таблицы, подстраивающиеся под размер содержимого: https://developer.apple.com/documentation/uikit/uifont/creating_self-sizing_table_view_cells

[21] О чём говорили на Google I/O 2019: Android 10, AR-приложения и многое другое: https://habr.com/ru/company/badoo/blog/452618/

[22] Сжимаем APK, стараясь сохранить его работоспособность: https://habr.com/ru/post/452524/

[23] Безопасная передача данных между двумя приложениями: https://habr.com/ru/company/tinkoff/blog/448198/

[24] Custom Bottom Sheet: как это должно работать: https://habr.com/ru/post/452628/

[25] Android. Виджет в виде карточек на основе StackView (что-то наподобие Tinder): https://habr.com/ru/post/452998/

[26] Финалисты Indie Games Showcase: https://apptractor.ru/info/apps/finalisty-indie-games-showcase.html

[27] Android Dev Podcast #94. Google I/O 19. Детальный разбор.: https://androiddev.apptractor.ru/android-dev-podcast-94/

[28] Huawei отключили от Android: https://apptractor.ru/info/news/huawei-otklyuchili-ot-android.html

[29] Как создать простую викторину о числах с Kotlin и NumbersAPI: https://medium.com/@ismailnurudeen/create-a-numbers-fact-app-with-kotlin-and-numbersapi-c19ecf39ab20

[30] Бесшовная анимация запуска приложений в Android с использованием Intent Source Bounds: https://arunkumar.dev/seamless-android-app-launch-animations-using-intent-sourcebounds/

[31] Ключ к здоровому Android-проекту: https://medium.com/@robertas.konarskis/android-analyzer-df0e4d80dc74

[32] Как улучшить время сборки вашего Android-проекта: https://medium.freecodecamp.org/how-to-improve-the-build-speed-of-your-android-projects-bd49029d8602

[33] Делегация классов в Kotlin: https://hackernoon.com/kotlin-what-is-class-delegation-all-about-683eb543e391

[34] Обзор Android Jetpack Compose: https://blog.karumi.com/android-jetpack-compose-review/

[35] Как Android-разработка стала Kotlin-first?: https://medium.com/@kristen.carter/how-android-app-development-became-kotlin-first-c79e493e02fb

[36] Исследуем CameraX в Android: Camera View: https://medium.com/@hitherejoe/exploring-camerax-on-android-camera-view-daae6dfaa4ec

[37] Wide Color фотографии в Android: что надо знать: https://android-developers.googleblog.com/2019/05/wide-color-photos-are-coming-to-android.html

[38] Как хранить и использовать конфиденциальную информацию в Android-разработке: https://medium.com/@yfujiki/how-to-store-use-sensitive-information-in-android-development-bc352892ece7

[39] Проверяем установки не из Google Play: https://developer.android.com/guide/app-bundle/sideload-check

[40] Создание игры Tower Defense в Unity: враги: https://habr.com/ru/post/452756/

[41] 5 ошибок в реализации push-уведомлений для мобильных приложений: https://habr.com/ru/company/funcorp/blog/453318/

[42] 3D-интерфейсы обычно хуже, чем 2D-интерфейсы: https://habr.com/ru/post/453114/

[43] Создание ритм-игры в Unity: https://habr.com/ru/post/452168/

[44] Собираем Flutter приложение для десктопа: https://habr.com/ru/post/453092/

[45] Почему инди проекты не доживают до релиза: https://habr.com/ru/post/452856/

[46] Прототипирование мобильной игры, с чего начать, и как это делать. Часть 1: https://habr.com/ru/post/453056/

[47] Часть 2: https://habr.com/ru/post/453236/

[48] Podlodka #111: Пишем книгу: https://apptractor.ru/info/news/podlodka-111-pishem-knigu.html

[49] Podlodka #112: Олимпиадное программирование: https://apptractor.ru/info/media/podlodka-112-olimpiadnoe-programmirovanie.html

[50] GitHub внедрит функцию для сбора пожертвований: https://apptractor.ru/info/news/github-vnedrit-funkcziyu-dlya-sbora-pozhertvovanij.html

[51] АйтиХайп: Константин Осипов – Tarantool, Mail.Ru и B2B: https://apptractor.ru/info/media/ajtihajp-konstantin-osipov-tarantool-mail-ru-i-b2b.html

[52] Wolfram Engine стал бесплатным: https://apptractor.ru/info/news/wolfram-engine.html

[53] Steam Chat вышел на iOS и Android: https://apptractor.ru/info/apps/steam-chat-vyshel-na-ios-i-android.html

[54] Личный бренд разработчика: https://apptractor.ru/info/media/lichnyj-brend-razrabotchika.html

[55] Топ-9 ошибок дизайна приложений: https://medium.com/@mooncascade/top-nine-app-design-mistakes-to-avoid-b28d6d011e5c

[56] Гамбургер в меню: слишком популярно, чтобы провалиться?: https://uxdesign.cc/ux-of-the-hamburger-menu-890328a904f9

[57] Топ-5 инструментов дизайна для не-дизайнеров: https://uxdesign.cc/top-5-free-design-tools-for-non-designers-in-2019-f460ff9ce34

[58] Псевдо 3D движок на Excel: https://www.youtube.com/watch?v=-jg5e7foX9k&feature=youtu.be

[59] Почему Flutter это будущее мобильной разработки: https://medium.freecodecamp.org/why-i-think-flutter-is-the-future-of-mobile-app-development-768332b73c0d

[60] WebAssembly в eBay: пример использования: https://www.ebayinc.com/stories/blogs/tech/webassembly-at-ebay-a-real-world-use-case/

[61] Когда код превращается в ужастик: https://medium.com/@PurpleGreenLemon/when-code-turns-into-a-horror-story-8d782dfe7274

[62] Забудьте о шеф-поварах и настольном футболе – разработчики хотят баланса и роста: https://hackernoon.com/forget-fancy-chefs-and-foosball-what-developers-really-want-is-balance-growth-b493e297c606

[63] Как мы сделали редизайн приложения всего за 3 месяца: https://modus.medium.com/how-we-redesigned-heaps-app-in-three-months-3d3d3b3418ac

[64] Как будут развиваться приложения в 2019: мнение Adjust: https://apptractor.ru/measure/app-store-analytics/kak-budut-razvivatsya-prilozheniya-v-2019-mnenie-adjust.html

[65] Разработка, продвижение и монетизация мобильного приложения. Дневник проекта: https://vc.ru/marketing/68234-razrabotka-prodvizhenie-i-monetizaciya-mobilnogo-prilozheniya-dnevnik-proekta

[66] DefinedCrowd: тренировка ИИ: https://apptractor.ru/info/techhype/definedcrowd-trenirovka-ii.html

[67] Карта рынка мобильной рекламы 2019: https://apptractor.ru/marketing-monetization/ad-networks/karta-rynka-mobilnoj-reklamy-2019.html

[68] В Snap Game появились первые три игры: https://apptractor.ru/info/apps/v-snap-game-poyavilis-pervye-tri-igry.html

[69] Топ стран по загрузкам приложений в 1 квартале 2019: https://apptractor.ru/measure/app-store-analytics/top-stran-po-zagruzkam-prilozhenij-v-1-kvartale-2019.html

[70] Владельцы TikTok готовят музыкальный сервис: https://apptractor.ru/info/news/vladelczy-tiktok-gotovyat-muzykalnyj-servis.html

[71] Количество “миллионеров” в дейтинге удвоилось: https://apptractor.ru/measure/app-store-analytics/kolichestvo-millionerov-v-dejtinge-udvoilos.html

[72] Minecraft Earth: AR-игра для мобильных устройств: https://apptractor.ru/info/techhype/minecraft-earth-ar-igra-dlya-mobilnyh-ustrojstv.html

[73] Умный дом с Алисой. Яндекс открывает платформу для всех разработчиков: https://habr.com/ru/company/yandex/blog/453080/

[74] Не выбрасывайте умные лампочки в мусор, или опасность IoT: https://habr.com/ru/post/453410/

[75] Conversations’19: разговорный AI для тех, кто разрабатывает и кто еще сомневается: https://habr.com/ru/company/just_ai/blog/453112/

[76] Играем в машинки по-взрослому-2: как мы стали поставщиком телематики для каршеринга и открыли 5 офисов по всему миру: https://habr.com/ru/company/bright-box/blog/453032/

[77] Издатель Firewatch представил портативную консоль-шарманку: https://apptractor.ru/info/devices/izdatel-firewatch-predstavil-portativnuyu-konsol-sharmanku.html

[78] Google представил Glass Enterprise Edition 2: https://apptractor.ru/info/devices/google-glass-enterprise-edition-2.html

[79] Простая нейронная сеть на Python с нуля: https://www.youtube.com/watch?v=kft1AJ9WVDk

[80] Тренируем двух агентов играть в настольный теннис: https://towardsdatascience.com/training-two-agents-to-play-tennis-8285ebfaec5f

[81] Новый способ создания маленьких нейронных сетей – мощный ИИ на телефоне: https://medium.com/mit-technology-review/a-new-way-to-build-tiny-neural-networks-could-create-powerful-ai-on-your-phone-6a8d7f54874d

[82] Предыдущий дайджест: https://habr.com/ru/company/digital-ecosystems/blog/452502/

[83] почту: mailto:lbogolubov@gmail.com

[84] Источник: https://habr.com/ru/post/453524/?utm_source=habrahabr&utm_medium=rss&utm_campaign=453524