UWA(Universal Widget API)

Posted 2007. 3. 20. 03:04
개인화 홈페이지로 유명한 NetVibes사가 Universal Widget API(UWA)라는 걸 내놨습니다. 기술적인 내용은 간단합니다. Google IG나 애플 Dashboard 등 어차피 비슷한 기술(자바스크립트, HTML, CSS)을 사용하는 위젯 플랫폼들이다 보니 위젯을 한 번 작성해서 모든 플랫폼에서 돌려보자는 겁니다.

방식은 간단합니다. XHTML 파일 하나에 XHTML, CSS, 자바스크립트를 다 때려 넣고, 모든 엘리먼트 접근과 이벤트 처리는 UWA API를 통해서만 합니다. 그럼 각각의 위젯 플랫폼에 UWA 환경(API)를 포팅해주기만 하면, 위젯을 한 번 작성해서 여러 플랫폼에서 돌릴 수 있는 거죠.

또한 아직 종류가 많지는 않지만 일종의 템플릿 위젯 기능도 제공합니다. RSS 리더 같은 건 RSS 종류랑 스킨만 바꿔서 여러 가지 위젯을 만들 수 있는 데 이런 걸 일종의 템플릿으로 제공하는 거죠. 애플 Dashboard에도 비슷한 기능이 있었던 것으로 기억합니다.

이런 기술이 가능한 이유는 기존 위젯 플랫폼이라는 게 사실 껍데기만 다르지 실제로 하는 짓이나 기반 기술은 별반 차이가 없기 때문입니다. HTML (혹은 일부 자체 XML), CSS, 자바스크립트라는 모델도 유사하고, 할 수 있는 API도 별 차이가 없습니다. 심지어 데스크톱 위젯이나 브라우저 위젯이나 별 차이가 안 납니다. 결국은 공통적인 요소들 모아서 별도의 위젯 플랫폼을 정의하고, 다른 플랫폼 위젯으로의 전환은 자동화될 수도 있는 수준이라는 거죠.

앞선 글인 위젯 플랫폼에서 이야기한 것처럼 조금 더 고수준의 마크업 언어와 API를 정의한 후에 저수준의 기존 플랫폼으로 변환(XML 스타일쉬트와  API 포팅)하면 얼마든지 여러 플랫폼으로 포팅이 가능할 수도 있고 더 의미가 있을 것 같네요. UWA는 API 부분만 한 셈인데, XHTML 대신에 UI 요소를 나타낼 수 있는 조금 더 고수준의 별도 마크업을 사용했으면 어땠을까 하는 아쉬움이 남습니다.