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

Наконец-то можно сказать, что WWDC получился. Роскошный SwiftUI, новые версии операционных систем и новая iPadOS, App Store на часах, PencilKit, Catalyst для портирования приложений на macOS, новые инструменты для виртуальной реальности, реактивный Combine. На полгода разбираться как минимум. А мотом уже и новую конференцию можно будет ждать.

lyssuif-xkgy3zjt21evcx2zlvq.png

Это значимое событие и для программистов, и для обычных пользователей Apple: тут и про нововведения в системном API, и про пользовательские сервисы. Ожидаемый декларативный UI действительно стал явью, и это воистину событие вселенского масштаба для мира iOS-разработки. «Надо написать об этом статью», — подумал я и еще тысячи iOS-разработчиков по всему миру, пребывающих в состоянии экзальтации.

Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в 5ek7bfhjzilma-pbharuioaa7lw.pngTelegram-канале.

f1930ac4945596eb9707bc7a01bc5bdc.pngiOS

(+24) WWDC 2019: главное с презентации Keynote по версии роботов
(+18) WWDC 2019:: что посмотреть
• Sign In с Apple — быстрый, удобный и безопасный вход
• Apple ставит Sign In выше конкурентов
• Победители Apple Design Awards 2019
• Apple запретила рекламу и аналитику в детских приложениях
• В Core ML заработало обучение на устройствах
• Apple представляет новые передовые технологии для разработки приложений
• Apple представляет новую iPadOS
• Как я изучил Swift и выпустил своё приложение, которое заняло 2е место на Product Hunt
377ae0333d0f4b7b97307c9eea5ee21a.gifSwiftUI в примерах
377ae0333d0f4b7b97307c9eea5ee21a.gifКак работает индексирование с Xcode и как починить его, если оно сломалось на вашем проекте
377ae0333d0f4b7b97307c9eea5ee21a.gifStoryboards, Auto Layout и полноэкранные фоновые изображения
377ae0333d0f4b7b97307c9eea5ee21a.gifИспользуем UIMenuController для управления UIResponder
377ae0333d0f4b7b97307c9eea5ee21a.gifЭтапы сборки Xcode и окружение
377ae0333d0f4b7b97307c9eea5ee21a.gifРаботаем с SwiftUI — создаем и объединяем View
377ae0333d0f4b7b97307c9eea5ee21a.gifПервый взгляд на SwiftUI
377ae0333d0f4b7b97307c9eea5ee21a.gifИспользуем Xcode Preview в продакшене
377ae0333d0f4b7b97307c9eea5ee21a.gifЧто нового в Xcode 11?
377ae0333d0f4b7b97307c9eea5ee21a.gifСоздаем библиотеку для iOS-приложения с помощью Swift Package Manager
377ae0333d0f4b7b97307c9eea5ee21a.gifВы уже бывший iOS-эксперт?
377ae0333d0f4b7b97307c9eea5ee21a.gifПервый взгляд на новый фреймворк Apple Combine
377ae0333d0f4b7b97307c9eea5ee21a.gifSign in with Apple: используем в UIKit-приложении

e1a3cf2a8b65a0da69bbdd5c0ad040fe.pngAndroid

