Записки разработчицы
1.89K subscribers
369 photos
23 videos
4 files
1.08K links
Разговоры об IT, о разработке. О мобилках нативных и кроссплатформенных.
Личный аккаунт @azharkova
Download Telegram
После 1.5 часовой презентации возможностей фичей Mac OS перешли к Concurrency
Но это буквально пару минут для затравочки
Еще из программных вкусняшек - Object Capture. Фича, которая позволяет делать средствами Apple 3D модельку из фоток объекта
Также внимательно будем смотреть на InAppEvent
Также новинки среди инструментов разработки для упрощения и ускорения работы. XCode Cloud для билда в облаке и распространении через TestFlight. TestFlight for Mac - это то, что хотели многие
Итак, Keynote прошел, затравки нам дали, но маловато, и у нас есть целая неделя сессий с видео. А тематика заявлена ну очень волнующая воображение:
https://developer.apple.com/wwdc21/sessions/


1. Concurrency, async/await.
Concurrency была в Swift и раньше, мало ли, вдруг кто не в курсе, но мы использовали Grand Central Dispatch с closure и коллбэками. Теперь же мы получим async/await, похожий по синтаксису на реализацию Task (там кстати будут Task) в .Net. Кто-то сравнивает это с корутинами. На мой взгляд не совсем верно, но посмотрим после сессии про Actors.

В любом случае, это грандиозное и глобальное изменение, которое превратит код в конфетку.

Будут сессии и по доработке реализации многопоточности в SwiftUI, и при работе с Core Data, сетью.

2. Swift, Foundation.
Приходит Swift 5.5, а в нем поменяется не только concurrency. Судя по сессии про Arc, Apple пошли дальше после 5.3 и глобальной "структуризации".
Похоже, нас ждет опять изменение синтаксиса и рефакторинг при работе с Foundation функционалом.

ResultBuilders и DSL синтаксис - тоже очень интересно.

3. SwiftUI.

Кроме сессии по многопоточности, будет, конечно же, сессия про новинки (я гадаю про навигацию, хотя отдельной сессии точно не будет), по работе со SwiftUI под Mac OS, перформансу, визуальной работе и прочему.

"programmatically dismiss the keyboard" - ммм, кажется, опять будут сниппеты энтузиастов.


4. Виджеты.
Прямо вынесены отдельно несколько сессий и кодлабов по построению эффективных и удобных виджетов. Насколько они будут пересекаться с тем, что представили на Google I/O - хороший вопрос.

5 AppClips
Удивительно, но что-то решили доработать и там.

6. Accessability.
Т.к на Keynote рассказали про новые фичи, которые требуют обработки изображения, звука, хорошего перформанса, хорошей сети, то будут и соответствующие сессии.
Например, сессии по разработке под разные устройства, поддержке связи между разными устройствами

И разумеется сессии по новой политике безопасности. Фоновый режим в явном виде отдельно не заявлен, но опять же посмотрим.
Также присутствуют сессии про UIKit и дизайн.
И разумеется, сессии по ML и AR.
Очень и очень много всего. Очень много важного, интересного и глобального
Пока даже в примерном виде сессии Google I/O и WWDC обеспечили нас не только новинками, удобными и крутыми фичами и решениями, но и, конечно, создали тематику для митапов, конференций разного уровня и разной степени глобальности
И как не забыть. Будут же сессии по новым инструментам. Например, XCode Cloud и Testflight для Mac
https://www.youtube.com/watch?v=SQE5DZDqASA
Опережая официальные сессии, Пол Хадсон выдает, что же нового появилось в SwiftUI под iOS 15.
Поиграться можно уже в новом Xcode 13 (beta). Однако, учтите, что скорость отдачи с ресурса сейчас низкая из-за ажиотажа
Пока мы погрузились в мир WWDC, на канале Кирилла Розова @krlrozov
https://t.iss.one/android_broadcast появился анонс одного из самых ожидаемых эфиров мира современной кросс-платформы с Аркадием Ивановым
@arkann1985

https://www.youtube.com/watch?v=DBxiOKRKQ34
Чем крут Decompose? Это решение для общего UI и навигации между общими экранами в Kotlin Multiplatform
👍1
WWDC завершается. Основные ожидаемые (лично мной) по многопоточности и SwiftUI оказались ну очень информативными, очень насыщенными и требуют переваривания для осознания. Особенно concurrency, т.к новинка породила еще ряд вопросов, на которые пока надо найти ответы (хотя бы в тех же видео и доках):
- как определяется поток или очеред исполнения
- что там с self и retain-cycle