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 |
Tags
- Human interface guide
- Protocol
- clean architecture
- Clean Code
- UITextView
- map
- tableView
- ribs
- 리펙토링
- 애니메이션
- combine
- UICollectionView
- 리펙터링
- 클린 코드
- collectionview
- swift documentation
- HIG
- 리팩토링
- swiftUI
- uitableview
- 스위프트
- Xcode
- ios
- uiscrollview
- SWIFT
- MVVM
- rxswift
- Refactoring
- RxCocoa
- Observable
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] 1. WWDC2024 정리 - (1) What's new in Swift (Swift의 새로운 기능, Swift Testing, Explicitly Built Modules) 본문
WWDC 정리/WWDC 2024 정리
[iOS - swift] 1. WWDC2024 정리 - (1) What's new in Swift (Swift의 새로운 기능, Swift Testing, Explicitly Built Modules)
jake-kim 2024. 6. 14. 18:44이번 WWDC 세션의 의미
- Swift언어가 어떻게 발전하며 앞으로도 어떤 패러다임을 가지고 발전할 것인가를 이해할 수 있는 세션
- 2024년 Swift의 핵심 패러다임: 다른 플랫폼과의 상호운용성
Swift 언어의 진화
- 2014년에 Swift1.0부터 2024년에 Swift6.0이 나오는데, 2023년까지는 전반적으로 다른 언어와 어울릴 수 있는 기반을 다루도록 진화
- 특히 2023년에는 C++과의 상호 운용성을 도입
- SwiftData와 같이 차세대 API를 활성화하는 매크로도 도입
애플의 Swift팀 구성
- 2024년에 새로 생긴팀: Plaform, Ecosystem, Embedded
- platform: Swift를 더 많은 곳으로 가져오는데 집중하기 위한 플랫폼 운영팀
- Ecosystem: 개발자 경험과 새로운 생태계 그룹을 만드는데에 집중하는 팀 (새로운 생태계: swift로 만든 서버, linux 등)
- Embedded: embedded 도입을 위한 팀
Swift의 소식
- 애플에서는 Swift의 상호운용성을 위해 swift.org 홈페이지에 개발 정보를 제공
Foundation 프레임워크 새로운 기능
- Foundation 기본 개념
- JOSN 디코딩, 날짜 및 시간 포멧 지정, 파일시스템 작업 등 중요한 API를 제공하는 많은 애플리케이션의 필수 요소
- macOS X 초기까지 거슬러 오래된 프레임워크 중 하나
- Fondation의 형태
- Foundation은 Objective-C의 Foundation도 같이 사용하고 있기 때문에 Foundation을 개선하면 swift뿐만이 아닌 Objective-C로 작성된 앱에서도 같이 기능추가가되는 이점이 존재
- Foundation은 애플이 2023년에 github 오픈소스로서 public으로 공개하여 누구나 contribute할 수 있게끔항
- Foundation을 github에 공개한 배경은 이전 포스팅 글 참고
- contribute된 SF-0004도 Swift6.0에서 적용되었음
새로운 테스팅 프레임워크, Swift Testing
- 특징
- macro를 활용
- Concurrency도 원활하게 통합
- Pacakge 구성
- 크로스 플랫폼을 염두에 두고 오픈 소스로 개발
- VSCode IDE에서도 동작하도록 설계됨
Swift Testing 사용 방법
- 가장 위에 @Test("...") 매크로로 선언
- 매크로에 tags를 사용하여 테스트를 구성하고 필터링이 가능
- 중복방지를 위해 arguments도 사용 가능
- Swift Testing은 이후 포스팅 글, Meet Swift Testing 세션에서 계속..
Building 시스템 개선
- 기존에는 코드에 import SwiftUI라는게 있으면, SwiftUI를 빌드해야하고, 그 전에 Foundation을 빌드해야하고, 이렇게 순차적으로 빌드
- 이렇게 순차적 빌드하다보면 시간이 걸리므로 병렬적으로 빌드할 수 있는 방법이 개선됨
- 이제는 명시적으로 병렬적으로 빌드가 가능하게하고, 빌드된 결과도 로그로 남도록 표기
- 이제 디버거가 빌드와 바이너리 모듈을 공유할 수 있으므로 디버깅 속도가 빨라짐
- 이 설정은 Xcode에서 Explicitly Built Modules 플래그를 Yes로 설정하면 활성화됨
- 구체적인 개념은 이후 포스팅 글, Demystify explicitly built modules 세션에서 계속..
* 참고
'WWDC 정리 > WWDC 2024 정리' 카테고리의 다른 글
Comments