[WWDC 2014] '개발자'를 위한 행사로 다시 거듭난 WWDC 2014

강일용 zero@itdonga.com

"Write the code, Change the world('코드'를 적어서 세상을 바꿔라)"

애플의 개발자 행사 WWDC 2014가 열린 샌프란시스코 모스콘센터 외벽에 걸려있는 문구다. 코드는 프로그래밍 언어를 뜻한다. WWDC가 누굴 위한 행사인지 단적으로 보여준다. 900만 명(앱스토어 등록 기준)에 이르는 애플 플랫폼 개발자를 위한 행사다.

WWDC 2014
WWDC 2014

하지만 지금까지 우리는 WWDC를 단순히 애플의 제품과 서비스를 홍보하는 자리라고 여겼다. 실제로도 그랬다. 스티브 잡스 전CEO가 아이폰4를 WWDC 2010에서 공개한 이래, 매년 세간의 이목을 끈 신제품을 하나씩 공개했다. '올해도 놀라운 제품이 하나쯤 나오겠지...' 다들 그렇게 여겼다.

예측은 빗나갔다. 제품은 등장하지 않았다. 새로운 맥 운영체제 OS X 요세미티와 iOS8의 특징, 그리고 이 운영체제가 개발자에게 어떤 가치를 줄 수 있는지 설명하는데 집중했다. 2시간에 이르는 발표 시간의 절반을 개발자 환경 변화를 설명하는데 할애했다. 무엇보다 개발자들의 영원한 친구 프로그래밍 언어도 새로 선보였다. '스위프트(Swift)'다. 그동안 사용하던 프로그래밍 언어 '오브젝티브C(Objective C)'를 돕는 스크립트 언어다.

WWDC 2014 첫째 날 애플이 개발자를 위해 공개한 부분과 이를 통해 아이폰과 아이패드 앱 개발 방향이 어떻게 변할지 보다 자세히 알아보자.

1. 하드웨어 접근 권한을 열다

애플의 아이폰은 폐쇄성으로 유명하다. 애플을 제외한 다른 서드파티 앱 개발사들이 제작한 앱은 하드웨어에 접근할 수 있는 권한이 없다. 때문에 그 흔한 '키보드 변경 앱'조차 없다. 애플이 제공하는 쿼티/천지인 키보드만 사용해야 했다. 앱과 운영체제/하드웨어를 연결해주는 징검다리 'API(Application Programming Interface)'를 애플이 공개하지 않은 탓이다.

애플 API 공개
애플 API 공개

하지만 WWDC 2014에서 애플은 "iOS8부터 개발자가 키보드, 알림센터, 파일, 터치아이디(아이폰5s에 추가된 지문인식 센서)에 접근할 수 있다"고 밝혔다. 마침내 API를 공개한 것. 매우 큰 변화다. 일단 키보드부터 얘기해보자. 예전에는 특정 앱(예를 들어 은행 앱)내에서 전용 키보드를 사용하는 것은 가능했지만, 모든 앱이 사용하는 공용 키보드는 애플의 것만 사용해야 했다. 하지만 이제 개발자가 키보드에 접근할 수 있게 됨에 따라, 사용자는 애플 키보드뿐만 아니라 개발자가 직접 고안해낸 다양한 키보드를 사용할 수 있다. 쿼티나 천지인뿐만 아니라 나랏글, 베가, 스와이프 등 안드로이드에서 접할 수 있는 다양한 키보드가 아이폰과 아이패드에도 들어올 수 있게 됐다.

알림센터도 열린다. 예전에는 캘린더, 날씨, 주식 등 애플이 제공하는 앱만 알림센터에 상주할 수 있었지만, iOS8부터는 다른 개발자의 앱도 상주할 수 있게 된다. 애플은 예시로 이베이(Ebay) 앱를 들었다. 이베이 앱을 알림센터에 상주시켜 신상품 업데이트를 확인하고, 구매 화면으로 이동하는 모습을 시연했다.

파일 공유도 제한적이나마 열린다. 기존에는 인터넷이나 이메일로 전달받은 파일을 특정 앱 속에 집어넣는 것만 가능했다. iOS8부터는 앱끼리 파일을 공유할 수 있다. 특정 앱 속에 들어있는 파일을 꺼내 다른 앱으로 건네줄 수 있다. 안드로이드처럼 앱이 모든 파일에 접근할 수 있는 것은 아니지만, 앱끼리 파일 공유가 가능해짐에 따라 일반적인 용도로 사용할 때는 별다른 차이가 없게 됐다.

