Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- AppleEvent
- Object Capture
- swiftUI
- Reality Composer
- WWDC 2021
- User Enrollment
- DriverKit
- Mac
- ProRAW
- CoreML
- Xcode Cloud
- Hand Action Detect
- SF Symbols 3.0
- NSUserActivity
- App Clip
- concurrency
- MDM
- actor
- DooC
- Xcode Organizer
- METAL
- AR Quick Look
- SWiFT
- detent
- AVFoundation
- Physical Audio
- Hand Pose Detect
- SF Symbols
- async
- profile
Archives
- Today
- Total
nyancoder
WWDC 2021 - What‘s new in Swift 본문
원본 영상: https://developer.apple.com/videos/play/wwdc2021/10192/
Diversity
- 더 많은 개발자가 Swift 생태계 및 커뮤니티에 참여하도록 장려하고 있습니다.
- swift.org 블로그에서 다양한 개발자들의 기여를 인정하고 안내하는 게시물을 올렸습니다.
- 개발자들이 서로 연결될 수 있도록 Swift 포럼에 커뮤니티 그룹을 만들었습니다.
- swift.org/diversity에서 더 자세한 내용을 확인할 수 있습니다.
- 새로운 개발자가 기존의 개발자로부터 Swift전반에 걸쳐 지원을 받을 수 있는 멘토링 프로그램을 만들었습니다.
Update on Swift packages
- 좋은 패키지 검색 도구였던 Swift Package Index가 Xcode도구에 통합되었습니다.
Package collections in Xcode
- 이제 XCode나 커맨드 라인에서 쉽게 패키지 목록을 얻어올 수 있습니다.
- 단순한 JSON이기 때문에 누구나 쉽게 만들 수 있습니다.
- 서로 다른 목적에 맞추어 구성된 목록을 사용할 수 있습니다.
- 존재하지 않는 패키지를 import를 하는 경우 한 번의 클릭으로 해당 패키지를 검색해서 자동으로 프로젝트에 추가할 수 있습니다.
- 애플이 제공하는 패키지들이 Github에 올라가 있으므로 사용해볼 수 있습니다.
- 추가적인 정보는 https://swift.org/blog/package-collections/ 에서 얻을 수 있습니다.
- 올해는 4개의 새로운 패키지가 추가되었습니다.
Swift Collections
- https://github.com/apple/swift-collections
- Deque, OrderedSet, OrderedDictionary와 같은 추가적인 자료구조를 제공합니다.
- Deque는 Array와 동일하지만 양쪽 끝에서 빠른 삽입, 삭제를 제공합니다.
- Deque는 Array와 동일하지만 양쪽 끝에서 빠른 삽입, 삭제를 제공합니다.
- OrderedSet은 Array와 같이 순서를 유지하지만, 동시에 Set처럼 동일한 요소는 하나만 추가할 수 있습니다.
- OrderedDictionary는 Dictionary와 동일하지만 순서를 유지하고 임의 접근이 가능합니다.
Swift Algorithms
- https://github.com/apple/swift-algorithms
- 40여 개의 알고리즘을 제공합니다.
- 가능한 조합을 찾거나, 특정 사이즈만큼 분할하거나, 최대-최소 n개의 항목을 얻어오는 등의 기능을 제공합니다.
Swift System
- Apple, Linux Windows에서 경로 처리에 대한 작업을 할 수 있는 FilePath가 추가되었습니다.
- 전체 경로는 Root와 ComponentView로 구성되어 있습니다.
- ComponentView는 여러 Component로 구성되어 있습니다.
Swift Numerics
- https://github.com/apple/swift-numerics
- Apple silicon mac을 위한 Float16, Complex지원이 추가되었습니다.
- Complex에 기본적인 함수들이 추가되었습니다.
The ArgumentParser package
- https://github.com/apple/swift-argument-parser
- Fish shell을 위한 코드 완성, 스크립트 생성, -Ddebug와 같은 짧은 옵션 결합 기능, 향상된 오류 메시지가 추가되었습니다.
Update on Swift on server
- Linux에서의 정적 링크를 지원합니다.
- 향상된 JSON 처리 성능을 지원합니다.
- 33% 향상된 cold startup 시간, 40% 향상된 APIGateway실행 시간, async구문을 제공하는 AWS Lambda 런타임을 지원합니다.
Swift DocC
- 쉬운 문서화를 지원하는 Swift DocC를 제공합니다.
- 오픈소스로 제공되어 모든 플랫폼에서 더 나은 문서화를 사용할 수 있습니다.
Build Improvements
- 향상된 타입 체크 지원으로 컴파일 단계가 더 빨라지고 적은 오류가 발생합니다.
- import 된 모듈을 변경할 때의 빌드 속도가 개선되었습니다.
- 컴파일 시작 시간이 더 빨라졌습니다.
- extension의 몸체가 변경되었을 때, 더 적은 파일을 재 컴파일합니다.
Memory Management
- 보다 적극적인 메모리 해제를 할 수 있는 옵션이 추가되었습니다.
Result Builders (SE-0289)
- SwiftUI를 위해 개발된 기능입니다.
- 복잡한 오브젝트 구조를 쉽게 정의할 수 있습니다.
- 올해에 좀 더 표준화하고 개선되었습니다.
Enum Codable synthesis (SE-0295)
- 값을 가진 enum의 Codable 적용이 정의만 하면 자동으로 됩니다.
Flexible static member lookup (SE-0297, SE-0299)
- protocol을 상속받은 객체를 enum처럼 축약해서 사용할 수 있습니다.
- 체인 된 속성을 사용할 때도 자동으로 타입을 추론합니다.
Property wrappers on parameters (SE-0293)
- 함수의 파라미터에도 Property wrapper를 사용할 수 있습니다.
Asynchronous and concurrent programming
- 기존의 비동기 프로그래밍은 compeltion을 항상 마지막에 호출해야 하거나 복잡한 오류처리가 필요하였습니다.
- 새로 지원되는 async - await 구문에서는 예외처리를 기존처럼 할 수 있고 비동기 처리도 보다 간단하게 됩니다.
Structured Concurrency
- async let 구문을 활용하여 비동기 결과를 쉽게 받아올 수 있습니다.
- 각각의 비동기 처리 결과를 쉽게 모아서 처리할 수 있습니다.
Actors
- 여러 스레드에서도 안전하게 내부의 값을 다룰 수 있는 Actor를 지원합니다.
- Actor는 다른 async코드와도 함께 사용할 수 있습니다.
Swift6
- 동시성 처리의 오류를 보다 잘 검증할 계획입니다.
- 기존 경험이 공유되면 보다 나은 컴파일러를 만들 수 있을 것입니다.
- 컴파일러 snapshot을 통해서 새로운 기능들을 사용해 볼 수 있습니다.
- 포럼에 참여하여 더 나은 개선에 기여할 수 있습니다.
목차: https://nyancoder.tistory.com/2
'WWDC > WWDC 2021' 카테고리의 다른 글
WWDC 2021 - ARC in Swift: Basics and beyond (0) | 2021.07.04 |
---|---|
WWDC 2021 - Understand and eliminate hangs from your app (0) | 2021.07.03 |
WWDC 2021 - Meet Xcode Cloud (0) | 2021.07.02 |
WWDC 2021 - Meet AsyncSequence (0) | 2021.07.01 |
WWDC 2021 - Swift concurrency: Behind the scenes (1) | 2021.07.01 |
Comments