WWDC 21 Highlights: що нового для програмістів

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

Розглянемо цікаві новини, які приготували для нас спеціалісти із Apple. Ми не будемо розповідати про те, що нового з’явилося в iOS 15, ми сфокусуємося на тому, які нові можливості з’явились для інженерів.

Якщо ви ще не встигли переглянути Keynote, то рекомендую це зробити, щоб бути в курсі останніх новин. Для тих читачів, які не мають можливості переглянути відео, є корисні статті, в яких підсвічено основні моменти, які були представлені на презентації. Рекомендую це посилання, ось це, а також це. Маст хев до перегляну є Platforms State of the Union, де спеціалісти із Apple розповідають про нові технічні можливості для інженерів. Власне на останньому ми й зосередимося сьогодні.

З переліком усіх нових технологій, які були представлені на WWDC 2021, ми можемо ознайомитися за цим посиланням. Ми ж розглянемо найцікавіші новини на наш суб’єктивний погляд.

Xcode 13

Велике оновлення отримав Xcode. Ми зможемо проводити код ревью безпосередньо в самій програмі: будь це створити pull request, чи додавання коментарів. Очікується. що це покращить співпрацю та спілкування в команді. Всі ми чекали Continuous Integration від Apple і отримали його — Xcode Cloud. Це privacy focused CI, який буде хоститись на серверах Apple. Отже, нам не потрібно буде використовувати сторонні сервіси для налаштування робочих процесів та інтеграції з App Store Connect. Очікується, що ми зможемо керувати процесом розгортання та підписання коду прямо в Xcode Cloud. Виглядає багатообіцяюче, та чи насправді все буде так легко? Крім того, із додаванням TestFlight на Mac ми можете швидко діагностувати збої програм, що є надзвичайно круто.

Concurrency in Swift

Apple додала нову можливість керування багатопоточністью в Swift — використання async/await, яке будет доступно з версії Swift 5.5. Хоча ми й не отримали оновлень для Combine, проте маємо новий високорівневий механізм для керуванням потоками. Apple на власному прикладі продемонстрував, як замінити вкладені completion handlers на async/await, а також використання Actors замість DispathQueue для більшої безпеки. Більш детально ви зможете ознайомитися на відповідних сесіях.

Build and Ships Apps on iPad

Ні для кого не є секретом, що ми маємо можливість використовувати Swift Playground на iPad. Я вважаю, що це є надзвичайно корисно, адже допомагає людям у вивченні програмування. Проте Apple зробив ще один величезний крок вперед, він додав можливість створення програм, побудованих на основі SwiftUI, прямо в iPad. Окрім того, що ви зможете зібрати цю программу в бінарний файл, так ще й розповсюдити своїм користувачам прямо з iPad. Виглядає вражаюче! Щиро сподіваюсь, що цей процес буде настільки легким, як вони заявлять і не потрібно буде перейматися по різним деталям. Припускаю, що мій «найулюбленіший» етап code signing не дуже сподобається початківцям :)

Machine Learning and Augmented Reality

RealityKit з’явився в iOS 13 задля того, щоб допомогти інженерам у написанні програм з використанням технології Augmented Reality. RealityKit 2 отримав нові можливості з використанням спеціальних шейдерів та нових API відтворення анімацій. Проте що з’явилося нового, так це технологіях Object Capture. Вона дозволяє перетворювати реальні сцени в AR-моделі, будуючі віртуальні 3D об’єкти з безліч 2D зображень. Нові можливості також отримав фреймворк Vision — це сегментація людини, яка дозволяє відстежувати позу голови, а також сегментація документів, яка займається пошуком документів на зображеннях.

User Notifications API for Focus Mode

iOS 15 представляє нам новий режим фокусування. Це означає, що користувачі отримуватимуть сповіщення на основі певного часу, який вони самі виберуть, або своєї поточної активності (сон, робота, заняття спортом). Щоб гарантувати, що сповіщення доставляються точно, ви можете перевірити зміни в User Notifications. Насамперед, зараз у нас є UNNotificationInterruptionLevel, який дозволяє встановити тип сповіщення: активне, пасивне, критичне, чутливе до часу. Критичні сповіщення обійдуть беззвучний режим. Однак вам потрібно буде чітко визначити це в entitlements.

New features in SwiftUI 3.0

Технологія SwiftUI надзвичайно сподобалась інженерам і Apple активно працює над її покращенням. В iOS 15 SwiftUI додав відсутні компоненти управління, а також додав більше кастомізації для існуючих. Ось деякі з них:

  • markdown підтримка в AttributedString;
  • AsyncImage для асинхронного завантаження зображень через URL;
  • refreshable — коллбек для обробки pull-to-refresh івентів в SwiftUI List;
  • swipeAction — модифікатор, який додає button action до SwiftUI List строків;

New APIs for Privacy

Apple виступає амбассадором privacy, тому кожного року все сильніше закручує гайки для программ, які займаються збиранням користувацьких даних. Наприклад, locations permissions дає нам можливість давати доступ на трекінг місцерозташування кожного разу, коли програмі це буде необхідно. Ми маємо новий компонент для цього — класс LocationButton, який відповідає за те, щоб отримати поточну геолокацію користувача.

Також в iOS 15 Facetime представив функцію SharePlay, яка дозволяє спільно переглядати та шейрити на відеодзвінках. Так ось, все це можливо завдяки фреймворку GroupActivities. Детальніше з ним можна ознайомитися на відповідних сесіях.

І наостанок

Тиждень WWDC в самому розпалі, тому не марнуймо час даремно та хутчіш дивитися сесії. А для тих, хто вже хоче спробувати все нове, Apple вже поділився з нами семплами коду з WWDC 2021. Бажаю всім натхнення, енергії та сил! Більш детальний огляд ви зможете знайти в наступному iOS дайджесті. Stay tuned.

P.S. А яка новина вразила вас найбільше?

👍НравитсяПонравилось6
В избранноеВ избранном2
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

просторове аудіо у GroupActivities сподобалося

оо, це дійсно крута фіча!

Найбільше вразила новина про Xcode Cloud, цікаво чи справді воно буде так як обіцяє Apple. Інформація про concurrency вже давно гуляла мережою, нарешті можна буде потестити. Прикольні ще новинки для AR

оо, круто! дякую, що поділилися)

Подписаться на комментарии