'WWDC2021'에 해당되는 글 2건

  1. 2021.10.01 WWDC2021 - Day2
  2. 2021.10.01 WWDC2021 - Day1
테크 칼럼2021. 10. 1. 05:07

언텍트 시대에 집에서 혼자(?) 늦게 뒷북치는 WWDC2021, Day2 !

 

짧은 감상평

What’s new in UIKit

Productivity
- OS는 따로, 개발 환경은 하나로, Gazua!
UI refinements
- 지못미, 테이블 뷰! 이제는 SwiftUI 에 밀려(?) List 라 불리게 된겐가.. ㅠ.ㅜ
API Enhancements
- pulldown? popup! SubMenus?! 들이 추가되다니!
- 안녕, roundedRect..? 아닌가, Welcome back, 인가...? ;)
- UIKit 에서 자꾸만 SwiftUI 의 냄새가 난다.. 나만 그런가..;
- 슬슬 Scene 기반으로 넘어오라는 듯.. ㅎㅎ
Security and privacy
- Location button?!


What’s new in Swift

Swift packages updates
- 엑스코드와의 통합, 묶음제공 - JSON - 도 좋아보임
- 애플의 다양한 패키지 제공. 일단 Collections, Algorithms 은 좀 챙겨봐야 하지 않을까..
- DocC 좋네.. :)
- ARC Optimize Object Lifetimes 옵션 추가
Ergonomic improvements
- 여러 SE 들을 묶었더니~ 짜잔~! SwiftUI 가 더 심플하고 강력해졌습니다~~~
- Result Builder 표준화, enum : Codable 키 설정 없이 바로 사용 가능!
Async and concurrent programming
- Actor 는 Reference type 이지만, 멀티테스킹에 맞게 '룰'을 가지고 있음. ;)
Swift6
- 커밍 쑨~ 더 안전한 컨커런시~ 근데, 컴파일러 스냅샷이 뭔가염?? ;

What’s new in Foundations

AttributedString
- 와... 마크다운으로 문서를 이쁘게 꾸밀 수 있게 되었네;;;
- 여기다 로케이션을 뿌려서 언어별로 적절히 마크다운으로 적용을 할 수 있게 되었네?!
Formatters
- 드디어! 타입에 기본 장착(?)이 되었다!!!
- 어쩐지 모르게 풍겨지는 SwiftUI 의 Modifier 향기.. ㅠ.ㅜ
- 그나저나 SwiftUI, preview 에서 locale 설정도 되는구나...;;
Grammar agreement
- 이거 너무 좋다!! ㅠ.ㅜ 단수, 복수 자동처리, 남성형, 여성형 스타일까지
- 이걸 모두 자동~ 이라고 해놓곤 스크립트를 열심히 짜야 하는 듯..(!)

 

 

Indexing!

What’s new in UIKit

Productivity
** OS는 따로, 개발 환경은 하나로, Gazua!

iPad Multitasking
- 새로운 센터드 씬 추가
- 씬을 하단에도 붙일 수 붙일 수 있음
- UIWindowScene 을 통해서 적용
Pointer band selection
- 다중 선택
Pointer accessories
- 마우스 포인터를 변경
Keyboard shortcuts - UI가 변경됨
관련 영상  : ~ iPad Apps to the next level
> Focus system 
- 아이패드에서도 적용 됨.
- 키보드 이용 (Focus on Keyboard navigation 영상 참고)
Multi-touch drag & drop
- 이제 아이폰도 가능!
- WWDC17년 영상들과 동일
UI refinements
** 지못미, 테이블 뷰! 이제는 SwiftUI 에 밀려(?) List 라 불리게 된겐가.. ㅠ.ㅜ

Toolbar, tabbar visual update
contentviewscroll이 viewcontroller 에 기본적으로 property 제공됨?
List headers
.plain, .grouped, 
prominentInsetGrouped : 사이드바 처럼 동작.
extraPromentInsetgrouped : 애플워치 앱처럼 볼드로 동작.
UIListSeparatorConfiguration
- 지난 업데이트 14.5 에서 추가
Sheets Presentations
- half height sheets
- Optionally non-modal 
- 관련 영상 : Customize and resize sheets in UIKit
UIDatePicker - 시간도 고를 수 있게 휠 나옴~
API Enhancements
** pulldown? popup! SubMenus?! 들이 추가되다니!
** 안녕, roundedRect..? 아닌가, Welcome back, 인가...? ;)