터치아이디에도 접근할 수 있다. 물론 보안을 위해 암호화된 사용자의 지문 데이터는 건드릴 수 없다. 개발자는 권한있는 사용자가 접근했다는 '인증 데이터'만 건네받아 활용할 수 있다. 지문을 통해 특정 홈페이지에 로그인 한다고 가정해보자. 기존에는 애플이 직접 제작한 사파리 앱만 이 지문 인증을 활용할 수 있었다. iOS8부터는 크롬, 오페라 등 다른 개발사의 앱도 이 지문 인증 과정을 통해 홈페이지에 로그인할 수 있게 된다.

API를 공개함으로써 하드웨어 접근 권한이 열렸지만, iOS가 안드로이드처럼 앱이 모든 파일과 하드웨어에 접근할 수 있도록 변할 가능성은 낮다. 보안 때문이다. 안드로이드는 앱 개발자가 파일과 하드웨어에 자유롭게 접근할 수 있다. 이를 통해 가계부, 통화 녹음 앱 등 iOS는 흉내낼 수 없는 편리한 앱이 다수 등장했다. 하지만 그 대가로 보안은 극도로 취약해졌다. 현재 대부분의 모바일 악성코드는 안드로이드 용으로만 존재하는게 현실이다. 애플은 편리함과 보안이라는 상반된 요소를 놓고 상당히 고민한 것으로 보인다. 결국 보안을 유지하면서 사용자의 불편함을 최대한 해결할 수 있도록 '제한적인 개방'이라는 입장을 취한 것으로 풀이된다.

2. 헬스킷과 홈킷, 개발자를 모으기 위해 손짓

헬스킷 API, 홈킷 API 등 여러 프레임워크(개발을 돕기 위한 도구 모음)를 제공하는 점도 흥미롭다. 헬스킷은 잘 알려진 대로 애플의 건강관리 플랫폼이고, 홈킷은 아이폰이나 아이패드로 가전을 제어하는 IOT 기술이다.

WWDC 2014 iOS8
WWDC 2014 iOS8

헬스킷 API가 공개됨에 따라 각각의 앱은 사용자의 건강 및 운동량을 관리하기 위한 데이터를 다른 앱으로 부터 건네받을 수 있다. 예를 들어 혈압 측정 앱은 마요 클리닉(Mayo Clinic)과 같은 진료 앱으로부터 관련 정보를 공유받을 수 있다. 그 반대도 마찬가지다. 이를 통해 사용자는 담당 의사로부터 보다 정확한 진료를 받을 수 있고, 의사도 사용자의 정확한 몸상태를 파악할 수 있게 된다. (예전에는 이러한 것이 불가능했다. 혈압 측정 앱은 외부 액세서리를 활용해 정확한 생체 데이터를 수집할 수 있었지만 이를 분석할 길이 없었고, 진료 앱은 의사가 환자의 정확한 몸상태를 분석할 수 있었지만 환자의 생체 데이터를 수집할 길이 없었다)

마요 클리닉 존 노즈워시(John Noseworthy) 박사는 "애플의 헬스킷은 의사와 환자가 소통하는 방식을 완전히 뒤바꿔 놓을 것"이라며, "마요 클리닉이 앱을 통해 이러한 변화에 동참할 수 있게 돼 기쁘다"고 말했다.

홈킷 API는 가전 관련 기반이 없는 애플이 가전 제조사들을 끌어들이기 위한 손짓이다. 홈킷 API를 적용하면 제조사들은 자사의 제품이 아이폰과 연동되도록 할 수 있다. 이를 통해 사용자는 아이폰으로 집안의 가전을 자유롭게 조작할 수 있고, 제조사들은 별다른 IT 기반이 없어도 손쉽게 스마트 가전(주거 자동화 시스템) 시장에 진입할 수 있다. 필립스 조명 에릭 론돌랫(Eric Rondolat) 대표는 "주거 자동화시스템 실현을 위한 차세대 기술 홈킷에 참여할 수 있게 되어 기쁘다"며, "이를 통해 필립스 휴 조명 시스템도 한층 더 발전할 것"이라고 전했다.

홈킷 API는 아이비콘(블루투스 4.0 LE 기반 차세대 무선 페어링 기술)과 음성 비서 '시리(Siri)'에 접근할 수 있는 권한도 제공한다. 이를 활용해 개발자는 사용자의 동선을 예측하고, 음성으로 가전을 조작하는 앱을 제작할 수 있다.

