IOS 앱을 Mac 앱으로 변환 할일이 있을때..

2011. 3. 28. 17:55OS/iOS

프로젝트 Chameleon 
– iOS 개발시 사용하는 UIKit 을 맥으로 포팅해서 맥OS용 앱을 만들때도 iOS개발과 똑같이 개발할수 있도록 해주는 프레임워크 

카멜레온 프로젝트 사이트 : http://chameleonproject.org/ 



카멜레온의 출시에 관련된 내용은 아래 글을 참고하시면 됩니다.
출처 : http://www.appleforum.com/mac-column/60376-ios-앱을-mac-앱으로-더-쉽게-바꾸어-보자.html

2008년 앱스토어가 열린 이래, 개발자들은 아이폰에서 구현한 멋진 기능을 맥에서도 구현할 방법을 찾아 왔었다. 그리고 2010년, 맥 앱스토어가 열리자 완전히 새로운 개발자 그룹이 iOS 앱을 맥으로 포팅시키는 방법을 최초로 알아보기 시작하였다. 유명 개발자 두 명이 iOS 앱을 맥으로 더 간단하게 포팅하기 위한 오픈소스 프로젝트카멜레온(Chameleon)을 만든 것이다.

카멜레온 프로젝트를 보면 션 헤버(Sean Heber)와 크레이그 호켄베리(Craig Hockenberry)를 찾으실 수 있다. Iconfactory의 개발자들이다. 이 둘은 카멜레온을 만든 이유로, Twitterrific for the Mac의 최신 버전을 예로 들었다. Twitterrific for iOS의 유명 기능을 많이 들여왔기 때문이다. 프로젝트 페이지에 따르면, Iconfactory는 코드를 iOS에서 맥으로 들여올 때 코드 중 25%만 사용하였지만, iOS UIKit을 새로운 프레임웍으로 옮기자 그 사용도가 90%로 올라섰다. 이 새로운 프레임웍이 카멜레온이다.

헤버와 호켄베리는 UIKIt을 데스크톱 환경으로 포팅시킬 때, 멀티터치 이벤트와 스크롤링의 비일관성 등 여러 가지 어려운 사항이 있다고 지적한다. 호켄베리의 말이다. "카멜레온은 만병통치약이 아닙니다. 물론 iOS 앱을 재컴파일만 해서 맥에서 마술처럼 돌아가게 할 수 있지만, 그런 것은 권장하지 않아요. 애플은 앱스토어의 앱의 모양과 돌아가는 것이 맥, iOS 동일하기를 바라죠."

iOS에서 강조하던 것 중 절대로 애플이 해결하지 않는 사항들이 몇 가지 있었다. 그래서 팀은 9개월 동안 안정적인 대체제를 작업하였다. 카멜레온은 UIKit의 대체품이라 불리지만, 사실 iOS 앱을 맥에서 돌아가게 하기 위해 필요한 것은 그것 뿐이다. 수상한 코드는 없으며, 애플과 불화를 일으킬만한 코드도 없다. 카멜레온 사이트에 따르면 이러하다. "이 새로운 프레임웍은 애플이 iOS용으로 해 놓은 것을 클린 룸으로 구현시켰습니다. 애플 문서에 기반하는 코드로 만들었으며, 프라이빗 API나 그 외 맥 앱스토어가 허용하지 않는 기술로 만들지 않았습니다."

하지만 앞으로 애플이 UIKit에 대한 문제를 해결하려 하지 않을까? 그렇다면 카멜레온과 같은 것을 어째서 만드는가? 카멜레온 팀에 따르면 이렇다. "애플의 재능 있는 엔지니어들은 분명 이러한 장애물을 극복해낼 것입니다만, 그들이 현재 초점을 기울이고 있는 부분이 미래임은 분명합니다. 앞으로 30년은 맥오에스텐이 아니라 iOS에 미래가 있기 때문입니다." (지난 여름 수많은 iOS와 맥 개발자들이 본지에 결국은 iOS가 맥오에스텐을 삼키리라 보고 있다는 말을 한 적은 있지만, 가까운 장래에 그런 일이 일어나지는 않을 것이다.

What Apple says still goes

그럼에도 불구하고 헤버와 호켄베리는 애플 쪽 상황이 변화할 수 있으며, 카멜레온 개발자들도 거기에 동의하리라는 점을 인정하였다. "카멜레온과 같은 툴에 관심가진 개발자들이 얼마나 많은지 알게 되면 애플이 정책을 당연히 바꿀 수 있겠죠. 제일브레이크 SDK가 유명해지니까 오리지날 아이폰 SDK가 나오는 속도도 빨라진 것이리라 생각하잖습니까? 역사가 반복되면 정말 좋을 겁니다."

하지만 카멜레온 프레임웍에 나타나지 않을 것이 있다. 안드로이드나 윈도폰 7 지원이다. 카멜레온은 애플의 Core Animation 기술에 의존하고 있으며, 애플이 만약 자신의 지적재산권을 써드파티가 마음대로 활용하는 것을 옳지 않다고 결정내릴 경우, 카멜레온 팀은 카멜레온을 끌어내릴 수밖에 없다. 어차피 그것으로 돈을 버는 것도 아니다. 비록 프로젝트 기부금을 받고는 있지만($250에 T-셔츠 판매, $500에 T-셔츠와 아이콘 번들 판매 통한 기부이다), 두 개발자들의 주된 동기가 단순히 다른 개발자들을 도와서 일을 더 좋게, 더 빠르게 할 수 있도록 돕는 것 뿐임은 확실하다. 호켄베리의 말이다.

"T-셔츠 기부금으로 프로젝트를 더 잘 관리할 수 있도록 할 수 있기를 바랍니다. 이 코드를 다른 개발자들에게 라이센스하는 것도 생각해 본 적이 있지만, 하지 않기로 하였어요. 카멜레온 프로젝트는 공개 협력으로 이뤄질 것이며, 개발자들이 애플이 발명한 코드를 사용하는데 거기에서 돈을 받는 것은 좋은 아이디어가 아니에요."

하지만 이 프로젝트는 아직 초창기 상태이며, 호켄베리는 더 많은 개발자들이 카멜레온 프로젝트를 도와주기 바라고 있다. 그의 말이다. "카멜레온 프로젝트의 문서화가 시급합니다. 코드는 물론 개발자들이 카멜레온이 어떻게 돌아가는가를 알아야 하기 때문이죠. iOS 앱을 맥 환경으로 적응시키는 포팅 가이드도 될 것입니다. 자기 제품에 대해 새로운 시장이 생기는 것이니까, 우리가 하는 일을 기뻐하는 개발자들이 많이 있어요. 시간과 노력이 좀 더 있으면, 훌륭한 iOS 앱이 맥에서도 훌륭한 앱이 될 것입니다."

이상