피드로 돌아가기
GeekNewsBackend
원문 읽기
Swift 6.3 릴리즈
Swift 6.3 릴리스가 @c 속성으로 Swift 함수를 C 코드에 노출하고 noncopyable 타입을 개선해 임베디드와 크로스플랫폼 개발 지원 확대
AI 요약
Context
Swift는 Apple 플랫폼 외에서 C/C++ 생태계와 원활하게 연동되지 못했으며, 특히 Swift 함수를 C 코드에 노출하는 기능이 없어 FFI 상호운용성이 제한되었다. Linux(2016년), Windows(2020년), FreeBSD(2025년)로의 플랫폼 확장이 지연되면서 크로스플랫폼 개발에 어려움이 있었다.
Technical Solution
- @c 속성을 공식 지원해 Swift 함수를 C 코드에 노출: 이전 @cdecl 속성의 실험적 기능을 공식화
- noncopyable 타입 개선으로 고유 소유권 모델링 구현: 메모리 접근 추상화를 통해 C/C++ 수준의 저수준 제어 가능
- swift-build 엔진 도입 및 prebuilt 모듈 실험: SPM(Swift Package Manager)이 Xcode 기능을 점진적으로 흡수하며 통합
- swift format과 swift format lint를 표준 도구로 내장: 외부 의존성 없이 코드 포매팅과 린팅 지원
- Android용 공식 SDK 처음 포함: Windows 및 Linux용 개발 문서 병행 제공
Key Takeaway
Swift 6.3은 언어 자체의 획기적 기능 추가보다는 C/C++ 상호운용성, 크로스플랫폼 지원, 개발 도구 통합에 중점을 둔 생태계 통합 릴리스다. 다만 컴파일 속도 문제와 SPM-Xcode 간 안정성 부족은 여전히 반복 개발 경험을 저해한다.
실천 포인트
임베디드 시스템이나 시스템 소프트웨어를 개발하는 팀에서 Swift를 선택할 때, 새로운 @c 속성과 noncopyable 타입을 활용하면 C 라이브러리와의 FFI 복잡성을 줄일 수 있다. 다만 대규모 의존성이 있는 프로젝트라면 컴파일 시간이 Go 수준 대비 수배 이상 증가할 수 있으므로, 반복 개발 피드백 루프를 우선 검증하고 도입 여부를 결정해야 한다.