(+18) Kotlin DSL, Fixtures и элегантные UI тесты в Android
(+15) Создание моментальных игр на Unity в Google Play Instant
(+6) Как подключить галерею PhotoSwipe в WebView android
• Мобильные игры станут доступны в Steam и других магазинах приложений для ПК
6861c1045bee84154ebf29f5cc1fb355.pngAndroid Dev Podcast #96: DEX формат, его инструментация и Android рантаймы
377ae0333d0f4b7b97307c9eea5ee21a.gifИнструменты отладки для Android-приложений
377ae0333d0f4b7b97307c9eea5ee21a.gifRemote Config в Android — один релиз, чтобы править ими всеми
377ae0333d0f4b7b97307c9eea5ee21a.gifВремя запуска Android-приложения: почему это важно
377ae0333d0f4b7b97307c9eea5ee21a.gifЗабавляемся с преобразованием текста в изображение в Android
377ae0333d0f4b7b97307c9eea5ee21a.gifAndroid MVI c Jetpack Compose
377ae0333d0f4b7b97307c9eea5ee21a.gifАбстрагируем sealed class в Kotlin
377ae0333d0f4b7b97307c9eea5ee21a.gifРеактивное программирование с Kotlin
377ae0333d0f4b7b97307c9eea5ee21a.gifДелаем приложения в Android Studio реактивными с UI Components и Redux
377ae0333d0f4b7b97307c9eea5ee21a.gif4 шага к Android Dot TabItem
377ae0333d0f4b7b97307c9eea5ee21a.gifСовершенное тестирование: делаем уборку
377ae0333d0f4b7b97307c9eea5ee21a.gifRetrofit встречает корутины
377ae0333d0f4b7b97307c9eea5ee21a.gifВнедряем компоненты дизайн системы в Android-приложения
377ae0333d0f4b7b97307c9eea5ee21a.gifМашинное обучение в Android с Firebase ML Kit

7081c634ec176ab6b953d9d19e82a09a.pngРазработка

(+42) Unity: бесконечный процедурно генерируемый город, получаемый при помощи алгоритма WFC (коллапс волновой функции)
• AppsCast #7: Ментор, кумир и имперский стаут
• Сушите вёсла: Пилотный выпуск
• Podlodka #114: Менторство
• Яндекс открыл регистрацию в Школу разработки интерфейсов
• Эмоции в продуктовой разработке
377ae0333d0f4b7b97307c9eea5ee21a.gifДелаем приветственный слайдер на React Native
377ae0333d0f4b7b97307c9eea5ee21a.gifРедизайн мобильного дейтинга: исследование UX
377ae0333d0f4b7b97307c9eea5ee21a.gifВычислительная Фотография
377ae0333d0f4b7b97307c9eea5ee21a.gif650 бесплатных курсов по разработке на июнь
377ae0333d0f4b7b97307c9eea5ee21a.gifКак написать бэкенд на C# с использованием Firebase и Google Cloud Run для игры на Unity
377ae0333d0f4b7b97307c9eea5ee21a.gifПереходите на Flutter? Первое приложение
377ae0333d0f4b7b97307c9eea5ee21a.gifПриложение для отслеживания трат: исследование UX
377ae0333d0f4b7b97307c9eea5ee21a.gifУровень Counter-Strike на UE4
377ae0333d0f4b7b97307c9eea5ee21a.gifWWDC 2019: что вы могли упустить
377ae0333d0f4b7b97307c9eea5ee21a.gifОстанутся ли Storyboard-ы?

509dc9bde69347ecbe0c21ff2973d7e7.jpgАналитика, маркетинг и монетизация

(+4) Кейсы удачных (и не очень) экспериментов «Яндекс.Навигатора»
• Китайская мобильная экосистема: самая большая и интересная
• myTracker запускает предиктивную аналитику
• Anyplace: жилье для кочевников
• Ритейл 2030: доставка, мобильные платежи и персонализация
• Доходы развлекательных приложений за год выросли на 26%
• Zynga сделала Battle Royale для Snap Games
• Firefly: умная реклама на такси
• Исследование ASO российских приложений: как понять, что ваше приложение придёт к успеху?

8538129f5e7b404a720121cb9c3814db.jpgAI, Устройства, IoT

(+38) Samsung открывает бесплатный онлайн-курс по нейросетям в задачах компьютерного зрения
(+18) Отличаем символы от мусора: как построить устойчивые нейросетевые модели в задачах OCR
(+11) Построение автоматической системы модерации сообщений
377ae0333d0f4b7b97307c9eea5ee21a.gifВведение в машинное обучение на Python

< Предыдущий дайджест. А вот тут первый выпуск дайджеста.

© Habrahabr.ru