Offcanvas

개발자

스위프트 5.5 출시··· “비동기 함수 및 구조적 동시성 제공”

2021.09.23 Paul Krill  |  InfoWorld
애플에서 C 기반 언어를 대체하기 위해 개발한 프로그래밍 언어 스위프트의 최신 버전이 공개됐다. 이번 업데이트는 동시성과 패키지 컬렉션을 중심으로 한 기능을 지원한다. 
 
ⓒVincent Diamante (CC BY-SA 2.0)

지난 9월 20일 ‘대규모 릴리즈(massive release)’라고 기술된 ‘스위프트 5.5(Swift 5.5)’가 출시됐다. 이곳에서 액세스할 수 있다. 해당 릴리즈는 스위프트의 이전 버전인 ‘오브젝티브-C(Objective-C)’와의 동시성 상호운용성을 제공한다. 

이는 오브젝티브-C의 비동기 기능에 관한 규칙 기반 표현과 스위프트 동시성 기능을 연결하는 제안이다. 스위프트의 동시성 모델에서 비동기 오브젝티드-C API를 즉시 사용할 수 있도록 하는 게 목표라고 개발팀은 설명했다. 

릴리즈 노트에 따르면 최신 스위프트 개발에는 많은 비동기 프로그래밍이 포함되지만 API는 사용하기 어려웠다. 스위프트 5.5의 async/await 기능은 비동기 함수의 의미를 정의한다. 이 제안은 전체 프로세스를 더 자연스럽게 그리고 오류가 덜 발생하도록 하기 위한 것이다. 스위프트 async/await 기능을 통해 시간 경과에 따라 많은 값을 반환하는 함수를 작성하고 사용할 수도 있다. 이 작업은 Async/Await Sequences 제안을 통해 수행됐다. 

또 다른 새로운 기능인 구조적 동시성을 사용하면 인간공학적이고 예측 가능하며 효율적인 구현을 허용하는 모델과 비동기 코드를 동시에 실행할 수 있다고 개발팀은 전했다. 이 밖에 스위프트 5.5의 새로운 기능은 다음과 같다. 

• ‘스위프트 패키지 관리자(Swift Package Manager; SwiftPM)’에서 패키지 컬렉션(Package Collections) 개념이 패키지 에코시스템에 도입됐다. 컬렉션은 정적 JSON 문서로 작성되며, 패키지 목록과 패키지당 추가 메타데이터를 포함한다. 웹 서버 또는 CDN과 유사한 인프라에 퍼블리싱된다. 또 스위프트PM에는 컬렉션 추가 및 제어를 위한 새로운 명령줄 인터페이스가 적용됐으며, 이는 백그라운드에서 인덱스를 생성해 컬렉션에서 패키지를 더 쉽게 찾을 수 있도록 한다. 

Actors가 추가됐다. 이는 변경 가능한 상태에 관한 액세스를 보호하는 참조 유형(actor) 역할을 한다.  

• 속성의 공통 접근자 패턴을 추상화하기 위해 스위프트 5.1에서 도입됐던 ‘속성 래퍼(Property wrappers)’가 함수 매개변수 및 클로저 매개변수로 확장되고 있다. 이전에 해당 기능은 로컬 변수 및 유형 속성으로 제한됐었다. 

ciokr@idg.co.kr

 
추천 테크라이브러리

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.