절제의 미덕, iOS 분석하기
지난 기사에서 구글 안드로이드에 대해 알아봤으니 이제 애플 iOS를 알아볼 차례입니다.
iOS는 안드로이드와 정반대인 운영체제입니다.
단순히 경쟁자라서 다르다는 게 아닙니다. 외관은 비슷할 수도 있겠죠. 하지만 운영체제 속에 깔려있는 설계 철학은 정반대입니다. 안드로이드는 열림(Open source)을 선택했지만, iOS는 닫힘(Closed source)을 선택했습니다. 애플은 왜 이런 선택을 한 걸까요. 그 이유를 하나씩 알아봅시다.
애플만을 위한 운영체제
iOS는 서버 운영체제로 널리 사용되는 유닉스(UNIX) 계통의 모바일 운영체제입니다. 애플은 대표적인 유닉스 운영체제인 BSD를 활용해 맥 BSD를 개발한 후 이를 활용해 컴퓨터용 운영체제 OS X(현재 맥 운영체제)을 완성했습니다. iOS 역시 맥 BSD를 기반으로 개발했습니다. (OS X을 기반으로 개발했다고 알고 있는 경우가 있는데, 정확히 말하자면 조금 다릅니다. iOS는 OS X의 형제이지, 아들이 아닙니다.)
iOS는 '애플만' 사용할 수 있습니다. 다른 제조사들은 iOS가 탑재된 기기를 제작하고 싶어도 할 수 없습니다. iOS에 대한 모든 권리(Proprietary)를 애플이 소유하고 있기 때문입니다.
많은 사용자가 안드로이드는 구글의 것이라고 생각합니다. 아닙니다.
구글은 단지 안드로이드를 개발하는 회사일 뿐입니다. 지난 기사에서 설명한 것처럼 AOSP(Android Open Source Project) 위에 구글의 서비스를 더해 구글 안드로이드가 되는 것입니다. 때문에 누구나 AOSP를 가져가 자신만의 안드로이드 운영체제를 제작할 수 있습니다.
iOS는 전혀 다릅니다. 소스코드를 공개하지 않았고, 운영체제의 소유권도 온전히 애플에게 있습니다. 마이크로소프트(MS)의 윈도우 운영체제와 같습니다.
다만 애플은 MS와 전혀 다른 사업방식을 선택했습니다. MS는 윈도 운영체제를 사용할 수 있는 권리(주의: 소유권이 아닙니다)를 다른 제조사에게 넘김으로써 수익을 얻고 있습니다. 반면 애플은 iOS(OS X 포함)를 사용할 수 있는 권리를 다른 제조사에게 허락하지 않고 있습니다.
애플의 운영체제는 오직 애플의 기기에서.
스티브 잡스가 애플의 최고경영자(CEO)로 복귀한 1997년 이후 일관되게 강조하고 있는 정책입니다. 잡스가 애플 CEO로 복귀한 이후 경영 정상화를 위해 진행한 작업 중 하나가 타 회사로부터 맥 운영체제의 사용권을 거둬들인 것입니다. "중구난방으로 흩어져 있는 맥 운영체제 사용권은 애플의 비즈니스뿐만 아니라 맥이라는 브랜드 자체에 해를 끼칠 것"이라고 믿었기 때문이죠. 그의 선택은 옳았습니다. 망해가던 애플은 이 선택과 ‘아이맥(iMac)이라는 걸출한 제품 덕분에 재기할 수 있었습니다. 이후 애플의 운영체제는 오직 애플의 제품에서만 접할 수 있게 됐고, 이러한 기조는 iOS로 고스란히 이어졌습니다.
때문에 iOS를 탑재한 기기는 애플의 스마트폰 아이폰(아이팟 터치 포함)과 태블릿PC 아이패드, 그리고 셋톱박스 애플TV뿐입니다.
하드웨어와 소프트웨어의 융합
앞에서 설명한 것처럼 iOS(소프트웨어)와 아이폰, 아이패드(하드웨어)는 떼려야 뗄 수 없는 관계입니다. 하드웨어 또는 소프트웨어가 따로 논 적이 없습니다. 새로운 하드웨어가 등장하면 이에 맞춰 소프트웨어가 발전했고, 새로운 소프트웨어가 등장하면 이에 맞춰 신형 하드웨어가 등장했습니다.
이 정책은 두 가지 강력한 시너지(상승) 효과를 불러왔습니다.
첫 번째는 뛰어난 성능 최적화입니다. iOS와 아이폰, 아이패드는 안드로이드 스마트폰보다 상대적으로 낮은 사양으로도 뛰어난 사용자 경험을 제공합니다. 운영체제와 애플리케이션(앱)은 부드럽게 움직이고, 웹 페이지도 끈임없이 이용할 수 있습니다. 고사양 3D 게임도 미려하게 실행되죠. 안드로이드 운영체제도 지속적인 최적화로 이제 훌륭한 사용자 경험을 제공하지만, 아직 iOS만은 못하다는 게 세간의 평가입니다.
두 번째는 빠른 운영체제 업데이트입니다. 아이폰과 아이패드는 안드로이드 스마트폰, 태블릿PC보다 빨리, 오래 최신 iOS 업데이트를 받을 수 있습니다. 보다 많은 사용자가 최신 운영체제의 기능을 맛볼 수 있다는 의미입니다.
새로운 iOS가 공개되고 베타(공개)테스트가 끝나면 모든 업데이트 대상 아이폰, 아이패드는 곧장 최신 운영체제로 업데이트 할 수 있습니다. 최신 운영체제가 배포되고 일주일 정도만 지나면 채택율은 40~50%에 이릅니다. 정말 높은 수치입니다. iOS 사용자들도 그만큼 운영체제 업데이트에 관심이 많다는 증거죠.
최신 운영체제를 제공받을 수 있는 기간도 매우 깁니다. 안드로이드 스마트폰의 경우 평균 1년에서 1년 6개월 동안 최신 운영체제 업데이트를 받을 수 있습니다. 고급(하이엔드) 제품이나 구글 넥서스 시리즈는 최장 3년까지 제공받을 수 있지만, 일부 저가형 모델의 경우 발매 후 단 한번도 업데이트를 제공받지 못한 사례도 있습니다. 반면 iOS를 탑재한 기기는 평균 3년, 길면 4년 동안 운영체제 업데이트를 받을 수 있습니다.
때문에 최신 운영체제와 기존 운영체제가 공존하고 최신 운영체제로 전환이 천천히 진행되는 안드로이드와 달리, iOS는 기존 운영체제가 빠르게 사라지고 그 자리를 최신 운영체제가 채우고 있습니다. 이는 개발자에게 편리하게 다가옵니다. 안드로이드용 앱을 개발할 때에는 여러 버전을 염두에 둬야 하지만, iOS는 최신 버전만 신경 쓰면 되니까요. 그만큼 앱 개발 시간을 절약하고, 앱의 품질을 올리는데 힘 쓸 수 있습니다.
모든 앱을 한군데에서, 앱스토어
안드로이드는 APK(설치 파일)만 있으면 굳이 구글 플레이스토어를 통하지 않더라도 앱을 설치할 수 있습니다. iOS는 다릅니다. 아무 앱이나 함부로 설치할 수 없습니다. 오직 애플 앱스토어에서만 앱을 내려받아 설치할 수 있습니다.
애플 앱스토어는 지난 2008년 등장한 애플의 앱 장터입니다. 가장 큰 특징은 강력한 사전 검수입니다. 앱을 등록하기 앞서 해당 앱이 iOS 개발 가이드라인을 준수했는지, 악성코드가 섞여 있는 것은 아닌지 꼼꼼히 검사합니다. 애플의 검사를 통과해야만 앱을 등록할 수 있습니다. 이러한 검사 덕분에 애플 앱스토어에는 실행이 안되거나, 완성도가 떨어지거나, 악성코드가 섞여있는 앱이 올라오는 경우가 매우 드뭅니다.
애플 앱스토어에는 110만 개 이상의 앱이 등록돼 있습니다. 양적으로는 구글 플레이스토어에 조금 떨어지지만, 사전 검수 덕분에 전체적인 앱의 품질은 월등하다는 게 세간의 평가입니다. 앱을 믿고 내려받을 수 있다는 겁니다.
안전 제일
iOS는 매우 안전한 운영체제입니다.
피싱(전자금융사기)이나 스미싱(문자메시지+피싱)으로부터 자유롭습니다. 단지 출처가 불분명한 앱 설치를 막았기 때문에 안전한 것은 아닙니다. 기초부터 보안을 신경 쓰고 개발했습니다.
일단 인터넷 주소를 누르더라도 악성코드가 섞여있는 앱이 설치되지 않습니다. 애당초 스미싱이 불가능한 구조입니다. 앱도 처음부터 철저하게 샌드박스(모래상자) 구조로 되어 있습니다. 특정 앱에 악성코드가 섞여 있더라도 다른 앱에 전염되지 않습니다. 안드로이드는 킷캣(4.4)에서 비로소 iOS와 같은 샌드박스 구조를 도입했습니다.
iOS가 안전한 가장 근본적인 이유는 외부에서 운영체제의 핵심에 접근할 수 없기 때문입니다. 그 어떤 사용자와 앱도 운영체제 고유의 권한을 건드릴 수 없습니다. 악성코드가 접근할 통로 자체를 원천 차단했습니다. 그 어떤 악성코드도, 심지어 백신 앱조차 운영체제에 접근할 수 없습니다. 백신 앱은 오직 다른 앱만 검사할 수 있을 뿐입니다. 따로 루팅(운영체제 관리자 권한을 얻는 것)을 하지 않더라도 운영체제의 디렉토리에 접근할 수 있는 안드로이드와 대조적인 모습입니다.
다만 이 부분은 일장일단이라고 평가할 수 있겠네요. iOS는 통화, 메시지 등에 접근할 수 없어 통화녹음, 가계부, 일정 자동추가 등 몇 가지 편리한 앱이 나오지 못하고 있습니다. 보안이냐 편리함이냐 사용자들이 고민해야 할 숙제입니다.
우리가 흔히 탈옥이라고 부르는 작업이 바로 iOS의 디렉토리를 변경할 수 있는 권한을 얻는 것입니다. iOS에 특정 기능을 추가하거나 외부 앱을 설치할 수 있게 되지만, 보안이 극도로 취약해집니다. 반면 안드로이드의 루팅은 관리자 권한을 얻는 것이지 디렉토리를 변경할 수 있는 권한을 얻는 것이 아닙니다. 루팅 때문에 보안이 취약해지지는 않습니다.
독특한 파일 관리
대부분의 운영체제는 운영체제 속에 파일이 있고, 앱이 해당 파일에 접근할 수 있게 합니다. iOS완전히 다릅니다. 운영체제가 아니라 앱 속에 파일이 있습니다. 해당 앱만이 그 파일에 접근할 수 있습니다.
왜 이런 독특한 구조가 된 걸까요. 앞에서 설명한 안전 때문입니다. 앱이 운영체제에 접근하지 못하니, 앱 속에 파일을 저장하게 한 것입니다. 앱을 지우면, 앱 속의 파일도 함께 삭제되니 주의하세요. 이러한 이유 때문에 iOS는 파일 관리자 앱도 없습니다. 대신 통합검색창(Spotlight, 화면을 아래로 끌어내리면 나오는 검색창)을 통해 파일을 찾을 수 있으니 크게 불편하지는 않습니다. 조금 생소할 뿐이죠.
이렇게 독특한 파일 관리 구조와 안전 문제 때문에 iOS를 탑재한 기기는 외부 저장공간(마이크로 SD 카드 슬롯)을 제공하지 못하고 있습니다. 보안 때문에 외부 저장공간에 앱을 설치할 수 없게 했고, 앱을 설치할 수 없으니 파일도 불러들일 수 없는 것입니다.
아이튠즈
iOS 얘기를 하면서 아이튠즈의 얘기를 빼놓을 수 없죠. 아이튠즈는 iOS를 탑재한 기기 속 앱과 파일을 관리하기 위한 응용 프로그램입니다. 윈도우와 OS X에서 사용할 수 있습니다.
아이튠즈를 이용한 파일 관리의 가장 큰 특징은 동기화입니다. PC나 맥 속에 있는 콘텐츠와 아이폰, 아이패드 속에 있는 콘텐츠를 일치시키는 작업입니다. 사실 기기를 하나의 드라이브 및 폴더로 간주하고, 파일과 앱을 드래그 앤 드랍으로 옮기는 것에 익숙한 국내 사용자에겐 매우 생소한 개념입니다.
국내 사용자는 PC, 맥과 아이폰, 아이패드를 별개의 기기로 간주합니다. 두 제품은 서로 간섭하지않아야 한다는 겁니다. 반면 동기화는 아이폰, 아이패드가 PC, 맥에 부속되어 있는 기기라는 개념에서 시작합니다. PC와 맥에서 편리하게 콘텐츠를 정리한 후 아이폰과 아이패드를 연결해 둘을 일치화시키는 거죠.
익숙해지면 편리하지만, 그리 쉽게 익숙해지지는 않습니다. 결국 천하의 애플조차 ‘모든 콘텐츠를 반드시 동기화로 관리해야 한다’는 초창기 전략을 포기하고, 동기화와 드래그 앤 드랍 가운데 선택할 수 있게 했습니다.
아이튠즈는 콘텐츠 관리 기능만 있는 것이 아닙니다. 콘텐츠를 구매하거나 재생할 수도 있습니다. 특히 아이튠즈 뮤직 스토어의 경우 매우 방대한 규모로 성장했습니다. 뮤직 스토어의 순위가 빌보드 차트에 버금가는 권위를 인정받고 있을 정도입니다.
다만 최근에는 무선 와이파이(Wi-Fi)로 파일을 앱으로 전송할 수 있게 되면서 아이튠즈를 반드시 실행해야 하는 경우가 줄어들고 있습니다. 처음 아이폰, 아이패드를 활성화시킨 후 두 번 다시 연결하지 않아도 제품을 사용하는데 아무런 지장이 없습니다. 이제 iOS 업데이트조차 아이폰, 아이패드 스스로 처리할 수 있습니다. 두려워할(?) 필요가 전혀 없습니다.
iOS의 역사
iOS는 2007년 6월 최초의 아이폰(iPhone)과 함께 세상에 처음 공개됐습니다.
이름도 iOS가 아니었죠. iPhone OS라고 불렀습니다. 전화, 메시지, 웹 브라우저(사파리), 이메일, 아이튠즈 등 스마트폰으로서 필요한 모든 기본 기능을 갖추고 있었고, 앱을 순차적으로 나열하고 자주 사용하는 앱을 하단에 배치할 수 있는 사용자 환경도 이때 확립됐습니다. 다만 앱스토어가 없어서 앱을 추가할 수 없다는 치명적인 문제가 있었습니다.
1년 뒤 앱스토어가 추가된 iPhone OS 2가 아이폰3G와 함께 공개됐습니다. 비로소 스마트폰용 운영체제로서 제구실을 할 수 있게 됐고, 아이폰의 인기도 이와 함께 급상승했습니다.
iPhone OS 3은 2009년 6월 등장했습니다. 사실 iOS는 iPhone OS 2때 이미 운영체제의 기본 구조가 확립될 정도로 완성도가 높았습니다. 남은 것은 자잘한 편의 기능 추가뿐이죠. iPhone OS 3에는 복사/붙여넣기, 통합검색창, USB 테더링, 내 아이폰 찾기 등 여러 편의 기능이 추가됐습니다.
2010년 6월 공개된 iOS4는 iPhone OS 대신 iOS란 이름을 채택한 최초의 버전입니다. 이유는 간단합니다. iOS4가 출시되기 몇 달 전 아이패드가 시장에 출시됐기 때문입니다. 아이패드에도 설치되어 있는데 아이폰 OS라고 부를 수는 없는 노릇이니까요. iOS4는 멀티태스킹(다중 작업), 페이스타임(무료 영상통화), 아이북스(전자책 장터) 등 여러 편의 기능이 추가됐습니다.
이후 iOS5와 6에서도 다양한 편의 기능이 추가됐습니다. 아이클라우드(애플의 클라우드 서비스), 아이메시지(애플 기기간 무료 메시지), 알림 센터(각종 알림을 한군데 모아서 보여주는 기능, 안드로이드의 알림바와 같다), 애플맵, 시리(애플의 음성비서 서비스) 등이 들어오고, 트위터 및 페이스북이 iOS 운영체제 자체의 기능으로 통합됐습니다.
사용자 환경에 별다른 변화가 없던 iOS지만 작년 6월 등장한 iOS7에서 큰 변화를 맞이합니다. 기존의 스큐어모피즘(사물에서 영감을 얻은 디자인) 디자인이 애플의 수석 디자이너이자 부사장인 조나단 아이브의 플랫(명암을 최대한 제거해 간결하고 깔끔하게 보이는 디자인) 디자인으로 변경된 것입니다. 또한 특정 앱만 멀티태스킹할 수 있었던 제약에서 벗어나 모든 앱에 멀티태스킹을 적용할 수 있게 됐고, 쿼티 키보드뿐만 아니라 천지인 한글 자판도 사용할 수 있게 됐습니다. 손가락을 화면 제일 아래에 올려 놓고 위로 끌어 올리면 기기의 전반적인 상태를 조작할 수 있는 제어 센터 기능도 추가됐죠.
변화하는 iOS
iOS의 변화는 여기서 멈추지 않습니다. 지난 6월 WWDC 2014(애플 개발자회의)에서 공개되고 9월 정식 출시된 iOS8은 참 많은 것이 변했습니다. 특히 사용자 환경보다 개발 환경 변화가 눈에 띕니다. 네 가지를 중점적으로 설명드릴게요.
운영체제 접근 권한을 열었습니다
앞에서 설명한 것처럼 앱은 iOS에 접근할 수 없었습니다. 때문에 그 흔한 '키보드 변경 앱'조차 없었죠. 앱과 운영체제/하드웨어를 연결해주는 징검다리 'API(Application Programming Interface)'를 애플이 공개하지 않았기 때문입니다.
이제 달라집니다. iOS8부터 앱이 키보드, 알림 센터, 파일, 터치아이디(아이폰5s에 추가된 지문인식 센서)에 접근할 수 있게 됩니다. 애플이 API를 공개했기 때문입니다. 매우 큰 변화죠. 일단 키보드부터 얘기해볼까요. 예전에는 특정 앱(예를 들어 은행 앱)내에서 전용 키보드를 사용하는 것은 가능했지만, 모든 앱이 사용하는 공용 키보드는 애플의 것만을 사용해야 했습니다. 하지만 이제 개발자가 키보드에 접근할 수 있게 됨에 따라, 사용자는 애플 키보드뿐만 아니라 개발자가 직접 고안해낸 다양한 키보드를 사용할 수 있게 됩니다. 쿼티나 천지인뿐만 아니라 나랏글, 베가, 스와이프 등 안드로이드에서 접할 수 있는 다양한 키보드가 아이폰과 아이패드에도 들어올 수 있게 되는 거죠.
알림 센터도 열립니다. 예전에는 캘린더, 날씨, 주식 등 애플이 제공하는 앱만 알림 센터에 상주할 수 있었지만, iOS8부터는 다른 개발자의 앱도 상주할 수 있게 됩니다. 애플은 예시로 이베이(Ebay) 앱를 들었습니다. 이베이 앱을 알림 센터에 상주시켜 신상품 업데이트를 확인하고, 구매 화면으로 이동하는 모습을 보여줬습니다.
앱 간의 파일 공유도 제한적이나마 열립니다. iOS8부터 앱끼리 파일을 공유할 수 있습니다. 특정 앱 속에 들어있는 파일을 꺼내 다른 앱으로 건네줄 수 있다는 거죠. 안드로이드처럼 앱이 모든 파일에 접근할 수 있는 것은 아니지만, 앱끼리 파일 공유가 가능해짐에 따라 일반적인 용도로 사용할 때는 별다른 차이가 없게 됐습니다.
터치아이디에도 접근할 수 있습니다. 물론 보안을 위해 암호화된 사용자의 지문 데이터는 건드릴 수 없습니다. 개발자는 권한 있는 사용자가 접근했다는 '인증 데이터'만 건네받아 활용할 수 있습니다.
기존에는 화면의 잠금을 풀거나, 애플 앱스토어에서 앱을 구매(인앱결제 포함)할 때에만 지문 데이터를 활용할 수 있었습니다. iOS8부터는 다른 개발사의 앱도 지문 데이터를 이용해 사용자 인증 절차를 진행할 수 있습니다. 애플페이, 페이팔, 알리페이 등 전자 결제 앱에서 터치아이디를 활용해 간편하게 결제를 진행할 수 있게 된다는 뜻입니다.
API를 공개함으로써 하드웨어 접근 권한이 열렸지만, iOS가 안드로이드처럼 앱이 모든 파일과 하드웨어에 접근할 수 있도록 변할 가능성은 낮습니다. 앞에서도 강조한 보안 때문입니다. 안드로이드는 앱 개발자가 파일과 하드웨어에 자유롭게 접근할 수 있고, 이를 통해 가계부, 통화 녹음 앱 등 iOS는 흉내 낼 수 없는 편리한 앱이 다수 등장했습니다. 하지만 그 대가로 보안은 극도로 취약하죠. 모바일 악성코드는 대부분 안드로이드를 타깃으로 한 것이 현실입니다.
애플은 편리함과 보안이라는 상반된 요소를 놓고 상당히 고민한 것으로 보입니다. 결국 보안을 유지하면서 사용자의 불편함을 최대한 해결할 수 있도록 '제한적인 개방'이라는 입장을 취한 것 같네요.
건강 관리 기능과 가전 관리 기능도 추가했습니다.
헬스킷 API, 홈킷 API 등 여러 프레임워크(개발을 돕기 위한 도구 모음)를 제공하는 점도 흥미로운 변화입니다. 헬스킷은 잘 알려진 대로 애플의 건강관리 플랫폼이고, 홈킷은 아이폰이나 아이패드로 가전을 제어하는 IOT(만물인터넷) 기술입니다.
헬스킷 API가 공개됨에 따라 각각의 앱은 사용자의 건강 및 운동량을 관리하기 위한 데이터를 다른 앱으로부터 건네받을 수 있게 됐습니다. 예를 들어 혈압 측정 앱은 마요 클리닉(Mayo Clinic)과 같은 진료 앱으로부터 관련 정보를 공유받을 수 있습니다. 이를 통해 사용자는 담당 의사로부터 보다 정확한 진료를 받을 수 있고, 의사도 사용자의 정확한 몸 상태를 파악할 수 있게 됩니다. 예전에는 이러한 것이 불가능했죠. 혈압 측정 앱은 외부 액세서리를 활용해 정확한 생체 데이터를 수집할 수 있었지만 이를 분석할 길이 없었고, 진료 앱은 의사가 환자의 정확한 몸 상태를 분석할 수 있었지만 환자의 생체 데이터를 수집할 길이 없었습니다.
홈킷 API는 가전 관련 기반이 없는 애플이 가전 제조사들을 끌어들이기 위한 손짓이에요. 홈킷 API를 적용하면 제조사들은 자사의 제품이 아이폰과 연동되도록 할 수 있습니다. 이를 통해 사용자는 아이폰으로 집안의 가전을 자유롭게 조작할 수 있고, 제조사들은 별다른 IT 기반이 없어도 손쉽게 스마트 가전(주거 자동화 시스템) 시장에 진입할 수 있습니다.
홈킷 API는 아이비콘(블루투스 4.0 LE 기반 차세대 무선 페어링 기술)과 음성 비서 '시리(Siri)'에 접근할 수 있는 권한도 제공합니다. 이를 활용해 개발자는 사용자의 동선을 예측하고, 음성으로 가전을 조작하는 앱을 제작할 수 있습니다. 애플은 필립스의 스마트 조명 휴(Hue)를 홈킷의 사례로 들었습니다.
iOS8은 더 빠르고 아름답게 게임을 실행할 수 있습니다.
개발사들이 뛰어난 3D 그래픽을 갖춘 게임을 개발할 수 있도록 메탈 렌더링 API Metal Rendering API, 이하 메탈) 를 개발하고 iOS8에 적용했기 때문입니다.
메탈은 개발사가 보다 쉽고 간단하게 2D/3D 게임을 제작할 수 있도록 애플이 직접 개발한 그래픽 라이브러리입니다. 그래픽 라이브러리란 개발자가 쉽고 간단하게 2D/3D 그래픽을 구현할 수 있도록 돕는 도구에요. 다이렉트X, 오픈GL, 멘틀 등이 대표적인 사례입니다.
메탈은 드로우콜(draw call) 속도를 '오픈GL ES'보다 10배 향상시켜 뛰어난 3D 그래픽을 구현할 수 있고(비교한 오픈GL ES의 버전은 미공개), 스프라이트 킷 및 장면 킷 등 다양한 애셋(예제)을 제공해 캐주얼 게임도 간편하게 제작할 수 있습니다. 애플은 메탈을 설명하면서 인디 게임개발사 슈퍼이블메가콥사가 메탈을 활용해 개발한 AOS 게임 '베인글로리'를 함께 시연했습니다. 이와 함께 스마트폰에서도 비디오게임기나 PC 못지 않은 3D 그래픽을 구현할 수 있다고 강조했죠. 또한 EA, 게임로프트, 에픽게임즈, 로비오스타, 유비소프트, 유니티 등 게임 개발사 및 게임 엔진 개발사와 협력해 메탈이 적용된 게임을 개발 중이라고 밝혔습니다.
사실 메탈은 애플 혼자서 만든 게 아닙니다. 개발자들의 접근성을 위해 업계의 거물과 협력했습니다. 바로 언리얼 엔진으로 유명한 에픽게임즈에요. 최신 언리얼 엔진(4.3)에는 오픈GL ES뿐만 아니라 메탈도 포함돼 있습니다. 차세대 유니티 엔진에도 메탈이 추가될 예정입니다. 국내외 모바일 게임 개발사들이 언리얼 엔진과 유니티 엔진을 적극 활용하고 있는 만큼 메탈의 보급 속도는 한층 빨라질 것 같네요.
모바일 게임 개발에 사용되는 그래픽 라이브러리는 크로노스 그룹이 개발한 오픈GL ES가 대세였습니다. 안드로이드용 3D 게임은 대부분 오픈GL ES를 활용해 개발 중입니다. 하지만 애플이 직접 메탈을 공개함에 따라 두 라이브러리간 경쟁은 불가피할 것 같네요. 메탈이 iOS에 최적화된 그래픽 라이브러리인만큼 'iOS 게임 개발은 메탈, 안드로이드 게임 개발은 오픈GL ES' 같은 형태로 양분될 가능성도 배제할 수 없겠지요.
개발 난이도도 한층 낮아집니다.
앞에서 언급한 세 가지도 놀랍지만, iOS8에서 개발자들에게 가장 놀라운 변화는 따로 있습니다. 바로 애플이 직접 제작한 프로그래밍 언어 스위프트입니다. 스위프트는 기존의 OS X/iOS 개발 언어인 오브젝티브C를 대체하기 위한 언어는 아닙니다. 그것보단 오브젝티브C와 함께 활용해 개발을 보다 쉽게 하려는 용도에 가깝습니다.
스위프트는 스크립트 언어(파이썬, 자바스크립트)처럼 쉽게 익히고 사용할 수 있는 프로그래밍 언어입니다. 스크립트 언어란 컴파일 과정을 거치지 않고 작성 후 바로 실행시킬 수 있는 프로그래밍 언어로, 배우기 쉽고 다루기 쉽다는 장점이 있습니다. 스위프트도 마찬가지에요. 스위프트는 모듈 헤더가 없고, 세미콜론을 입력할 필요가 없습니다. 명령어를 간결하고 알아보기 쉽게 작성할 수 있습니다.
성능도 뛰어납니다. 오프젝트 정렬 속도가 파이썬의 3.9배에 이릅니다. 오브젝티브C 위주로 개발하던 기존 애플 개발자도 쉽게 적응할 수 있도록 많은 부분을 신경썼습니다. 코코아 및 코코아터치 프레임워크(iOS 및 OS X용 앱을 개발할 때 활용하는 API)와 LLVM 컴파일러 등을 고스란히 적용할 수 있습니다.
iOS8과 OS X 요세미티 앱 개발은 스위프트를 통해 진행하는 것이 편리합니다. 오프젝티브C를 활용해 앱을 개발하는 것을 막지는 않지만, 애플이 전략적으로 밀고 있는 만큼 향후 OS X/iOS용 앱 개발의 중심은 스위프트로 이동할 가능성이 높습니다. 애플은 스위프트에 입문하기 원하는 개발자를 돕기 위해 아이북스 스토어에 스위프트 프로그래밍 언어 가이드라인을 올렸고, 스위프트로 개발한 앱에 기능을 추가하거나 성능을 향상시킬 수 있도록 새 개발도구 모음 '엑스코드6(Xcode6)'도 함께 공개했습니다.
3화와 4화를 통해 안드로이드와 iOS에 대해 자세히 알아봤습니다.
근본에 깔려 있는 개발 철학은 정반대이지만, 두 운영체제는 서로 닮아가고 있습니다.
사용자에게 편리하겠다 싶으면 설사 그것이 상대방의 것이라도 주저 없이 벤치마킹하고 있죠. iOS의 것이었던 앱 장터와 터치스크린에 최적화된 사용자 환경이 안드로이드에 들어갔고, 안드로이드의 것이었던 통합알림창과 멀티태스킹이 iOS에도 적용되고 있습니다.
중요한 것은 사용자가 얼마나 편리하게 사용할 수 있느냐입니다. 굳이 사족을 달자면 iOS는 보안을 우선시하고 여기에 맞춰 여러 편리한 기능을 추가하고 있다면, 안드로이드는 편리함을 우선시하고 보안에도 신경쓰는 모양새라고 할 수 있겠네요.
글 / IT동아 강일용(zero@itdonga.com)
※본 기사는 다음 뉴스펀딩(http://m.newsfund.media.daum.net/project/105)에 함께 연재됩니다.