본문 바로가기

공부방/Sencha touch

Sencha Touch 기술 현황과 전망

about Sencha Touch

모바일웹 사이트를 준비하시는 분들은 Sencha Touch 와 jQuery Mobile 프레임워크에 대해 한번씩은 들어 보았을 것이다. 이것들 중 ‘가장 강력한 모바일 UI 프레임워크’ Sencha Touch 에 대해 글을 쓰고자 한다.

 

 

모바일 UI Framework

 

 


대게 프레임워크 하면 Server-Side에 설치되는 경우가 보통이었다. Struts 프레임워크가 그러하고 Spring 프레임워크가 그러하였다. 대부분의 클라이언트들은 데스크탑과 노트북을 이용하여 서버에 접속하였고 항상 온라인 상태를 유지하기 때문에 Server-Side 에서 데이터를 가공하여 표시하는 것이 중요했다.
그러던 것이… 모바일 환경이 도래하면서, 기존의 환경과는 다른 모습이 생겨났다. UI/UX가 중요해진 것이다. 화면은 PC의 그것보다 반의 반도 안 되는 작은 화면에 다양한 UI/UX적인 아이디어를 동원하여 효과적으로 표시할 방법이 필요해지고 오프라인에서도 서비스를 제공해야 하며 클릭이 아닌 터치 이벤트를 처리해야 한다.  이러한 것들은 Server-Side 기술로는 해결 할 수 없어 Client-Side 기술이 발전되어 프레임워크까지 발전 되었다

Sencha Touch

이러한 프레임워크로 가장 먼저 나온 것이 Sencha Touch 이다. (2011년 11월 16일 출시) 이전에도 비슷한 라이브러리들이 있었다. iUI, jQTouch 등 몇 가지 제품들이 있었으나 프레임워크라고 불릴 정도로 다양한 기능을 제공한 것은 아니었다.(대부분 개발이 중단 되었지만, 현재 사용하기에도 상당한 퀄리티를 제공한다)


iUI

jQTouch

 

Sencha Touch는 ExtJS 라이브러리를 기본 엔진으로 사용한다. ExtJS 는 웹사이트를 JavaScript로 제작하는 프레임워크인데 이것의 모바일 버전을 Sencha Touch라고 보는 것이 맞다.
Sencha Touch 는 ExtJS 라이브러리를 기본으로 하는 JavaScript 프레임워크이다. 개발을 대부분 JavaScript 와 ExtJS 함수로 이뤄지는데, JavaScript 를 통해 DOM 기반의 Object를 생성한다. 이러한 점이 “웹스럽지” 못하고 “앱스러운” 면으로 작용 하는데 Java의 AWT/Swing 이나 Flex 개발과 비슷하다고 할 수 있다. JavaScript 가 익숙하지 않은 많은 이들 사이에서 Sencha Touch 가 접근하기 어려운 이유이기도 하다.

지원기능과 성능(Performance)

Sencha Touch 는 여타 모바일 UI 프레임워크에 비해 상당한 기능들을 지원한다. Full JavaScript 로 구성되다 보니 그렇지 않은 프레임워크에 비해 디테일한 기능들의 조작도 지원하고, 나름 역사를 가지고 있는 ExtJS 기반이라 상단히 파워풀한 기능들을 제공해 준다.

이러한 "앱스러운" 화면 구성은 Sencha Touch가 유일하다

제공되는 기능들의 퀄리티도 가장 높다고 할 수 있다. 이는 API 들을 비교해서 확인 할 수 있지만, 간단하게 Demo 사이트만 비교해도 그 차이를 쉽게 느낄 수 있다. 경쟁 제품인 jQuery Mobile 이 할 수 있는 것은 모두 포함 하면서 훨씬 다양한 기능들을 제공 하고 있다.

다양한 화면 구성과 기능이 가능하다

대규모 웹 어플리케이션 개발

 

MVC 패턴 개발

MVC 패턴 개발

Sencha Touch 는 JavaScript 로 구성되어 있다 보니 어려운 것이 사실이지만, 대규모 웹 어플리케이션 개발하는데 있어서는 이것이 장점이 된다. 바로 JavaScript 의 상속과 OOP 적인 측면이 소스코드의 재사용성을 높여준다. 웹 사이트나 웹 어플리케이션을 제작하다보면, 약간의 차이만 있고 비슷한 기능/화면 등이 여럿 있다. 이러한 것들은 하나의 대표 객체로 구성할 수 있으며, ExtJS 의 기능을 사용 할 때에도 상속과 오버라이딩(Overriding)을 통해 커스터마이징(Custormizing) 할 수 있기 때문이다. 이것들을 이용하면, MVC 패턴으로도 구성이 가능하여 대규모 개발시에 큰 도움이 된다.

Sencha Touch 2.0

올해 여름에 Sencha Touch 2.0 Preview 를 내놓는다는 Roadmap을 발표했다. 이제 알파버전을 지나 베타1에 진입한 jQuery Mobile 에 비하면 상당한 개발 속도이다. 이 Sencha Touch 2.0 에서는 차트(Chart)도 지원 한다고 하니 그동안 가우스(Gauce)나 트러스트폼 등의 솔루션을 이용했던 곳에서 손쉽게 모바일 오피스 환경을 구축 할 수 있을 것으로 보인다.

Sencha Touch 2.0 그리드 지원

Sencha Touch 2.0 그리드 지원

 

또한 Ext Designer 2.0 을 통해 Sencha Touch 를 쉽게 개발 할 수 있도록 할 전망이다. Ext Designer 2.0 은 올해 가을 출시 예정이며, 마우스 클릭 몇 번으로 웹 어플리케이션을 쉽게 만들 수 있어 그동안 Sencha Touch 가 어려워서 사용하지 못했던 문제점을 어느 정도 해소 할 것으로 기대된다.

Ext Designer

 

출처 : http://w3labs.kr/?p=728