Photos가 준 놀라움, UXKit
UXKit, la surprise cachée de Photos
Nicolas Furno | 6 février 2015 | 19:00
어제 나온 오에스텐 요세미티의 새로운 베타 버전에는 놀라운 소식이 많다. 이 새 버전에 시스템 차원에서는 새로운 것이 많지 않지만, 뭣보다 애플에서 나온 새로운 사진 관리 프로그램인 Photos가 처음 선을 보였기 때문이다. 이미 본지는 Photos의 새로운 사항을 시험해 볼 기회를 가져본 바 있지만, 그때 다뤘던 것은 빙산의 일각이었다. 표면상 제일 중요한 점은 원래 iOS 인터페이스 요소에서 재사용하기 위해 애플이 만든 프레임웍인 UXKIt가 오에스텐으로 들어왔다는 점이다.
현재로서 UXKit는 개발자들에게 개방돼 있지 않으며 애플 전용이고, 특히 Photos에 UXKit가 쓰였다. 하지만 애플 전용은 임시적인 상황이며, 새로운 프레임웍을 공개할 것으로 보인다. 아마도 7월 WWDC에서 먼저 선을 보이고 가을에 등장할 오에스 텐 10.11이 될 듯 하며, 새로운 베타 버전을 설치한 개발자들이 아마 새로운 프레임웍인 UXKit을 사용하여 애플리케이션을 만들 수 있을 것으로 보인다. 가령 준비돼 있는 Xcode의 프로젝트를 이용하면서 말이다.