UIButton API
- plain - gray, tinted, filled, multiful line : button configurations
- pulldown, popup 추가됨
- 맥에서 맥에 맞게 잘 모이게 동작함
- corner 도 있네.
meet the uikit button video
submenus
- 위 비디오에서 다룸
SFSymbol
- 팔레트, 멀티 컬러 추가됨
- 대표색을 고르고 설정하면 적절하게 채워짐
- Design and build SFSymbols, SF Symbols in UIKit and AppKit videos
Content size category limits
- 동적 타입 사이즈를 뷰 하이라키에 맞춰서 제약 가능
- 최소 최대 크기 설정 가능
UIColor enhancements
- system ~
Dynamic tint color : UIColor.tintColor
colorPickerController 에 지속적 선택 옵션 추가
TextKit2
- 새로운 텍스트 레이아웃 api
- UITextField 뒤에서 사용됨
- 특별한 적용 필요는 없음
- Meet TextKit2 video
UIScene state restoration
- NSUserActivity : 인터페이스 상태를 표현해 줌
- 텍스트 동작 상태 속성 추가
- 스토리보드 로드 후 상태 복구용 콜백
- 상태 복구용으로 확장 가능
- 이제 슬슬 씬 베이스로 넘어오시랍니다..;;
- Take your iPad Apps to the next level
Scene level sharing
앱 안에서 공유 가능한 것을 표현
- 시리의 share this 기능에 서용되거나
- NSSharingServicePickerToolbarItem on Mac
- Design great actions for shortcuts, Siri, and suggestions video
- qualities of a great mac cat. app video
Cell configuration closure
- 컬렉션 뷰 테이블 뷰
- 셀상태 변경에 편해짐
- 상속따윈 필요 없다
- cell.configurationUpdateHandler closure 확인
Diffable data source improvements
- apply snapshots 애니메이션 없이. - 찾아보자
Performance
Cell prefetching 기능 향상
뒤에서 동작하는 방식이 바뀌어서 퍼포먼스가 2배이상 빨라짐, 특별히 바꿀건 없음
추가된 비동기를 이용, 퍼포먼스가 더 빨라졌다 함.
Make blazing fast lists and collection views video

Swift async/await
  - UI func 중 메인타야 하는 겅유, 컴파일 타임에 다 MainActor 를 적용해주게 됨
- 그 외에 UIImage preppations 계열들은 async/await 으로.
- Meet async/await in swift
- Meet asyncSeq. videos

Security and privacy
Location Button
- One-time access to location
- Meet the Location Button Vdo

표준 붙여넣기 아이템 추가됨
붙여넣기 디텍션에 여러 표준 추가
Private click

————————————

What’s new in Swift 5.5

Swift packages updates
Swift Package Index : 컨트리뷰트라네… ㅎㅎ 엑스코드에서 바로 지원된다네.
Package collections in Xcode
- 여기서 찾아서 바로 붙여넣능ㄹ 수 있음.
- json file 로 퍼블리시도 되고
- 필요에 따라서 묶어서 팀원들끼리 쉐어 가능
- 검색도 가능
Apple Package 도 있음
Swit collections
- GitHub.com/apple/swift-collections
- Deque :
- OrderedSet
- OrderedDictionary
The Algorithms Packages
- 40개 제공중.
Swift System
- 로우 레벨 인터페이스 (시스템 콜용)
Swift Numerics
- Float15 support on Apple silicon macs
ArgumentParser
- 쉘 컴프리션 스크립트 처리 등에 사용
- 터미널 앱의 옵션?
Swift on server

개발자 경험도 더 발전됨
- Swift DocC :: 엑스코드에서 바로 문서로 뿅~
- 비디오도 여러개 있음
빌드 향상
- 모듈을 바꿀때 더 빨리 빌드됨
- 컴파일이 시작 전에 더 빨라짐
- 재빌드 타이밍도 줄어듬
메모리 관리
- ARC 에서 Optimize Object Lifetimes 옵션 추가됨
- ARC in Swift: Basics and beyond

Ergonomic improvements
SE 문서들 이야기 - 스펙 말이지.
Result Builders : 표준화 됨 : SE-0289
enum : codable 추가됨
Property wrappers on parameters : SE-0293
… 이런건 일단 다 What’s new in SwiftUI
Async and concurrent programming
async : 문법적으로, 함수가 멈출수 있게 지원되도록 컴파일 해야 해~
await : 결과 나올때까지 기다려~~~~~
expl str conn in swift video
- try 하나로 병렬로 돌아가는 애들의 error 를 잡아서 처리를…..!!
Actor 를 통한 데이터 망가짐을 보완
- async await 으로 호출
- actor 호출시 앞에 무조건  await 이 있어야 함
- 레퍼런스 타입 임 하지만 멀티테스킹에 맞게 안전하게 사용될 수 있게 룰을 가짐~~
- ~ with swit actors video

Swift6
 - 안전한 컨커런시~~~~~~
 - compiler snapshot 써보기

—-
What’s new in Foundations
—-
AttributedString
- 구조체로 제공
- String과 호환
- 지역화 가능
- 안전하고 보안에 강함
AttributedString View
String(localized:…)
AttributedString(localized:…)
SwiftUI : text에서 MD 같이 동작하네?
Codable 지원.
Attributed Key
MarkdownDecodableAttributedStringKey.. ?!
Attribute Scopes
결국, 커스텀 포멧을 마크다운 같은걸 써서 해결가능 - 텍스트만으로.

Formatters
- Date formatter가 심플해짐
date 안에 formatted 가 들어감. ㅎㅎ
속도 퍼포먼스를 위해서 컴파일 시점에서부터 처리하기 위한 목표.
뭔가…. SwiftUI Modifier 같은 느낌…
날짜 사이 계산도 쉽네;;; Range 느낌.
  SwiftUI preview에서 locale 설정도 되네 
문자 -> date 할때도 좀 더 직관적으로 바뀜.
- 숫자에 format이 들어감 호옹..
SwiftUI Text에는 format 도 들어갔네.
Grammar agreement
- 좋아 좋아. 단수, 복수 처리
Automatic Grammar Agreement
남성형, 여성형 스타일?!
inflact options

Posted by 코나
테크 칼럼2021. 10. 1. 05:00

뜬금없이 간만에 티스토리에 글을 쓰게 되고...

심지어, 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 로 마무리..;;

화면 공유가 아닌, 터치를 전달, 앱이 받아서 처리하도록 동작.

 

Posted by 코나