Swift 6.3

6 hours ago 1
  • Swift 6.3은 언어, 표준 라이브러리, 빌드 시스템, 플랫폼 지원 전반을 확장하며 개발자 경험을 개선한 버전임
  • C 상호운용성 강화, Android 공식 SDK 추가, 임베디드 환경 개선, DocC 문서화 도구 확장이 주요 변화로 포함됨
  • Swift Package Manager는 통합 빌드 엔진사전 빌드된 Swift Syntax 지원을 통해 크로스플랫폼 빌드 일관성을 높임
  • Swift Testing은 경고 수준 이슈 기록, 테스트 취소, 이미지 첨부 등 새로운 기능을 추가해 테스트 유연성을 강화함
  • Android SDK 공식 출시로 Swift의 크로스플랫폼 개발 영역이 확대되며, Kotlin/Java 앱과의 통합이 가능해짐

Swift 6.3 주요 업데이트

  • Swift 6.3은 언어, 표준 라이브러리, 빌드 시스템, 플랫폼 지원 전반에 걸쳐 확장된 기능을 제공
  • C 상호운용성 강화, Android 공식 SDK 추가, 임베디드 환경 개선, 문서화 도구 DocC 확장이 핵심 변화
  • 개발자 경험 향상과 크로스플랫폼 개발 통합을 목표로 함

언어 및 표준 라이브러리

  • C 상호운용성

    • 새로운 @c 속성을 통해 Swift 함수나 enum을 C 코드에 노출 가능
    • @c(MyLibrary_callFromC) 형태로 사용자 지정 C 선언 이름을 지정할 수 있음
    • @c와 @implementation을 함께 사용하면 Swift에서 C 헤더에 선언된 함수를 구현 가능
    • 이 조합 시 Swift는 기존 C 선언과 일치 여부를 검증함
  • 모듈 이름 선택자 (Module Name Selectors)

    • 동일한 이름의 API를 여러 모듈에서 가져올 때, ModuleA::getValue() 형태로 모듈 명시 호출 가능
    • Swift::Task 구문을 통해 동시성(concurrency)문자열 처리 API에 접근 가능
  • 라이브러리 API 성능 제어

    • @specialize: 제네릭 API의 특정 타입에 대한 사전 특수화 구현 제공
    • @inline(always): 인라이닝을 강제하여 호출 지점에서 함수 본문을 확장
    • @export(implementation): ABI 안정 라이브러리에서 함수 구현을 노출해 추가 최적화 허용
    • 관련 제안은 Swift Evolution 대시보드에서 확인 가능

패키지 및 빌드 개선

  • Swift Package Manager에 Swift Build 통합 미리보기가 포함되어, 모든 플랫폼에서 일관된 빌드 경험 제공
    • 통합 빌드 엔진을 통해 크로스플랫폼 개발 일관성 강화
    • 사용자는 직접 패키지에서 테스트 후 문제를 보고할 수 있음
  • SwiftPM 6.3의 주요 개선 사항
    • Prebuilt Swift Syntax 지원: 매크로 전용 라이브러리에서 사전 빌드된 swift-syntax 바이너리 사용 가능
    • 유연한 문서 상속 제어: 심볼 그래프를 생성하는 명령형 플러그인에서 상속 문서 포함 여부 제어
    • 패키지 특성 탐색 기능: swift package show-traits 명령으로 패키지의 지원 특성 확인 가능
    • 자세한 내용은 SwiftPM 6.3 릴리스 노트에 포함

코어 라이브러리 업데이트

  • Swift Testing

    • 경고 수준 이슈 기록: Issue.record(..., severity: .warning)으로 테스트 실패 없이 경고만 표시
    • 테스트 취소 기능: try Test.cancel()로 실행 중 테스트 및 하위 태스크를 중단 가능
    • 이미지 첨부 지원: Apple 및 Windows 플랫폼에서 테스트 중 이미지 첨부 가능
    • 관련 제안: ST-0012, ST-0013, ST-0014, ST-0015, ST-0016, ST-0017, ST-0020
  • DocC

    • Markdown 출력 지원: --enable-experimental-markdown-output 옵션으로 Markdown 문서 생성
    • 페이지별 정적 HTML 콘텐츠: <noscript> 내에 요약 HTML 삽입으로 검색엔진 및 접근성 향상
    • 코드 블록 주석 확장: nocopy, highlight, showLineNumbers, wrap 등 새로운 포맷 옵션 추가
    • --enable-experimental-code-block-annotations 옵션으로 활성화 가능

플랫폼 및 환경

  • Embedded Swift

    • C 상호운용성 강화, 디버깅 개선, 링키지 모델 완성 단계 진전 등 다수의 개선 포함
    • 세부 내용은 “Embedded Swift Improvements coming in Swift 6.3” 블로그에서 확인 가능
  • Android

    • 공식 Swift SDK for Android 첫 출시
    • Swift로 네이티브 Android 앱 개발, Swift 패키지의 Android 빌드 지원 가능
    • Swift JavaSwift Java JNI Core를 통해 Kotlin/Java 앱과 통합 가능
    • Swift의 크로스플랫폼 개발 확장을 위한 중요한 이정표로 평가됨
    • 시작 가이드는 “Getting Started with the Swift SDK for Android” 문서에서 제공

커뮤니티와 감사

  • Swift 6.3은 커뮤니티의 코드, 제안, 포럼 토론, 실사용 피드백을 통해 완성
  • 특히 Android 워크그룹이 수개월간의 작업으로 Android SDK를 공식 릴리스 단계로 발전시킴
  • 향후 개발 참여는 Swift Forums에서 가능

다음 단계

  • Swift 6.3 툴체인은 Install Swift 페이지에서 설치 가능
  • 개발자는 즉시 새로운 기능을 실험하고 피드백 제공 가능
Read Entire Article