'webapplication'에 해당되는 글 1건

  1. 2010.01.03 HTML5, WebApplication 생각
web2010.01.03 12:32
2009년은 HTML5가 대중적으로 많이 알려진 해였다.

1. 히스토리
히스토리를 간단히 보면,
- 1998년 HTML4가 나온 이후로 W3C에서는 전혀 HTML이 업데이트하지 않고 있었음 (xHTML를 밀고 있었던 시기)
- 2004년 WHATWG community (Google, Apple, Opera 등에서 주도함)에서 "HTML5"를 자체적으로 스펙 정의하기 시작함 (W3C는 계속 xHTML...)
- 2006년 이후 xHTML은 업데이트되지 않고 있음 (xHTML cancelled).
- 2008년 결국 W3C에서 HTML5를 규정하기 시작함 (WHATWG에서 규정한 것들을 가져옴).

여기까지 보면 결국 W3C는 너무 학술적이었고 웹은 급속히 발전했기 때문에 구글과 같은 인터넷 회사가 주도하게 된 것을 알 수 있다.

2. HTML5의 주요 특징
아래와 같이 5가지 특징으로 설명될 수 있다.
2.1. Vector Graphic (Canvas, SVG)
 - HTML, Javascript와 함께하면 그래픽을 마음대로 주무를 수 있음(Interactive).
 - SVG는 High-level: Import/Export, Easy UIs, Interactive, Mediudfm Animation, Tree of objects
 - Canvas는 Low-level: No mouse interaction, High animation, JS centric, More Bookkeeping, Pixels
 - Chrome, FF, Safari, Opera 이미 지원

2.2. Video (HTML5 standard)
 - <video> as easy as <img> (Flash와 같은 Plugin 불필요)
 - Chrome, FF, Safari, Opera 지원

2.3. Geo locations
 - Geo관련 스크립트 클래스가 있음.
 - ex)  navigator.geolocation.getCurrentPosition(function(position)
 - 위치기반 어플리케이션은 Augment Reality과 결합해서 2010년에는 더 많은 어플리케이션이 나올 것으로 보임.
 - Mashable의 2010년 LBS 예측을 봐도 느끼지만 모든 회사들이 서로 선점하려고 할 것이고 완전히 모바일 깊숙히 자리잡을 듯 하다.

2.4. Application Cache and DB
 - App Cache는 원하는 리소스를 오프라인으로 선언하면 됨.
  CACHE MANIFEST로 선언함. cache.manifest 파일에 내용을 적으면 됨.
 - Local DB는 Google IO 개념과 거의 동일 (역시 구글!!)
var db = window.openDatabase("NoteTest", "1.0", "Example DB", 200000);
db.transaction(
 - 이로 인해 WebApplication의 weak point였던 사용자 데이터 Load/Save가 이제 가능해짐.

2.5. Web workers
 - A more powerful web = a more power ful app.
 - Javascripts가 백그라운드로 동작한다? -> Web Workers
var worker = new Worker('worker.js');
worker.onmessage = function(event) {
console.log('Results: ' + event.data);
}
// workers.js
function findPrimes() {
// ...
}

아래 HTML5 소개 동영상을 보면 더 자세히 설명하고 있다.




3. HTML5의 지원군들
현재 WebOS+WebApplication은 iPhone, Android의 OS+NativeApps과 비교해서 아래와 같은 단점이 있어 장점이 잘 보이지 않는다.
- 느리고 무겁다
- UI가 플랫폼에 최적화되어 있지 않다 
- Interactive하지 않다
- Offline에서 동작하지 않는다.
하지만, HTML5가 대부분의 단점들을 극복하고 있다.

3.1. Web OS
하지만, HTML5+α라면 달라질 수 있다. 그 알파(α)는 바로 WebOS 혹은 WOA(Web Oriented Architecture)가 될 수 있다.

위의 그림은 현재 기존 "HTTP+HTML"이라는 Web의 형태에서 얼마나 많은 기술적, 문화적 발전이 있어왔는지를 잘 보여주고 있다. 
이러한 구조는 Google Chrome 이나 Palm WebOS가 하나의 예를 보여주고 있다고 할 수 있다.
그런데 어찌됐든 느린 단점은 극복될 수 있을지 잘 모르겠다. -_-;

3.2. Mobile Web
HTML5는 MobileWeb환경에서 더욱 빛을 발할 것으로 보인다.

이유는,
 - Mobile 환경은 플랫폼이 매우 다양하다. 물론, 이 다양성으로 시장이 커지고 있지만 MobileWeb은 어떤 플랫폼이든 관계없이 탑재된 브라우저가 지원된다면 MobileWeb 기반 서비스들을 사용할 수 있다.
 - Mobile 환경 디바이스들은 PC 등의 서브로 사용되든지 아니면 동시에 사용되지 완전히 단독으로 사용한다고는 아직까지 볼 수 없다. 따라서, 다양한 환경의 디바이스들을 사용하는 사용자들은 자신의 데이터 동기화나 동일 UI를 선호할 것이다. 즉, MobileWeb은 그런 점에서 Native에 비해 우세하다 (사실, 정말 우세한건지는 잘 모르겠다. 왜냐면 Native도 이미 그런점을 다 극복하고 있기 때문에...)

그 중에서 Fennec (Mobile Firefox)브라우저가 올해 공식 출시될텐데 대략 아래와 같다 (동영상 참고).
 - Nokia가 주도하는 Maemo 플랫폼에 탑재되고 N900 출시.
 - HTML5의 offline storage 지원
 - HTML5의 Javascript, including Javascript access to device capabilities like geolocation, camera, and calling

3.3. Cloud Computing / SaaS (Software as a Service)
클라우드 컴퓨팅하면 구글이다.
Search, Gmail, Docs, Reader, Map, Picasa 등 구글의 GMS(구글 모바일 서비스)들은 모두 구글의 클라우드 서비스 안에 놓여있다. 즉, 온라인 상태에서 동작하는 어플리케이션들이다.
하지만, HTML5의 "Application cache and DB" 기능으로 인해서 오프라인에서도 동작이 가능하게 된다.
구글의 "구글 기어스"가 좋은 예이다.
아마존도 웹서비스회사라는 것은 이미 다 알고 있을 것이다.
SaaS라는 용어는 아마존에 더 어울릴 듯 하다.
2000년 초반에 MS의 닷넷이 나올 때만 해도 이 분야는 MS가 뭔가 보여주는 줄 알았는데 대중적으로는 다 구글 세상이다.


4. 정리
HTML5는 이제 거의 모든 브라우저에서 지원되고 있으며 구글 등의 메이저 회사들이 전폭적으로 지원하고 있다. 따라서, 2010년에는 HTML5를 이용한 웹어플리케이션 및 웹서비스들이 더 많이 늘어날 것으로 보인다.
특히, 아이폰, 안드로이드, 팜프리와 같은 모바일 디바이스에서 HTML5를 풀지원하게되고, Fennec과 같은 브라우저가 합세한다면 웹어플리케이션이 많아질 것으로 보인다.
하지만 웹 어플리케이션이 기존 어플리케이션을 완전히 대체하는 것은 어렵다고 본다. 
결국, 각자 용도에 맞게 어플리케이션들이 만들어질 것이며 이전보다는 웹 어플리케이션의 비율이 조금씩 늘어날 것으로 본다.

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by JYoung Shin 신재영 aquicker

티스토리 툴바