Swift 네트워킹 워킹그룹 출범
Announcing the Networking Workgroup
핵심 요약
- Swift 네트워킹 워킹그룹은 네트워킹 라이브러리와 프로토콜, API의 발전 방향을 조율하고 생태계 전반의 공통 기반을 마련한다.
- 공유 I/O부터 프로토콜 구현, 클라이언트·서버 API까지 이어지는 계층형 구조와 구현체에 종속되지 않는 공통 타입을 정의하는 것이 주요 과제다.
- HTTP API를 구조적 동시성 기반으로 통합하고 TLS, HTTP, QUIC, WebSockets 등의 공통 구현 발전을 이끌며, 참여와 회의는 공개된다.
도입
Swift 생태계 조정 그룹은 네트워킹 라이브러리와 프로토콜, API의 발전을 이끌 네트워킹 워킹그룹을 출범시켰다. SwiftNIO, AsyncHTTPClient, swift-http-types와 URLSession, Network.framework 등 이미 사용되는 기반을 바탕으로, 여러 라이브러리와 플랫폼에서 함께 활용할 수 있는 네트워킹 구조를 마련하는 것이 목표다.
상세 요약
워킹그룹의 목적
Swift 생태계 조정 그룹은 네트워킹 워킹그룹을 신설했다. Swift 프로젝트가 공식적으로 인정하는 커뮤니티 주도 활동으로, Swift 생태계의 네트워킹 라이브러리와 프로토콜, API의 발전을 이끄는 것이 주된 목표다. 워킹그룹은 네트워킹을 고수준이면서 기본적으로 안전하고, 모듈화와 상호운용성을 갖추며, 크로스 플랫폼에서 관찰 가능한 방향으로 발전시키겠다고 밝혔다.
Swift 네트워킹 생태계에는 SwiftNIO, AsyncHTTPClient, swift-http-types와 플랫폼 스택인 URLSession, Network.framework가 있다. 이들은 앱과 서버를 비롯한 다양한 영역에서 사용된다. 워킹그룹은 기존 기반을 바탕으로 장기적인 네트워킹 비전에 제시된 방향을 추진한다.
주요 작업 방향
- 계층형 네트워킹 스택: 공유 I/O 프리미티브를 기반으로 공통 프로토콜 구현을 거쳐 클라이언트와 서버를 위한 사용하기 편한 API로 이어지는 일관된 계층 구조를 정의한다.
- 공통 타입: 특정 구현에 결합하지 않고 라이브러리끼리 상호운용할 수 있도록 IP 주소, 호스트 이름, 포트, HTTP 요청과 응답 등의 공통 타입을 정의한다.
- 통합 HTTP API: 구조적 동시성을 기반으로 현대적인 HTTP 클라이언트·서버 API를 설계하고 발전을 이끈다.
- 공유 프로토콜 구현: TLS, HTTP/1.1, HTTP/2, HTTP/3, QUIC, WebSockets 구현의 발전을 조율한다. 개선 사항을 개별 라이브러리마다 중복해 만드는 대신 생태계 전반에 적용하는 것이 목표다.
참여 방법
워킹그룹은 격주로 회의를 진행한다. 정기 회의 시간은 확정 중이며, 첫 공개 회의 전에 포럼에서 공지할 예정이다. 회원 가입과 회의 참여는 열려 있고 기여자를 환영한다. 참여 초대는 Swift 포럼에서 @networking-workgroup에 메시지를 보내 요청할 수 있다. 포럼의 Networking 카테고리에서 의견을 공유하거나 워킹그룹 헌장을 읽고 활동 내용을 확인할 수도 있다.
새 워킹그룹은 Android, Windows, Build and Packaging 워킹그룹에 이어 Swift 프로젝트가 공식 인정한 생태계 활동에 합류했다.
결론
워킹그룹의 방향은 개별 라이브러리의 기능을 따로 늘리는 데 그치지 않고, 공통 I/O와 프로토콜 구현, 상위 API를 연결해 생태계 전체가 개선을 공유하도록 하는 데 있다. HTTP 클라이언트·서버 API와 공통 타입, 여러 네트워크 프로토콜의 진화가 주요 작업으로 제시됐다. 회의는 격주로 열리며 참여와 회의는 공개된다.