На WWDC 2019 Apple показала одну из лучших Keynote-презентаций за последние несколько лет. Но это только начало. Нас ждёт более 100 сессий от инженеров Apple. Я собрал в списке доклады, которые, как мне кажется, будут полезны большинству iOS-разработчиков. Если не знаете, за что браться, то попробуйте начать с них.
Обратите внимание, что ещё не все доклады доступны. Вы можете посмотреть их либо в прямом эфире (время московское), либо через пару дней после трансляции. Сверяйте время с официальным расписанием, так как оно может измениться.
What's New in Swift
Тем, кто не следит за Swift Evolution, будет интересно послушать, что нового появилось в Swift 5.0 и 5.1.
Xcode 11
- What's New in Xcode 11
- Adopting Swift Packages in Xcode, четверг, 6 июня, 01:00
- Debugging in Xcode 11, четверг, 6 июня, 20:00
- Testing in Xcode, четверг, 6 июня, 21:00
Новая версия IDE для разработчиков под ОС Apple. Поставляется вместе со Swift 5.1, поддержкой Swift Packages, новыми возможностями для дебага и тестирования.
SwiftUI
- Introducing SwiftUI: Building Your First App
- SwiftUI Essentials, среда, 5 июня, 21:00
- SwiftUI on watchOS, четверг, 6 июня, 00:00
- Data Flow Through SwiftUI, четверг, 6 июня, 19:00
- Integrating SwiftUI, пятница, 7 июня, 01:00
- Building Custom Views with SwiftUI, пятница, 7 июня, 19:00
- SwiftUI On All Devices, суббота, 8 июня, 00:00
Я уже давно мечтал о новом UIKit на Swift и без багов, но Apple представила нечто другое. Декларативный фреймворк для создания интерфейса приложения в пару строк кода. Работает на всех яблочных системах, включая часы. Фантастика! Но получится ли его использовать для приложения, которое более сложное, чем Hello World?
Project Catalyst
- Introducing iPad Apps for Mac
- What’s New in iOS and macOS Design
- Taking iPad Apps for Mac to the Next Level, пятница, 7 июня, 03:00.
О проекте Marzipan мы официально услышали ещё в прошлом году. В этом Apple сдержала обещание и дала возможность всем iOS-разработчикам портировать iPad-приложения под macOS. Теперь он называется Project Catalyst. Не нужно будет осваивать AppKit. Достаточно поставить галочку в настройках, убрать обращения к недоступным на macOS фреймворкам, добавить десктоп-специфичные функции, и всё.
Implementing Dark Mode on iOS
Среда, 5 июня, 20:00
Ожидаемая многими тёмная тема наконец-то добралась до iOS. В этом видео вы узнаете, как реализовать её в вашем приложении.
Modernizing Your UI for iOS 13
Четверг, 6 июня, 03:00
В этом докладе расскажут, как подготовить своё приложение к приходу iOS 13. Не забывайте, что релиз будет осенью, и к нему лучше подготовиться заранее.
Combine
- Introducing Combine and Advances in Foundation, четверг, 6 июня, 20:00
- Combine in Practice, пятница, 7 июня, 00:00
Реактивное программирование от Apple! У нас RxSwift не прижился, но посмотреть, что получилось у Apple — интересно.
In-App Purchases and Using Server-to-Server Notifications
пятница, 7 июня, 21:00
Что нового во встроенных покупках — узнаете в этом видео.
Геолокация
What's New in Core Location, среда, 5 июня, 19:00
What’s New in MapKit and MapKit JS, пятница, 7 июня, 03:00
Apple добавила новые фичи в Core Location и MapKit. Например, пользователь теперь может дать доступ к геолокации только на один раз. Если в вашем приложении используется навигация, посмотрите эти видео чтобы избежать проблем.
Introducing Sign In with Apple, среда, 5 июня, 19:00
Поддержка авторизации через Apple будет обязательна для всех приложений, поддерживающих авторизацию через другие сторонние сервисы, например Google или Facebook. Sign in with Apple будет работать и в вебе. Расскажите своим коллегам веб-разработчикам об этой отличной фиче.
Посмотреть остальные видео вы сможете на официальном сайте , в официальном iOS-приложении или неофициальном приложении под macOS.
Xcode 11 beta и новые версии операционных систем уже доступны для разработчиков. Вы можете установить новый Xcode на Mojave рядом с основной версией. Но для того, чтобы протестировать перенос приложений на macOS и генерацию UI из кода в реальном времени, вам придётся поставить Catalina.
Автор: ildar_gilfanov