Sencha Touch 2.0 이 베일을 벗었다.
그동안 Sencha Touch 2.0 Preview 가 올해 여름에 나올 것이며 Ext.JS 와 상당한 결합이 있을 것이라는 것만 알려졌었는데 이번에 구체적으로 모습을 드러낸 것이다.

가장 큰 변화는 Native Packaging 이다. 한마디로 PhoneGap 기능이 내장 되었는데,
단순 Native Packaing 뿐 아니라 Device APIs 접근 까지 가능 하도록 하였다.

이제는 점점 웹앱 개발과 Native App 개발 사이의 경계가 사라지는 모습이 반갑운 일이다.

Previewing Sencha Touch 2

 

사이트에 소개되어 있는 특징들을 집어보면서 약간의 의견을 덧붙여 보자

Native packaing

웹앱을 iOS/Android 네이티브 앱으로 만들기 위해 랩퍼 솔루션(PhoneGap 과 같은 것들)을 사용 할 필요가 없어졌다. 자체 내장하고 있기 때문인데, 명령어 한번에 iOS/Android 네이티브앱으로 떨어진다. 이것들을 손쉽게 앱스토어나 안드로이드 마켓에 올릴 수가 있게 된 것이다.

사실 PhoneGap 등의 도움을 받아서  지금도 할 수 있는 기술이지만, 몇몇가지 궁합이 맞지 않던 것들이 있어 왔다.
가령 기기를 회전(가로보기/세로보기) 할 때 폰갭으로 감싼것과 아닌 것의 차이가 있었는데  이번에 자체 지원하게 되었으므로 이러한 문제점들이 사라질 것으로 보인다

 

Device APIs
사실 HTML5 에서 지원해주는 Device APIs 는 몇개 없어 사용제 제한이 있어 왔다. 그래서 Sencha Touch 2.0에서는 Native로 패키지 할 때 네이티브 Device APIs 를 다룰 수 있도록 라이브러리를 제공한다. Sencha Touch 에서 이제 마음껏 Device APIs 를 사용 할 수 있게 되었습니다. 카메라/가속센서/미디어재생/주소록접근 등 몇가지가 있는데 물론 Native 패키징 할 때 사용 할 수 있다 (이점도 PhoneGap 의 Device APIs 부분과 비슷하다 볼 수 있다)

Layouts are getting much faster
레이아웃 컴포넌트들이 구조적(근본적)으로 빨라 진다. 더 빠르게 시작되고, 빠르게 화면에 그려진다. 화면 전환(가로보기/세로보기)도 눈에 띄게 좋아진다.
하지만, 그동안의 Sencha Touch 버전업을 지켜보면, iOS는 이미 충분히 빠르고 Android는 120% 200%씩 빨라 졌다고 해도 항상 부족한 점이 많았다. 이번에도 기대는 해보겠지만 반신반의해 보인다.
(안드로이드에서 특히 애니메이션쪽이 느린것은 안드로이드의 브라우저가 CSS를 하드웨어 가속하지 못하는 문제 때문이기에Sencha Touch가 아무리 좋아져도 어쩔 수 없는 부분이 있다.)

Event Handling
특히 안드로이드쪽 이벤트 처리가 향상 되었다. 여러가지 플랫폼(기기) 마다 이벤트의 감도(rates)가 다른데, 이것들을 보정 되었다.

Image based themes
Sencha Touch 의 화면은 CSS로 구성되어 있고 이러한 CSS의 모임을 Theme로 부른다. 이러한 Theme는 SASS를 통해 변경할 수 있있다. ( SASS는 CSS를 한번에 대량으로 변경해주는 도구라고 보시면 됩니다.)
Sencha Touch 2.0 에서는 이러한 SASS를 통한 CSS/Theme 변경 이외에 이미지 기반의 Theme 기능도 제공한다. 특히 CSS 처리가 느린 브라우저에서는 특히 효과를 볼 수 있는데 이로인해 윈도우즈 폰에도 탑재가 가능하게 되었다.
사실 SASS를 통한 Theme 변경이 쉽지 않았던 점이 있다. 아무래도 CSS 처리다 보니 높은 숙련도가 요구되고 디자인적 자유도가 떨어지는 부분이 있었는데 이미지 Theme 기능을 통해 어느정도 해소 되기를 기대해 본다.

 

얼마전에 발표된 Charts 기능과 Sencha Touch 2.0 Preview 를 통해 살펴보면,
비슷한 프레인워크 중에서 가장 앞선 모습을 보이고 있는 것을 알 수 있다.

주목할 점은 역시 네이티브앱 시장으로의 확대로 볼 수 있고, 정확히 필요했던 기능이 아닌가 싶다.
어떤 모습으로 나타날지 기대가 되는 부분이다.

 

– 미래웹기술연구소 책임연구원 김종광

  • Twitter : @jongkwang
  • E-Mail : jongkwang@w3labs.kr