새로운 사항을 말하기 전에,개발자들은 이미 상당히 다른 프레임웍 두 가지를 갖고 인터페이스를 디자인한다는 점부터 지적해야겠다. iOS에서는 UIKit을, 맥에서는 AppKit을 써 왔기 때문이다. 두 프레임웍은 서로 다르며, 로직도 다르고, 하나에서 다른 하나로 이주하기가 복잡하다. 아예 처음부터 다시 시작해야 하는데, 그럴 경우 기존 코드를 사용할 수 없기 때문에 상당한 변경을 거칠 수 밖에 없는 구조였다. UXKit의 경우는 애플이 두 플랫폼을 연결하는 데에 쓰는 새로운 프레임웍이다.
소셜 전자책 리더기이자 App Store에도 올라와 있는 Glose의 개발자, 토마 리쿠아르(Thomas Ricouard)는 UXKit을 사용해 보고,이 프레임웍에 대한 열정을 숨기지 않았다.비록 마감이 아직 안 된 프레임웍이기는 하고(아직 일반 개발자들 사용이 가능하지는 않다), 완전한 인터페이스 보정을 위해 중요한 요소가 몇 가지 빠져 있기는 하지만, 그에 따르면 UXKit은 대단히 유망한 프레임웍이다.
iOS에서 오에스텐으로의 이주를 정말로 간단하게 해주는 것이 UXKit의 주요 목표다.토마의 설명에 따르면, 이론상 UI를 모두 UX로 바꾸기만 하면 맥에서 돌아가는 애플리케이션이 나온다. 하지만 이론은 이론일 뿐이다. 다만 프레임웍이 아직 최종화 안 됐고 iOS에서 사용하는 여러 좋은 요소가 아직 안 들어갔지만, UXKit이 변환을 시키는 구조 또한 목표만큼이나 단순하다. 이유가 있다. 플랫폼 기능에 따라 변하는 프리픽스(prefix)를 제외하면 컴퍼넌트가 보통 같은 이름을 갖기 때문이다.
UXKit을 통해 UITableView라 이름 붙인 클래스를 사용하여 iOS에서 목록을 만든다고 해 보자. UXTableView 클래스를 사용할 수 있다.토마 리쿠아르가 우리에게 보낸 사례에서 보듯 두 플랫폼에서 코드는 같으며 그 결과도 매우 유사하다.동일한 애니메이션이었으며 트랙패드 인터랙션도 같았다. 예를 들어 아래와 같은 화면 넘기는 장면을 보시라.
http://files.macg.co/macgupload/20150206uxkitdemo.mp4
애플은 차기 운영체제에서 모든 개발자들에게 UXKit을 제안할 의도를 가진 것으로 보이는데(그 이전에 공개할 가능성은 낮아 보인다), 앞으로 더 많은 모바일 애플리케이션이 맥용으로 등장하거나 맥용 애플리케이션이 모바일로 등장할 것이다. 그만큼 투자 비용이 낮아지고 개발자들도 더 쉽게 이주를 할 수 있다. 가령 Reeder와 같은 소프트웨어는 이미 iOS의 요소를 몇 가지 채택하고 있지만, 그러기 위해서 개발자가 스스로 모든 것을 다시 만들어야 했었다. 새로운 프레임웍이 있다면 아마 훨씬 수고를 덜 들였을 것이다.
AppKit이 아닌 UXKit 사용은 다중-플랫폼용 애플리케이션 작성 이외에도 장점이 있다.지금의 프레임웍 AppKit은 오래됐기 때문에(물론 컴퓨터 관점에서 오래됐다는 의미다), iOS가 이룬 단순화의 장점을 받아들이지 못 하고 있었다. iOS와 가까운 컴퍼넌트를 선택하는 경우 오에스텐 소프트웨어 개발은 간단해질 수 있다. 여러 개발자들이 이미 지적했듯 인터페이스의 여러 부분(가령 타이틀)에 적용되는 주요 색상을 대단히 쉽게 택할 수 있다. AppKit으로 하는 경우 똑같은 결과를 내기 위해 훨씬 더 많은 작업을 해야 한다.
그렇다면 AppKit은 앞으로 사라질까? UXKit이 현재 프라이빗 프레임웍이며 애플만이 사용하고 있고 과연 애플이 이 프레임웍을 공개할지 확실하지 않기 때문에 이 질문에 답하기는 어렵다.아직은 더 많은 작업이 필요하며 애플이 과연 Photos만을 위해 이 모든 작업을 하지도 않았을 것이다.아마도 요세미티의 다음 버전 기본 소프트웨어 일부가 UXKit으로 만들어지며,그게 다일 수도 있겠지만,서드파티 개발자들을 염두에 두고 UXKit을 개발했다는 사실 정도는 말할 수 있잖을까 싶다.
그리고 모든 개발자들이 UXKit에 환호하는 것도 아니다. Vesper노트와 OmniFocus를 작업한 브렌트 시몬스(Brent Simmons)가 작성한 블로그를 보면 그가 가진 회의주의를 볼 수 있다. 그에 따르면 AppKit의 사용도가 워낙 높기 때문에 애플의 AppKit 포기는 어림 없으며, AppKit에는 UXKit에 없는, 그러니까 맥에 특정한 기능을 워낙 많이 갖고 있다고 한다.
그는 만약 UXKit이 현재 상태로 출시할 경우(현재는 애플의 프라이빗 프레임웍) UXKit은 아마 자기 앱을 맥용으로 포팅하고 싶어할 개발자들이나 쓸 것이라고도 지적했다. AppKit에 대한 완전 대체가 아니라 조그마한 애플리케이션을 위해 필요한 기본 기능을 제공하는 정도라는 의미다. 이 경우 AppKit이 훨씬 더 많은 것을 제공하며, 서로 다른 두 프레임웍을 유지해서 일을 복잡하게 만들 것 없다.
UXKit을 이미 사용한 Photos는 자그마한 소프트웨어가 아니라 반박할 수 있겠다. 물론 애플이 만약 새로운 프레임웍을 출시한다고 해도 AppKit을 당장 없애겠다는 의미가 아니지만, 새 프레임웍이 보다 알차게 채워질 때까지, 그리고 결국 UXKit이 AppKit을 대체할 때까지 당분간은 두 프레임웍이 공존하리라 생각할 수 있다.
같은 맥락으로 일이 잘 풀려나간다면 스위프트(Swift)도 언젠가는 오브젝티브-C를 대체하며, 그동안은 두 언어가 공존할 것이다. Photos만 봐도 모두 다 오브젝티브-C로 코딩돼 있다. 설사 스위프트가 미래라 하더라도 오브젝티브-C가 아직 팔팔하다는 증거다.
https://www.macg.co/os-x/2015/02/uxkit-la-surprise-cachee-de-photos-87153
위민복님이 번역한 글입니다.