뜬금없이 간만에 티스토리에 글을 쓰게 되고...
심지어, 2021년 WWDC 이야기. :)
6월에는 게으르미즘에 미루어 두었던, WWDC2021 을, 올해는 가을에 혼자 시작해 봅니다.
Platform state of the union
일단 짧은 소감. (제 페북에 올린 글을 그대로 복붙;;ㅎㅎ)
눈길을 끌었던 건.. 대략 세가지 정도.
Concurrency
- async / await,
- Structured concurrency,
- Actors & @ MainActor
영상을 본 다음, 작년 11월에 김정 님이 올려주신 글도 같이 보면 꿀잼. 😉
https://medium.com/@jungkim/스위프트-동시성-로드맵에-대하여-about-swift-concurrency-roadmap-ccf651c09c4c
AR 의 RealityKit2
- 바로 해보고 싶은건 Object Capture & API. (Reality 3D 가즈아~)
(아 근데 아이폰이.. 크흑.. ㅠ.ㅜ)
Facetime Share Play 의 GroupActivity
- 적용해보고 싶어짐.
그 외에 스크린 타임 api 도.. 요건 어떤 의미에서 이래도 되나..? 싶었음. 😉
Day2 는, What's new party~!
Platform state of the union
Indexing.
XCode cloud
Swift
Concurrency
async / await
- 비동기를 쉽게 돌릴수 있음
Structured concurrency
- async let 으로 선언하여, 동시에 동작하게 만들 수 있음
Actors
- 안전한 컨커런시용
- 구조체와 같은 문법
- async / await 사용과 잘 섞어 사용 가능
@MainActor 속성을 이용해서, await 으로 함수를 호출하면, 메인쓰레드를 타게 됨.
for try await line in url.lines {
…
}
SwiftUI 의 발전
우리도 써야 하거든 ㅎㅎ
접근성도 향상됨
- 관련 모디파이어도 추가됨
새로운 메터리얼 스타일도 추가됨
- 관련 내용을 깔쌈하게 먹여줌
SwiftUI in iPad SwiftPlaygrounds
앱 빌드도 가능하게 됨
엑스코드로 자연스럽게 가져올 수 있음
플레이 그라운드도 엑스코드와 동일한 레벨의 프리뷰 지원
콘솔도 지원해주는 구나… :)
앱스토어에 올리기까지 되네?! ㅋㅋ
올해 하반기에 지원된다네 ㅋㅋㅋ
AR
ar 가능한 장비가 1빌리언
RealityKit2
랜더링 등등 다양한거 지원
Object Capture & API!
포토 리얼리티 가즈아~~
레이 트레이싱도 된당~
유니티, 시네마포디, 클론도 지원~
엑스코드에서 바로 3D가 확인되네;;
앱클립으로 3디 보여주고 앱으로 연결 가능.
steam effect 가 중요한 듯 ㅋㅋㅋ
이런 저런 효과 가능
Unified Metal Platform
메모리와의 물리적 거리가 짧아지고, 모든 플랫폼에 적용되기 시작하면서 성능이 급상승하게 됨
그래픽 & 컴퓨트 인티그레이션
- 같은 파이프라인으로 적용
고해상도 주파수 디스플레이
- pro motion display
온 스크린 가상 패드도 기본 지원
다양한 조이패드 지원
선택 쉐이더 디버거
텐스쳐 컨버터 툴
메탈 디버거 타임라인 뷰
사람들과의 연결 & 프라이버시의 중요성
우리 앱에서도 필요
Focus
- interruption level apis
- passive
- active
- time sensitive
- critical
메신저 레벨에서 아바타를 노티에 보여줌
노티피케이션 서머리
포커스 상태를 우리 앱이 받아서 적용할 수 있음
스크린타임 api
Managed Settings
- 다양한 제약 사항들을 걸 수 있음
- 숙제 하려므나
- 심지어 잠그거나 지우기도 제한 가능
Device Activity
- 토큰으로 상태를 넘겨받아서 관련된 제약사항이 허가 사항을 넘길 수 있음
- 심지어 응원도 하네.. ㅋㅋㅋㅋㅋ
가족으로 묶은 상태에서 말이지..
위젯
extra size widget for iPad
Smart Stack Widget + 위젯 추천
Facetime like portal
SharePlay
- 그룹 플레이
- 동시 재생, 상태 공유
GroupActivity protocol
AVPlayer @published 로 마무리..;;
화면 공유가 아닌, 터치를 전달, 앱이 받아서 처리하도록 동작.