- PVSM.RU - https://www.pvsm.ru -
В этом выпуске нашего дайджеста — бинарная совместимость, разбор SwiftUI, ошибки пиксель-арта, традиционный уже ад инди-разработчика, Flutter с нуля до прода, бесплатные книги и SDK для роботов. Добро пожаловать!
Любая библиотека должна по возможности соблюдать бинарную совместимость. Если разные версии библиотеки в зависимостях несовместимы, то результатом будут краши в рантайме. С такой проблемой мы можем столкнуться, например, при добавлении поддержки Reaktive в MVICore.
Поговорим о eSIM (полное название embeddedSIM — то есть, встроенная SIM) — впаянных в гаджет (в отличие от привычных съёмных «симок») SIM-картах. Разберём, чем они лучше обычных SIM-карт и почему крупные мобильные операторы противодействуют внедрению новой технологии.
Этот дайджест доступен в виде еженедельной рассылки [3]. А ежедневно новости мы рассылаем в Telegram-канале [4].
iOS
• (+17) SwiftUI по полочкам [5]
• Apple сообщает о рекордных результатах за первый квартал [6]
• Фишки Swift: двойное нажатие Apple Pencil [7]
• Пошаговая инструкция по интеграции Apple Pay в ваше мобильное приложение [8]
• Как создать карточку с видео на SwiftUI [9]
• Интервал между символами в UILabel [10]
• Реализация сервис-ориентированной архитектуры в Swift 5 [11]
• Пост мортем: сбой App Store 24.01.2020 [12]
• iOS 13: невоспетые герои 2019 года [13]
• Маски и оверлеи в SwiftUI [14]
• Превью ссылок в стиле Twitter для iOS-приложений на SwiftUI [15]
• Лучшие практики безопасности для iOS-приложений [16]
• 5 расширений Swift, которые упростят вам жизнь [17]
• 13 быстрых клавиш Xcode для повышения вашей продуктивности [18]
• Buildkite и Fastlane — iOS-разработчики станут лучше спать [19]
• Реализация экрана поиска с использованием MVVM и RxSwift [20]
• Instructions: руководства для пользователей на Swift [21]
Android
• (+23) Расширения в Kotlin. Опасный атавизм или полезный инструмент? [22]
• (+22) Как научить телефон видеть красоту [23]
• Видео Google Play | Playtime 2019 [24]
• Фишки Kotlin: самое часто встречающееся значение [25]
• Android Broadcast #5: Как стать крутым разработчиком [26]
• История нашего большого переписывания Android-приложения [27]
• Динамические экраны с использованием server-driven UI в Android [28]
• Создание реактивного и гетерогенного адаптера в Kotlin [29]
• Как реализовать темную тему на Android [30]
• Корутины в Kotlin Coroutines: от простого к продвинутому [31]
• Организация Kotlin-кода [32]
• Безопасность Android-приложений: лучшие практики [33]
• Android: как исправить серьезную проблему в LiveData [34]
• Введение в анимацию с Jetpack Compose [35]
• Android-NFC: работа с NFC на Android [36]
Разработка
• (+26) Пиксель-арт для начинающих: исправляем типичные ошибки [37]
• (+20) Как левел-дизайнеры используют приёмы теории архитектуры для создания игровых уровней [38]
• (+20) Вывод внутриигровых сообщений с помощью Particle System [39]
• (+15) Ад инди-разработчика или как довести свой проект до релиза и не застрелиться в процессе [40]
• (+10) Весенняя стажировка для мобильных разработчиков в Redmadrobot [41]
• (+10) Особенности установления соединения между участниками сетевой игры типа «равный к равному» [42]
• (+7) Игра, управляемая лицом, в масках Инстаграм, или двойной клик глазами [43]
• (+5) React Native: новая веха в мобильной разработке Shopify [44]
• (+2) 7 этапов эволюции тестирования в компании [45]
• Как я изучал Flutter или meows.app с 0 до прода [46]
• Podlodka #148: Корни инженерной культуры Восточной Европы [47]
• Flutter Dev Podcast #12: Flutter Europe и пет-проекты [48]
• Яндекс открыл набор на летнюю стажировку [49]
• Бесплатная книга “Создание шутера от первого лица на Unity” [50]
• Coderslang: приложение для изучения программирования [51]
• Один день из жизни UX менеджера [52]
• Почему не нужно копировать UX паттерны крупных успешных компаний [53]
• UX-тренды банкинга 2020 года: искусственный интеллект, голосовые помощники и гиперперсонализация [54]
• Как сделать идеальное мобильное приложение для интернет-магазина [55]
• Создание инфраструктуры персонального поиска для ваших знаний и кода [56]
• 9 действий для лучшего обмена знаниями между командами разработчиков [57]
• Истории в Spotify [58]
• Почти 10 уроков разработки игр, которые я усвоил в своем инди-приключении [59]
• Мобильный UI: 13 основных паттернов дизайна приложений, о которые нужно знать [60]
• Как должно было быть создано приложение SoundCloud для iOS — исследование UX [61]
• Понимание анимации загрузки — ее типы и применения [62]
• Nebula: сетевой фреймворк от Slack [63]
Аналитика, маркетинг и монетизация
• Google ввел ограничения на атрибуцию в App Campaigns на iOS [64]
• Расходы европейских пользователей на приложения выросли на 19%, Россия на 4 месте [65]
• Мессенджер для продавцов Attentive привлек еще $70 млн. [66]
• Играть по-взрослому: кейс Kunlun и Bidease [67]
• В 1-800-Flowers сделали AR-букеты [68]
• Ahoi: дейтинг с видео [69]
• Как в Fishing Clash справились со скамом в Facebook [70]
• SuperAwesome привлек еще $17 млн на детские технологии [71]
• Busuu покупает Verbling [72]
• Reroll – блокнот для характеристик D&D героев. Наш опыт запуска на Kickstarter и сбора $20К за 8 часов [73]
• Как увеличить конверсию в установки при помощи экспериментов в сторах [74]
• CCPA – что это значит для вашего приложения [75]
• Монетизации игр на развивающихся рынках с помощью поведенческой науки [76]
AI, Устройства, IoT
• (+32) Адаптивная фоновая подсветка для телевизора на Raspberry Pi – аналог Ambilight [77]
• (+19) Туториал по uplift моделированию. Часть 1 [78]
• (+17) Нейросети в производстве зубных протезов [79]
• (+14) Хьюстон! У нас проблемы? От «умного» улья к роболетку и «кластеру» на ардуино [80]
• (+4) Как защитить IIoT-решения, используемые в социальной инфраструктуре. И от чего? [81]
• (+2) DDoS от кофеварки [82]
• Бесплатная книга «Искусственный интеллект в играх 3» [83]
• Google запустил MediaPipe в веб [84]
• Как я переехал в США и запустил IoT-платформу с полумиллионом пользователей [85]
• Чему учиться разработчику встраиваемых систем [86]
• Boston Dynamics выложила SDK для робота Spot [87]
← Предыдущий дайджест [88]. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту [89].
Автор: DigitalEcosystems
Источник [90]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka-pod-ios/345336
Ссылки в тексте:
[1] Бинарная совместимость Reaktive: как мы её обеспечиваем: https://habr.com/ru/company/badoo/blog/484712/
[2] Разбираемся с eSIM (+ интервью с экспертом): https://habr.com/ru/company/edison/blog/485462/
[3] рассылки: http://apptractor.us3.list-manage2.com/subscribe?u=fbdb52f18301080a3cc983f4b&id=bb7bc0a9c0
[4] Telegram-канале: https://t.me/apptractor
[5] SwiftUI по полочкам: https://habr.com/ru/post/485548/
[6] Apple сообщает о рекордных результатах за первый квартал: https://apptractor.ru/info/news/apple-record.html
[7] Фишки Swift: двойное нажатие Apple Pencil: https://apptractor.ru/info/github/apple-pencil-double-taps.html
[8] Пошаговая инструкция по интеграции Apple Pay в ваше мобильное приложение: https://vc.ru/dev/103118-poshagovaya-instrukciya-po-integracii-apple-pay-v-vashe-mobilnoe-prilozhenie
[9] Как создать карточку с видео на SwiftUI: https://medium.com/flawless-app-stories/learn-how-to-create-a-video-card-using-swiftui-fb0d7a3fe7da
[10] Интервал между символами в UILabel: https://medium.com/flawless-app-stories/spacing-between-each-character-in-uilabel-swift-ios-7c7e61cacb59
[11] Реализация сервис-ориентированной архитектуры в Swift 5: https://medium.com/better-programming/implement-a-service-oriented-architecture-in-swift-5-fc70b8117616
[12] Пост мортем: сбой App Store 24.01.2020: https://www.revenuecat.com/blog/post-mortem-2020-01-24-app-store-outage
[13] iOS 13: невоспетые герои 2019 года: https://medium.com/better-programming/ios-13-the-unsung-heroes-of-2019-f6eccb4a017
[14] Маски и оверлеи в SwiftUI: https://medium.com/better-programming/masks-and-overlays-in-swiftui-8d00ff2264dc
[15] Превью ссылок в стиле Twitter для iOS-приложений на SwiftUI: https://medium.com/better-programming/create-link-preview-without-linkpresentation-4af049966854
[16] Лучшие практики безопасности для iOS-приложений: https://quickbirdstudios.com/blog/ios-app-security-best-practices/
[17] 5 расширений Swift, которые упростят вам жизнь: https://medium.com/@balzsvincze/5-swift-extensions-to-make-your-life-easier-1accb384cbac
[18] 13 быстрых клавиш Xcode для повышения вашей продуктивности: https://medium.com/better-programming/13-xcode-shortcuts-to-boost-your-productivity-329c90512309
[19] Buildkite и Fastlane — iOS-разработчики станут лучше спать: https://medium.com/engineering-at-tink/buildkite-fastlane-the-key-to-better-sleep-for-ios-developers-2d01f429f95c
[20] Реализация экрана поиска с использованием MVVM и RxSwift: https://medium.com/@andres.portillo/implementing-a-generic-search-screen-using-mvvm-and-rxswift-cd1d6fb134c
[21] Instructions: руководства для пользователей на Swift: https://apptractor.ru/info/github/instructions.html
[22] Расширения в Kotlin. Опасный атавизм или полезный инструмент?: https://habr.com/ru/company/tinkoff/blog/485760/
[23] Как научить телефон видеть красоту: https://habr.com/ru/post/485858/
[24] Видео Google Play | Playtime 2019: https://apptractor.ru/info/media/google-play-playtime-2019.html
[25] Фишки Kotlin: самое часто встречающееся значение: https://apptractor.ru/info/github/kotlin-most-frequent-value.html
[26] Android Broadcast #5: Как стать крутым разработчиком: https://apptractor.ru/develop/android-broadcast-5.html
[27] История нашего большого переписывания Android-приложения: https://blog.gojekengineering.com/the-story-of-our-big-android-app-rewrite-6ede1cc3ad9a
[28] Динамические экраны с использованием server-driven UI в Android: https://proandroiddev.com/dynamic-screens-using-server-driven-ui-in-android-262f1e7875c1
[29] Создание реактивного и гетерогенного адаптера в Kotlin: https://medium.com/android-dev-hacks/building-a-reactive-heterogeneous-adapter-in-kotlin-eed9487df29b
[30] Как реализовать темную тему на Android: https://medium.com/ideas-by-idean/how-to-implement-a-dark-theme-on-android-bc615fccf2d8
[31] Корутины в Kotlin Coroutines: от простого к продвинутому: https://medium.com/better-programming/kotlin-coroutines-from-basics-to-advanced-ad3eb1421006
[32] Организация Kotlin-кода: https://arturdryomov.dev/posts/kotlin-code-organization/
[33] Безопасность Android-приложений: лучшие практики: https://quickbirdstudios.com/blog/android-app-security-best-practices/
[34] Android: как исправить серьезную проблему в LiveData: https://medium.com/better-programming/how-to-fix-a-serious-problem-in-livedata-android-594a3f18e981
[35] Введение в анимацию с Jetpack Compose: https://proandroiddev.com/rotating-pokeball-animation-with-jetpack-compose-e3e839782cba
[36] Android-NFC: работа с NFC на Android: https://apptractor.ru/info/github/android-nfc.html
[37] Пиксель-арт для начинающих: исправляем типичные ошибки: https://habr.com/ru/company/playgendary/blog/485704/
[38] Как левел-дизайнеры используют приёмы теории архитектуры для создания игровых уровней: https://habr.com/ru/company/pixonic/blog/486376/
[39] Вывод внутриигровых сообщений с помощью Particle System : https://habr.com/ru/post/486260/
[40] Ад инди-разработчика или как довести свой проект до релиза и не застрелиться в процессе: https://habr.com/ru/post/486564/
[41] Весенняя стажировка для мобильных разработчиков в Redmadrobot: https://habr.com/ru/company/redmadrobot/blog/485152/
[42] Особенности установления соединения между участниками сетевой игры типа «равный к равному»: https://habr.com/ru/post/485576/
[43] Игра, управляемая лицом, в масках Инстаграм, или двойной клик глазами: https://habr.com/ru/post/486498/
[44] React Native: новая веха в мобильной разработке Shopify: https://habr.com/ru/company/vdsina/blog/486396/
[45] 7 этапов эволюции тестирования в компании: https://habr.com/ru/post/485812/
[46] Как я изучал Flutter или meows.app с 0 до прода: https://apptractor.ru/info/media/meows-app-flutter.html
[47] Podlodka #148: Корни инженерной культуры Восточной Европы: https://apptractor.ru/info/media/podlodka-148.html
[48] Flutter Dev Podcast #12: Flutter Europe и пет-проекты: https://apptractor.ru/info/media/flutter-dev-podcast-12.html
[49] Яндекс открыл набор на летнюю стажировку: https://apptractor.ru/learn/yaintern.html
[50] Бесплатная книга “Создание шутера от первого лица на Unity”: https://apptractor.ru/learn/build-your-own-first-person-shooter-in-unity.html
[51] Coderslang: приложение для изучения программирования: https://apptractor.ru/info/apps/coderslang.html
[52] Один день из жизни UX менеджера: https://bit.ly/2RujTRU
[53] Почему не нужно копировать UX паттерны крупных успешных компаний: https://ux.pub/pochemu-ne-nuzhno-kopirovat-ux-patterny-krupnyh-uspeshnyh-kompaniy/
[54] UX-тренды банкинга 2020 года: искусственный интеллект, голосовые помощники и гиперперсонализация: https://vc.ru/design/102910-ux-trendy-bankinga-2020-goda-iskusstvennyy-intellekt-golosovye-pomoshchniki-i-giperpersonalizaciya
[55] Как сделать идеальное мобильное приложение для интернет-магазина: https://vc.ru/dev/95855-kak-sdelat-idealnoe-mobilnoe-prilozhenie-dlya-internet-magazina
[56] Создание инфраструктуры персонального поиска для ваших знаний и кода: https://beepb00p.xyz/pkm-search.html
[57] 9 действий для лучшего обмена знаниями между командами разработчиков: https://medium.com/better-programming/9-actions-to-boost-knowledge-sharing-among-development-teams-ad5f7acd2048
[58] Истории в Spotify: https://uxplanet.org/spotify-stories-f6737dbed4dc
[59] Почти 10 уроков разработки игр, которые я усвоил в своем инди-приключении: https://techhype.io/?story=almost-10-gamedev-lessons-ive-learned-in-my-indie-adventure
[60] Мобильный UI: 13 основных паттернов дизайна приложений, о которые нужно знать: https://uxdesign.cc/mobile-ui-13-basic-patterns-of-app-ui-design-to-know-about-d3f7c6176f13
[61] Как должно было быть создано приложение SoundCloud для iOS — исследование UX: https://uxdesign.cc/the-ios-app-soundcloud-should-be-designing-1085e6174abe
[62] Понимание анимации загрузки — ее типы и применения: https://uxdesign.cc/understanding-loading-animation-types-and-its-application-e41ba914b847
[63] Nebula: сетевой фреймворк от Slack: https://apptractor.ru/info/github/nebula.html
[64] Google ввел ограничения на атрибуцию в App Campaigns на iOS: https://apptractor.ru/info/news/google-atribution.html
[65] Расходы европейских пользователей на приложения выросли на 19%, Россия на 4 месте: https://apptractor.ru/measure/app-store-analytics/european-mobile-2019.html
[66] Мессенджер для продавцов Attentive привлек еще $70 млн.: https://apptractor.ru/info/news/attentive.html
[67] Играть по-взрослому: кейс Kunlun и Bidease: https://apptractor.ru/marketing-monetization/ad-networks/moments-choose-your-story.html
[68] В 1-800-Flowers сделали AR-букеты: https://apptractor.ru/info/news/1-800-flowers-ar.html
[69] Ahoi: дейтинг с видео: https://apptractor.ru/info/techhype/ahoi.html
[70] Как в Fishing Clash справились со скамом в Facebook: https://apptractor.ru/marketing-monetization/fishing-clash-facebook-scam.html
[71] SuperAwesome привлек еще $17 млн на детские технологии: https://apptractor.ru/info/news/superawesome-17.html
[72] Busuu покупает Verbling: https://apptractor.ru/info/news/busuu-verbling.html
[73] Reroll – блокнот для характеристик D&D героев. Наш опыт запуска на Kickstarter и сбора $20К за 8 часов: https://vc.ru/tribuna/103070-reroll-bloknot-dlya-harakteristik-d-d-geroev-nash-opyt-zapuska-na-kickstarter-i-sbora-20k-za-8-chasov
[74] Как увеличить конверсию в установки при помощи экспериментов в сторах: https://vc.ru/marketing/103566-kak-uvelichit-konversiyu-v-ustanovki-pri-pomoshchi-eksperimentov-v-storah
[75] CCPA – что это значит для вашего приложения: https://techhype.io/?story=ccpa-what-it-means-for-you-and-your-app
[76] Монетизации игр на развивающихся рынках с помощью поведенческой науки: https://medium.com/googleplaydev/unlocking-games-monetization-in-emerging-markets-with-behavioral-science-747037cb9386
[77] Адаптивная фоновая подсветка для телевизора на Raspberry Pi – аналог Ambilight: https://habr.com/ru/post/486106/
[78] Туториал по uplift моделированию. Часть 1: https://habr.com/ru/company/ru_mts/blog/485980/
[79] Нейросети в производстве зубных протезов: https://habr.com/ru/company/oleg-bunin/blog/486028/
[80] Хьюстон! У нас проблемы? От «умного» улья к роболетку и «кластеру» на ардуино: https://habr.com/ru/post/486224/
[81] Как защитить IIoT-решения, используемые в социальной инфраструктуре. И от чего?: https://habr.com/ru/company/toshibarus/blog/484726/
[82] DDoS от кофеварки: https://habr.com/ru/post/485862/
[83] Бесплатная книга «Искусственный интеллект в играх 3»: https://apptractor.ru/info/media/game-ai-pro-3.html
[84] Google запустил MediaPipe в веб: https://apptractor.ru/info/news/mediapipe.html
[85] Как я переехал в США и запустил IoT-платформу с полумиллионом пользователей: https://vc.ru/tribuna/103787-kak-ya-pereehal-v-ssha-i-zapustil-iot-platformu-s-polumillionom-polzovateley
[86] Чему учиться разработчику встраиваемых систем: https://medium.com/swlh/what-to-learn-as-an-embedded-developer-4a6b03752d6c
[87] Boston Dynamics выложила SDK для робота Spot: https://apptractor.ru/develop/sdk/spot-sdk.html
[88] Предыдущий дайджест: https://habr.com/ru/company/digital-ecosystems/blog/485524/
[89] почту: mailto:lbogolubov@gmail.com
[90] Источник: https://habr.com/ru/post/486640/?utm_source=habrahabr&utm_medium=rss&utm_campaign=486640
Нажмите здесь для печати.