웹마스터 팁
XE를 앱으로, 티타늄 및 폰갭(Cordova) 사용기
2014.08.28 01:38
XE를 앱으로 만들어 보려고 하면서. 폰갭과 티타늄을 건드려 보았습니다.
결론은 그냥 Android를 배우는 중입니다. 삽질방지를 위하여 후기를 적어봅니다.
PhoneGap 은 XE같은 온라인 홈페이지에 절대로 사용해서는 안됩니다. 사용한다 해도 매우 통제된 환경(ex. 인트라넷, 사내 홈페이지 전용, 전용앱)에서 사용해야 합니다. 이걸 모르고 열심히 공부하다가 갈아탔네요...
폰갭은 매우 쉽습니다.Javascript와 Phonegap에서 제공하는 JS api만 익히면 됩니다.
Javascript에 대한 지식이 있다면, 앱에 대해 전혀 모르는 사람이라도 폰갭 튜토리얼만 보며 1일내로 바로 제작이 가능합니다. 그러나 문제는 보안입니다. Phonegap의 핵심 개념이, 네이티브 환경 조작을 Javascript API 형태로 하겠다는 것인데, 문제는 다른사람이 XSS등으로 Javascript를 홈페이지에 쑤셔넣으면, XSS로 스마트폰를 네이티브하게 조작이 가능하다는;;; 치명적인 단점이 있습니다.
그래도 XE를 폰갭을 이용하여 앱으로 감싸고자 하면, 도메인을 고정하여(Domain WhiteList)사용하면 되는데(이러면 XSS가 먹히지 않아서 안전하지요, 다른도메인으로는 로딩 자체가 불가능합니다.), 이러면 앱 내에서 유튜브, imgur 등의 기타 다른 웹서비스를 전혀 이용할 수 가 없습니다. WhiteList를 여러개 등록하면 되긴 하는데, 그것도 한계가 있을것 같더군요. WhiteList 사용이 가능한 환경(인트라넷, 회사 전용 프로그램)에는 쓸만한 보입니다.
그 외 Apahce Cordova와 Phonegap의 차이로 인한 삽질 등이 있긴 한데, 그건 언급하지는 않겠습니다.
티타늄은 JQuery 같은 것이더군요.
서로 다른 운영체제(IE6-Chorme)에서 동일한 부분(버튼 생성, 웹뷰 생성 등등)을 Javascript API(JQuery API)로 추상화 시켜서 Native하게 앱을 만드는 겁니다. 문제는 아직 자료가 많지않습니다. 티타늄을 만든 Appcelerator 라는 회사에 절대적으로 의존적이며, stackoverflow 등에서 자료를 전혀 구할 수 없습니다만, 그래도 회사차원에서 만든 거라 문서화가 잘 되있어서 괜찮습니다.
티타늄에서 안드로이드로 갈아탄 이유는, 푸시를 수신할 경우 앱이 자꾸 꺼지더군요. 앱이 켜져있거나 백그라운드로 돌아가면 잘 되는데, 앱이 완전히 꺼지면(정상적인 종료) 푸쉬를 전혀 수신받지 못합니다. (이건 뭐 제가 제대로 이용하지 못한 것 같으나, 이 부분에 관해서는 어디서도 도움을 받을 수 없었네요.)
티타늄 만으로는Native(Javascript로 짜긴 하지만) 환경에 대한 배경지식 없을경우 앱을 만들기 쉽지 않을것 같다는 느낌을 받았습니다.. 안드로이드나 iOS를 대해 조금이나마 만져본 사람이 간편하게 앱을 만들기 위해 사용하면 괜찮겠지만, 그에 대해 전혀 배경지식이 없는 사람이 이용하기에는 조금 어려운 것 같다는 생각이 들었네요. 웹앱 정도의 단순한 것은(HTML5 + JS + CSS 정도로 기능 구현이 가능한것) 티타늄에서도 쉽게 만들 수 있지만, 백그라운드 작업이나 푸시같은것이 네이티브 에 대한 배경지식이 필요한부분은 만들기 어려울 것 같다는 느낌은 받았습니다.
알려주셔서 감사합니다. 저도 만들게 된다면 안드로이드를 배워야겠군요 ;;