웹마스터 팁

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 정도로 기능 구현이 가능한것) 티타늄에서도 쉽게 만들 수 있지만, 백그라운드 작업이나 푸시같은것이 네이티브 에 대한 배경지식이 필요한부분은 만들기 어려울 것 같다는 느낌은 받았습니다.

제목 글쓴이 날짜
XE 업데이트 방법 - 제1편 (0.x.x / 1.0.x / 1.1.x / 1.2.x 에서 1.2.4 버전으로 업그레이드) [38] file Gekkou 2009.11.19
XE를 앱으로, 티타늄 및 폰갭(Cordova) 사용기 [1] AJKJ 2014.08.28
익명게시판에서 관리자가 글 수정시 글의 권한이 넘어가지 않도록 하기. [5] 소시덕분에힘받아요 2014.06.11
홈페이지 제작 시, 개인정보관련/회원가입약관 처리에 대해서 [1] 양파F 2014.08.23
관리자 게시판 목록에서 브라우저 제목 클릭시 새창으로 뜨도록 수정 [2] sejin7940 2014.08.26
관리자페이지의 '서버정보출력'에 '절대경로' 가 출력되게 하는 방법 [3] sejin7940 2014.08.26
XE 알림센터 Lite 사용시에 쪽지나 호출에 대해서만 알림음을 적용하기 [17] SeungXE 2014.07.06
사용자 정의를 활용하여 폼 형식으로 개발하는 무식한 방법(2) [5] Reminisce 2014.08.22
사용자 정의를 활용하여 폼 형식으로 개발하는 무식한 방법(1) [6] Reminisce 2014.08.22
CafeXE (homepage 모듈) 메뉴노출 권한오류 수정안. Xiso 2014.08.22
사이트 디자인 설정에서 레이아웃 저장이 안될시 고치는 방법 [1] LoteM대한천자 2014.07.28
스케치북 게시판 메뉴얼 [1] socialskyo 2014.08.21
jquery 이미지 이펙트 플러그인 Ansi™ 2014.08.19
게시판의 관리자가 최고관리자의 글을 지울 수 없도록 하기 [1] file BJ람보 2014.08.18
이거 어디다 올려야 될 지 몰라 여기다 올립니다. 프로그래머님들 읽어보세요. [2] 유샤인 2014.06.10
외부 페이지 작업시 페이징 작업 함수 Happyphp 2014.08.12
관리자설정-> 관리자 메뉴설정 에서 삭제가 안 되는 현상 수정하는 방법 [1] sejin7940 2014.08.11
F12개발자도구를 열었을때 IE버젼이 낮게 나온다면 pezex 2014.08.11
글읽기 권한 없을때 회원가입창으로 유도하는 방법 (XE1.5수정) [10] sejin7940 2011.08.23
룰셋을 폼 필터처럼 Ajax로 사용하기 Lansi 2014.08.08