애플의 iOS 7은 세계 최초의 64비트 모바일 운영체제일 뿐 아니라 모습 또한 매우 새로워졌다. iOS 6의 사용자인터페이스(UI)를 특징짓던 크롬과 광택 효과 대부분은 이제 개발자들에게 더 넓어진 활용공간을 제공하고 더 밝고 깨끗한 단순 UI 요소들로 대체됐다. iOS 7과 단짝이었던 엑스코드 5(Xcode 5)는 더 빨라진 컴파일링과 64비트 앱 지원, 개발과 디버깅을 용이하게 하는 일련의 신기능까지 내부적으로 상당한 변화가 이루어졌다. iOS 7과 엑스코드 5를 통해 개발자들은 더 빠르고 버그가 적으면서 더 훌륭한 모바일 앱을 개발할 수 있게 됐다. editor@idg.co.kr
옛것과 새것
iOS 6의 홈 화면(좌측)을 iOS 7의 홈 화면(우측)과 비교해 보자. iOS 7의 아이콘은 더 평평하게 느껴지며 크롬이 사라진 점이 눈에 띈다. iOS 7의 상태 표시줄은 반투명하다.
미니멀리즘
iOS 7의 새로운 UI의 미니멀한 디자인은 잠금 화면에서부터 확연히 드러난다. iOS 6의 잠금화면(좌측)은 iOS 7의 깔끔한 그것(우측)과 비교하면 어수선해 보인다.
날렵해진 대화상자
이메일 답장을 작성하는 iOS 6의 대화상자(좌측)와 비교하면 iOS 7의 대화상자(우측)는 깔끔하고 단순하다. 또한, 화면을 얼마나 덜 사용하는지도 주목할 필요가 있다.
오늘의 메일(Mail)
iOS 7 메일 앱(우측)에서 내비게이션 바와 상태 표시줄이 얼마나 실용적으로 사라지는지 살펴보자. 하지만 기본적인 레이아웃은 같으며 메일 셀에서 좌측으로 밀면(Swipe) iOS 6에서와 마찬가지로 삭제 대화상자가 표시된다. 기존 iOS 6의 앱 대부분은 iOS 7에서도 실행할 수 있다.
픽커(Picker) 정렬
UI의 주요 변화 중 하나는 iOS 6(좌측)과 달리 화면 일부를 가리는 액션 시트(Action Sheet)를 더는 사용하지 않는다는 점이다. iOS 7은 픽커가 콘텐츠에 맞춰 정렬되어 표시된다(우측). 또한, 픽커는 iOS 7의 대부분 제어기능과 마찬가지로 반투명하다.
새로운 엑스코드 템플릿
이제 엑스코드는 앱을 개발할 때 사용할 수 있는 여러 추가적인 프로젝트 템플릿을 제공한다. 새로운 템플릿은 스프라이트키트(SpriteKit), 인앱 구매(In-App Purchase), 코코아 터치 스태틱 라이브러리(Cocoa Touch Static Library)이다.
앱 기능
엑스코드는 또한 앱의 기능을 지정할 수 있도록 해 프로젝트 개발에 도움이 된다. 기능을 지정하면 엑스코드는 적절한 라이브러리 추가와 이를 지원하기 위한 코드를 관리한다. 여기에서 체크박스를 사용해 백그라운드(Background) 모드 지원을 손쉽게 설정할 수 있다.
엑스코드 게이지
게이지(Gauge)는 가벼운 프로세스로 앱의 CPU, 메모리, 그래픽, 기타 자원의 사용량을 모니터링 한다. 게이지는 좌측에 표시된다. 하나를 클릭하면 우측에 더욱 자세한 정보가 표시된다. 더 상세하게 분석하려면 "Profile in instruments" 버튼을 클릭해 코드를 더 자세히 살펴보는 강력한 분석 툴을 실행할 수 있다. 하지만 게이지보다 훨씬 거슬린다.
OpenGL 게이지
OpenGL 게이지를 사용해 앱의 프레임률과 오버헤드(Overhead)를 모니터링 할 수 있다. OpenGL은 하드웨어와 긴밀히 연계되어 있기 때문에 이 게이지를 사용하려면 반드시 개발 시스템에 연결된 iOS 기기에서 이 코드를 실행해야 한다.
엑스코드 데이터 팁
디버깅 중 엑스코드는 포인터를 갖다 댄 변수와 구조의 내용을 표시한다. 엑스코드에는 객체와 관련된 그래픽을 보여주는 기능이 추가되었다. 여기에서 디버거(Debugger)는 나선형으로 그려진 베지에(Bézier) 곡선을 포함하고 있는 객체(UIBezierPath)의 콘텐츠를 표시한다.