3. 새로운 모바일 그래픽 라이브러리 '메탈'

애플은 사용자가 보다 쉽고 간단하게 2D/3D 게임을 제작할 수 있도록 자체 개발한 그래픽 라이브러리 '메탈(Metal)'도 함께 공개했다. 그래픽 라이브러리란 개발자가 쉽고 간단하게 2D/3D 그래픽을 구현할 수 있도록 돕는 도구다. 다이렉트X, 오픈GL, 멘틀 등이 대표적인 사례다.

메탈은 드로우콜(draw call) 속도를 '오픈GL ES'보다 10배 향상시켜 뛰어난 3D 그래픽을 구현할 수 있고(비교한 오픈GL ES의 버전은 미공개), 스프라이트 킷 및 장면 킷 등 다양한 애셋(예제)을 제공해 캐주얼 게임도 간편하게 제작할 수 있다.

모바일 게임 개발에 사용되는 그래픽 라이브러리는 크로노스 그룹이 개발한 오픈GL ES가 대세였다. 하지만 애플이 직접 메탈을 공개함에 따라 두 라이브러리간 경쟁은 불가피할 전망이다. 메탈은 애플의 AP 'A 시리즈'에 최적화된 그래픽 라이브러리인만큼 'iOS 게임 개발은 메탈, 안드로이드 게임 개발은 오픈GL ES' 같은 형태로 양분될 가능성도 배제할 수 없다.

3. 새 프로그래밍 언어 스위프트

앞에서 언급한 세 가지도 놀랍지만, 이번 WWDC 2014에서 개발자들에게 가장 놀라운 발표는 그 무엇보다 애플이 직접 제작한 프로그래밍 언어 스위프트다. 스위프트는 기존의 OS X/iOS 개발 언어인 오브젝티브C를 대체하기 위한 언어는 아니다. 그것보단 개발이 어렵기로 소문난 오브젝티브C를 보완하기 위한 용도다. (사실 오브젝티브C는 개발이 어렵다기 보단 국내에서 고급 정보를 접하기 힘들다는 표현이 더 어울릴 듯하다. 코볼과 비슷한 처지다)

애플 스위프트
애플 스위프트

스위프트는 스크립트 언어다. 파이썬이나 자바스크립트와 같다. 스크립트 언어란 컴파일 과정을 거치지 않고 작성 후 바로 실행시킬 수 있는 프로그래밍 언어로, 배우기 쉽고 다루기 쉽다는 강점이 있다. 스위프트도 마찬가지다. 스위프트는 모듈 헤더가 없고, 세미콜론을 입력할 필요가 없다. 명령어를 간결하고 알아보기 쉽게 작성할 수 있다.

성능도 뛰어나다. 오프젝트 정렬 속도가 파이썬의 3.9배에 이른다. RC4 인크립션을 처리하는 속도도 220배 더 빠르다. 오브젝티브C 위주로 개발하던 기존 애플 개발자도 쉽게 적응할 수 있도록 신경썼다. 코코아 및 코코아터치 프레임워크와 LLVM 컴파일러 등을 고스란히 적용할 수 있다.

iOS8과 OS X 요세미티 앱 개발은 스위프트를 통해 진행할 수 있다. 오프젝티드C를 활용해 앱을 개발하는 것을 막지는 않지만, 애플이 전략적으로 밀고 있는 만큼 향후 OS X/iOS용 앱 개발의 중심은 스위프트로 이동할 가능성이 높다. 애플은 스위프트에 입문하기 원하는 개발자를 돕기 위해 아이북스 스토어에 스위프트 프로그래밍 언어 가이드라인을 업로드한 상태다. 또, 스위프트로 개발한 앱에 기능을 추가하거나, 성능을 향상시킬 수 있도록 개발도구 모음 '엑스코드6'도 함께 공개했다.

일반 사용자에게 이번 WWDC 2014는 새 운영체제만 공개된 심심한 행사로 비칠 가능성이 높다. 하지만 개발자에겐 향후 앱 개발 방향이 통채로 바뀔만큼 많은 정보가 공개된 행사다. 어찌보면 개발자를 위한 행사라는 본연의 목적에 맞게 돌아온 것일 수도 있겠다. WWDC 2014는 이제 막 시작됐다. 둘째 날과 셋째 날 어떤 소식이 들려올지 개발자들은 여전히 귀를 쫑긋 세우고 있다.

글 / IT동아 강일용(zero@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.