하이브리드 Application 개발 툴 Appspresso
IOS, Android, Mango, bada 와 같은 스마트 단말 OS는 각각의 장단점이 있지만, 개발자나 개발사의 입장에서는 이렇게 다양한 OS는 각 OS별 개발을 별도로 해야 한다는 점에서 참 짜증나지 않을수 없다.
개발자들이 각 OS를 보는 시각은 IOS의 Object-C 와 같은 경우, 개발된 어플리케이션의 속도가 빠른 장점이 있지만, 개발을 위해 맥북이 있어야 하고, C 스타일, pascal 스타일에 예전 tcl/tk 스타일을 섞어 놓은듯한 문법이 굉장히 어색하다. 게다가 99달러를 내지 않으면 자기 단말에도 못 올리는 애플의 정책..
안드로이드의 경우 java 및 기타 여기저기서 가져다 쓰고 있는 IDE tool인, 개발자에겐 이미 익숙한 이클립스를 사용한다는 것, java 문법과 활성화된 국내 커뮤니티가 많다는 점, 쉽게 개발하고 단말에 간단히 설치할 수 있다는 장점이 있지만, 속도가 느리다는 것, 문법은 Java지만 API는 별도로 익혀야 한다는 점 등이 비용문제를 초래한다.
그래서 등장한 것이 하이브리드 앱이다.
Application의 외형은 일반 Application처럼 생겼지만, 이 내부에 Webkit을 적재하고 있어서 실제 화면 내용은 웹 화면으로 구성할 수 있기 때문에 수많은 웹개발자를 유인할 수 있다는 장점이 있다.
어플리케이션을 HTML + SCRIPT로 만들수 있는 것이다.
그런데 여기서 문제는 단말기의 GPS, 자이로센서, 카메라, 앨범, 기타 파일 등 과 같은 Local resource에 접근할 수 없다는 점이다.
Local resource에 접근하지 못한다면, Application 기능에 엄청난 제약 사항이 될 것은 뻔한것..
그래서 등장한 것이 Local resource 제어 스크립트로 "폰갭" 및 몇몇 API들이 등장했다.
그런데 폰갭은 세계 이통사들이 제안하고 W3C에서 표준으로 인정한 WAC표준을 따르지 않고 있으며, 툴 없이 라이브러리만 제공하고 있기에 이것 역시 별도의 공부가 필요하다.
N-Screen 연구과제를 위한 단말 Application을 KTH와 공동으로 진행하게 되면서, KTH의 Appspresso를 알게 되었다.
이 Appspresso는 멀티 OS ( 현재는 IOS와 Android )형 하이브리드 어플리케이션을 자동으로 생성해 주는 개발툴로 비표준인 "폰갭"이 아니라 "와이키키" API를 채용하고 있다.
IDE 개발툴은 "이클립스"를 사용하고 있다.
무엇보다 on The Fly"라는 디버깅 기능은 단말이 연결되지 않는 상황에서도 IDE로 자신의 로그를 전송하는 기능이 있고 function을 커맨드 창에서 호출할 수도 있으며, 변수값을 개발자가 실시간으로 바꿀수도 있는 장점이 있다.
또 소스코드가 수정되었을 경우 재 compile 없이 저장과 함께 단말에 반영할 수 있어서, Android 어플 같은 경우의 소스 포팅 시간을 단축 시킬수 있다.
일단, Appspresso를 사용하기 위해서는 IOS용 SDK와 Xcode를 설치해야 하고 Android용 SDK는 R14이상이 설치되어 있어야 한다. Android SDK는 JDK를 필요로 하니 역시 설치되어 있어야 한다.
이하 설치 관련 : http://appspresso.com/ko/developer-ko
1. SDK 매니져에서 R14 이상으로 설치
2. Appspresso 에서 compile
3. Debug모드로 compile후 실행하면 Appspresso 하단 on The Fly"에 디버그 메세지 및 command를 날릴수 있는 커맨드 창이 뜬다.
4. Script로 카메라 제어 ( 화면의 네모 작은창에 카메라 View가 동작하고 있다 )
5. 가속기 제어 ( HTML5의 Canvas로 그린 노란공이 단말기의 움직임에 따로 움직이고, x y 좌표가 디버그 창에 표시된다. )
스크립트로 이 정도로 가능하다면 굳이 힘들게 Native code로 Application을 만들 필요가 없을 것 같다.
내년 1월~2월에 전남대학교와 울산대학교에서 샘플 Application을 만들어 강의할 계획인데, 이거 학교도 학생들도 상당히 관심을 가져볼만 한 것 같다.
기업의 입장에서도 현재 스마트 단말 어플 제작에 상당한 비용을 지출하고 있을텐데, Appspresso로 이처럼 제작이 가능하다면 하이브리드 앱으로 가는게 상당히 메리트가 있어 보인다.