애플 새 개발언어 '스위프트' 이용 10개 팁

iOS 넘어 OS X 앱 개발도 가능

일반입력 :2014/06/03 07:47    수정: 2014/06/03 14:02

애플이 iOS와 OS X 기반 애플리케이션(이하 '앱') 개발을 위한 새 프로그래밍 언어를 공개했다. 애플은 기존과 동일한 개발 환경에 개선된 언어를 활용해 개발 생산성을 높였다고 강조했다.

2일(현지시각) 애플은 미국 샌프란시스코 모스콘웨스트컨벤션센터에서 세계개발자대회(WWDC)를 열고 새 프로그래밍 언어 '스위프트(Swift)'를 소개했다. 기존 개발언어 '오브젝티브C'보다 덜 어렵고, 더 빠르고, 최신 기능을 지원하고, 디버깅이 쉽고, 불안정한 코드를 걷어낼 수 있게 해준다는 설명이다.

미국 지디넷은 스위프트 코드가 오브젝티브C 코드와 동일한 애플리케이션에서 나란히 돌아갈 수 있다는 점, 파이썬 언어의 축약판이라는 점, 오류를 배제하기 위한 대형 클래스를 도입했다는 점, C 언어를 연상시키지만 템플릿은 더 명확하다는 점, 스위프트 기반 앱을 당장 등록 가능하다는 점 등을 특징으로 제시했다.

또 기존 애플 운영체제(OS) 기반 앱 개발자들이 염두에 둬야 할 항목 10가지를 다음과 같이 정리했다.

첫째, 스위프트는 'C가 빠진 오브젝티브C'같은 언어다. 이 새로운 언어는 과거 'C이긴 C인데 이상한 C'라 불리던 오브젝티브C의 문제를 보완했다는 평가다. 이는 애플이 스위프트를 '빠르고 안전하고 인터랙티브한' 프로그래밍 언어로 묘사했다는 점에서 짐작 가능하다.

둘째, 스위프트는 애플 iOS와 OS X 환경에서 작동한다. 단지 iOS 기기에서 돌아가는 앱을 개발하는 용도로 만들어진 게 아니다. 개발자들은 OS X에서 돌아가는 앱을 만들 때도 오브젝티브C 대신 스위프트를 사용할 수 있다. 애플은 자사 플랫폼의 '주력 프로그래밍 언어'라는 지위를 오브젝티브C에서 떼어내려는 듯하다.

셋째, 스위프트는 빠르다. 애플이 근거로 삼은 자료에 따르면 스위프트는 컴플렉스 오브젝트 정렬이나 RC4 암호화같은 작업을 수행할 때 파이썬이나 오브젝티브C를 넘어서는 처리 성능을 발휘한다. 이는 개발자들이 앱을 만들 때 코드 최적화에 쏟아야 하는 시간을 줄이고 개발에 더 전념케 해준다.

넷째, 스위프트는 언어 스펙에 다중 리턴 타입, 클로저, 제네릭스, 타입 인터페이스, 네임스페이스 등을 포함한다. 간단히 말해 현대적인 언어에서 지원하는 주요 기능들을 대거 흡수했다는 얘기다. 개발자들은 이로써 앱 개발 언어를 오브젝티브C에서 스위프트로 바꾸기 위해 특별히 필요로하는 프로그래밍 언어 특성을 포기할 필요가 없다.

다섯째, 스위프트는 개발자가 오브젝티브C와 C 언어를 함께 써 온 기존 방식에 그대로 도입할 수 있기 때문에, 개발자들의 업무흐름을 깨뜨리게 하지 않는다. 개발자들은 스위프트를 쓰기로 했더라도 필요하다면 여러 언어를 혼합한 앱을 개발할 수 있다.

여섯째, 스위프트는 기존 애플의 코코아 및 코코아터치 프레임워크 개발환경에 그대로 적용 가능하다. 스위프트 역시 동일한 LLVM컴파일러를 사용해 만들어졌다. 또한 동일한 옵티마이저와 오토벡터링, 동일한 ARC메모리관리자, 오브젝티브C와 동일한 런타임을 사용한다.

일곱째, 스위프트는 디버깅이 쉽다. 통합개발환경(IDE) X코드(Xcode)의 디버깅 콘솔은 스위프트 언어의 인터랙티브 버전을 포함하고 있다. '인터랙티브 플레이그라운드'라 부르는 기능인데, 이는 개발자가 스위프트 문법을 검증하고 스크립트언어처럼 구동중인 앱과 상호작용하면서 그대로 새로운 알고리즘을 고안하거나 코드를 써넣는 식으로 개발이 가능하게 해준다. 이는 X코드 콘솔이나 터미널모드에서 사용 가능하다.

여덟째, 스위프트는 안전하지 않은 코드를 걷어낼 수 있게 해준다. 애플은 안전하지 않은 코드의 전체 클래스를 제거하는 방향으로 스위프트를 설계해 왔다. 변수들은 항상 사용되기 전에 선언된다. 배열과 정수는 오버플로 현상에 대비해 확인을 받는다. 메모리는 자동으로 관리된다.

관련기사

아홉째, 스위프트는 애플이 기존 오브젝티브C에 익숙한 개발자들이 개발 언어를 바꿀 수 있도록 만들어졌다. 이를테면 앞서 오브젝티브C로 만들어진 앱의 코드를 스위프트 기반으로 쉽게 변환할 수 있도록 했다는 평가다. 이 과정은 새 개발 언어의 코드를 더 구조화되고 논리적으로 만들고 성능도 높여 준다.

열째, 스위프트는 당장 사용 가능하다. 개발자들은 애플이 공개한 X코드6 시험판을 즉시 내려받을 수 있다. 또한 아이튠스 앱스토어와 맥 앱스토어를 통해 내려받을 수 있는 '아이북스' 전자책 형태로 공개한 스위프트 프로그래밍 언어 개발용 전자책도 공개돼 있다.