Offcanvas

모바일 / 비즈니스|경제 / 애플리케이션 / 오픈소스

미리보는 WWDC 2016··· 스위프트 3.0의 신기능

2016.04.25 Lou Hattersley  |  Macworld U.K.
오는 6월 13일부터 17일까지 열리는 애플의 세계개발자회의(WWDC) 2016에서 가장 높은 관심을 받게 될 것은 단연 '스위프트(Swift)' 프로그래밍 언어다.


이미지 출처 : flickr/Scott Schiller

다행히 애플은 스위프트를 오픈 소스로 전환하면서 적어도 스위프트에 대해서는 다른 애플 제품처럼 철통 같은 비밀 유지를 하지 않고 있다. 애플은 스위프트 에볼루션 깃허브 페이지를 통해 앞으로 스위프트의 발전 방향을 대략 설명하고 있다. 애플의 계획을 엿볼 수 있는 흔치 않은 기회인 셈이다.

윈도우, 리눅스로의 확장
스위프트 3.0의 가장 눈에 띄는 변화는 운영체제의 확장이다. 스위프트 깃허브 페이지를 보면, 개발팀의 목표는 "스위프트를 다른 플랫폼으로 확장하고 다양한 플랫폼에서 구현 가능한 '이동식' 스위프트 코드를 쓸 수 있도록 하는 것"이다.

사실 애플이 스위프트를 리눅스는 물론 심지어 윈도우까지 확장하려 한다는 것은 이미 알려진 사실이다. 스위프트를 오픈소스로 전환한 시점에서 이미 플랫폼 확장은 예정돼 있던 셈이다.

애플의 소프트웨어 엔지니어링 부대표 크레이그 페더리히는 "스위프트의 오픈소스화를 통해 윈도우로 향하는 문이 열린다면 우리로서는 환영할 일이다. 스위프트 개발과 컴파일의 기반이라 할 수 있는 LLVM과 클랭(Clang) 환경이 윈도우로 이전했다는 사실 역시 이런 가능성을 더해준다. 우리는 윈도우로의 이전을 100% 지지한다. 단지 오픈소스 프로젝트를 시작하는 과정에서 우선은 플랫폼과 리눅스에 집중하고 싶었다"고 말했다.

따라서 이번 WWDC에서도 스위프트의 플랫폼 확장이 중요한 주제로 다뤄질 것으로 보인다. 리눅스는 거의 확정적이고 어쩌면 윈도우도 포함될 가능성이 있다. 마이크로소프트도 윈도우 10에서 우분투를 지원한다는 점을 고려하면, 개발자는 앞으로 더 많은 플랫폼의 수렴을 보게 될 전망이다.

단, 리눅스나 윈도우에서 사용하는 스위프트는 X코드나 애플 SDK(소프트웨어 개발 키트)의 기능과는 차이가 있을 가능성이 크다는 점도 염두에 둬야 한다.


구글, 스위프트 진영에 가담할까
그런가 하면 구글이 안드로이드용 자바 기반 프로그래밍 언어를 버리고 스위프트를 채택할 것이라는 소문도 있다(오라클과의 법적 분쟁이 늘어나면서 이를 피하기 위한 이유도 있을 것이다).

만일 이것이 사실로 드러난다면 매우 놀라운 변화가 될 것이다. 경쟁사인 구글과 애플이 같은 언어를 사용한다는 게 이상해 보일 수도 있지만, 개발자는 환영할 것이다. 스택오버플로우(StackOverflow)의 지난해 설문조사 결과를 보면, 스위프트는 개발자가 가장 사랑하는 프로그래밍 언어다. 언어에 집중해 역량을 키우는 것이 손해만은 아닐 것이다.

구글이 과연 스위프트로 이전할 것인가는 전적으로 구글이 결정할 문제다. 그 결정의 방향은 이번 WWDC 2016에서 일부 밝혀질 것으로 보인다.

스위프트 3.0의 새 기능
스위프트 3.0 릴리즈 노트를 보면 스위프트 개발팀의 계획을 대략 짐작할 수 있다. 먼저 바이너리 인터페이스(binary interface)의 안정화다. 이를 통해 스위프트가 바이너리 레벨에서 여러 운영체제에서 실행될 수 있도록 지원할 것으로 보인다. 스위프트의 활용 범위가 그만큼 넓어지는 셈이다.

제네릭도 개선된다. 라이브러리 전반에 걸쳐 제네릭을 사용해 스위프트 3.0에서는 제네릭 사용이 완성될 것으로 보인다. 타입 시스템 클린업과 문서화도 주목된다. 개발팀은 스위프트 3.0에서 "다양한 서브 타이핑, 타입 시스템의 전환 규칙, 컴파일러 타입 체커 내에서의 구현 등을 재검토하고 문서화 할 것"이라고 예고했다.

정제와 집중 측면도 있다. 이 부분에 대해서는 자세한 정보가 부족하지만, 개발팀은 관련 문서를 통해 "그동안 스위프트는 빠른 발전을 거듭해 왔고 이 과정에서 언어 전체와 잘 맞지 않는 기능이나 라이브러리 API가 추가됐다"며 "스위프트 3은 이런 부분을 제거하거나 개선해 스위프트의 전반적인 일관성을 개선할 것"이라고 설명했다. 또한, 스위프트 3.0에서는 API 개발자를 위한 새로운 디자인 지침이 나올 것으로 보인다.

한편 스위프트 3.0에 추가되지 않을 기능에 대한 언급도 있다. 예를 들어 C++ 상호운용성 강화는 기대하기 힘들다. 문서를 보면 "API와 C++ 라이브러리와의 상호운용성 측면에서 기존 라이브러리나 API에 대한 스위프트의 역량을 강화할 예정이다. 그러나 C++ 그 자체는 매우 복잡한 언어여서 C++ 과의 상호운용성을 개선하는 것은 스위프트 3.0의 범위를 벗어난 과도한 작업이다"라고 돼 있다.

따라서 C++ 프로그래머는 오브젝티브-C 디자이너처럼 코드를 통합할 수는 없을 것으로 보인다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

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

Copyright © 2024 International Data Group. All rights reserved.