'제이쿼리(jQuery)'는 자바스크립트 라이브러리 기술로써 각 브라우저 사용자 환경에 알맞은 서비스를 간편하게 개발하면서 개발자들이 웹표준 기술과 접근성 요구에도 대응하는 모양새다. 제이쿼리 라이브러리와 UI는 데스크톱과 환경이 다른 모바일 브라우저에도 알맞은 서비스와 레이아웃을 제공할 것으로 기대된다.
더불어 기존 웹문서 표시언어(HTML)에 수많은 자바스크립트 API 규격이 추가돼 다양한 웹애플리케이션 출현을 예고한 HTML5 표준 움직임과도 맞물려갈 전망이다. 웹표준화기구 월드와이드웹컨소시엄(W3C) 대한민국 사무국 담당자가 국내 제이쿼리 관련행사에 참석해 HTML5 표준화 동향과 웹기반 운영체제(OS) 발전 방향을 제시해 눈길을 끌었다.
12일 서울 르네상스 호텔서 열린 '제이쿼리컨퍼런스아시아2012'에서는 오픈소스 자바스크립트 라이브러리인 제이쿼리로 비동기 스크립트를 동기식으로 돌아가게 만드는 노하우가 소개됐다. 애플리케이션 프로그래밍 인터페이스(API)가운데 '디퍼드(Deferreds)'와 '콜백(Callbacks)'을 써서 웹을 동기식 서비스처럼 만드는 요령이다.
■제이쿼리, 비동기 환경을 동기식으로
댄 헤버든 제이쿼리 파운데이션 기술담당 이사는 모바일솔루션업체 인크로스가 세미나를 진행하며, 제이쿼리로 동기식서비스 개발을 간편화하는 노하우를 설명했다.
일반적으로 웹은 기본적인 성질이 실시간성을 보장하지 않는 비동기(Asynchronous)적 환경이지만 최근 시시각각 바뀌는 정보를 웹페이지 로딩이 끝난 브라우저에 즉시 전달해주는 동기(Synchronous)식 서비스가 증가 추세다. 웹기반 메신저, 게임, 위치기반서비스(LBS), 모바일기기 센서를 쓰는 서비스 등이 그런 예다.
그런데 현재 양방향, 실시간성을 웹애플리케이션에 구현시 OS에서 돌아가는 네이티브애플리케이션에 비해 불리하다는 게 중론이다. 이를 위해 주로 '에이잭스(AJAX)'라 불리는 비동기 자바스크립트 코드와 XML방식 데이터 처리기술이 쓰인다. 다만 그냥 개발할 경우 실용적인 서비스 구현을 위해 코드 복잡성이나 오류 대응에 부담이 큰 것으로 평가됐다.
헤버든 이사에 따르면 일반적인 에이잭스(AJAX) 개발환경에서 개발자가 해당 서비스를 안정적으로 관리하기 어렵거나 기능 오류를 혼란을 겪기 십상이었다. '디퍼드'나 '콜백', 프로미스(Promise)' 등 제이쿼리에서 제공하는 처리 타이밍 제어 API와 메소드를 통해 해당 문제를 완화할 수 있다는 설명이다.
그는 비동기적인 애니메이션이든 뭐든 타이밍이 완벽하지 않은 요소들을 다룰 때 컴플릿핸들러같은것을 이용해 모든 엘리먼트가 처리된 다음 함수를 실행하도록 만들 수 있다며 (제이쿼리의 해당 API들을 통해) 스크립트 흐름을 제어하거나 비동기 명령어들을 쉽게 관리하고 잠재적이던 활용방식을 유효화할 수 있다고 주장했다.
■제이쿼리1.9와 로드맵
이어 크리스 보처스는 제이쿼리 사용자인터페이스(UI) 프로젝트 현황을 소개하고 1.9 버전부터 적용되는 '위젯(Widget)' 관련 내용을 설명했다. 제이쿼리UI 라이브러리를 안정화하고 버그를 수정하고 API사이트와 공식사이트를 업데이트했다고 덧붙였다.
그는 주목할만한 위젯 기능 관련 변화로 객체 '호버(마우스 커서가 올라갔을 때)'와 '포커스(선택상자 위치를 맞춰놨을 때)' 스타일링을 간소화하고 위젯을 파기할 때 , 이벤트 '바인딩'과 '언바인딩'을 간소화하고 '네임스페이스' 처리와 '이벤트 델리게이션'을 지원하며 '언더스코어 딜레이(_delay)' 기능을 추가했다고 언급했다. 이어 제이쿼리 파운데이션은 1.9 버전 이후 지원되지 않을 API를 호환시킬 방법과 더불어 1.10, 1.11, 2.0 버전에 대한 계획도 제시했다.
우선 1.10버전에선 '다이얼로그'와 '프로그레스바' 접근성을 높일 방침이다. '인디터미닛 프로그레스바'란 기능으로 작업중인 내용이 애니메이션이든 진행상황 표시든 가능케 할 방침이다. 더불어 파일 편집 등을 지원하는 '메뉴바'와 완전한 스타일링을 지원하는 '셀렉트메뉴'라는 위젯이 추가된다.
더불어 1.11버전에선 접근성 리뷰와 업데이트를 병행하며 입력값 형식을 지정하는 '마스크'와 시간값 입력을 효율화하는 '타임피커' 위젯을 넣을 계획이다. 2.0 버전부터는 인터랙션 영역을 마우스입력 외에 터치로 끌어다놓기 등 다양한 상호작용이 가능해지도록 재작성하고 폼 컨트롤 개선, 스크린리더에 호환성을 높여주는 접근성 지원도 예고했다.
■HTML5와 웹OS
W3C 이원석 HTML5 대한민국관심그룹(KIG) 의장 겸 W3C 시스템애플리케이션 워킹그룹(WG) 공동의장은 현장에서 'HTML5와 웹OS의 새로운 시대'를 주제로 웹표준 기술과 HTML5 지원 단말기 확산 흐름을 지적했다.
이 의장은 HTML5를 이동성을 지원하는 네이티브 앱 수준의 앱개발이 가능한 플랫폼으로 규정하고 설치없이 항상 최신 버전을 실행하며 모바일, TV, 데스크톱 등 여러 플랫폼과 디바이스에 같은 기술을 사용해 업계 상호운용성을 보장한다는 가치를 강조했다.
이 의장은 오는 2014년까지 웹기술이 기업 애플리케이션시장의 주류가 되고 2015년까지 개발되는 모바일애플리케이션 80%가 하이브리드 또는 모바일웹 중심일 것이라는 관측을 제시했다. 더불어 삼성전자와 인텔이 개발중인 모바일OS '타이젠', HP에서 다뤄온 '웹OS', 모질라 재단이 개발하는 '파이어폭스OS' 등 웹기술을 전면에 내건 모바일플랫폼 개발 현황을 소개했다.
관련기사
- 내달 웹기술 '제이쿼리' 컨퍼런스 열려2012.11.12
- 모질라 "이것이 파이어폭스폰"2012.11.12
- HTML5 표준의 꽃 '웹소켓'…뭐길래?2012.11.12
- 어도비, HTML5 콘텐츠 플랫폼 공개…'양다리 걸치기'?2012.11.12
이같은 오픈소스 모바일OS 플랫폼 개발 움직임은 오는 2014년 완료될 HTML5 표준화 계획과 나란히 진행될 것으로 추정된다. 그해 4분기 HTML5.0 표준안(REC)이 확정될 예정이며 그 2년뒤 2016년 4분기까지 HTML5.1 버전 등 후속판 개발을 통해 세부 기능을 더해갈 전망이다.
더불어 이 의장이 속한 W3C 시스템애플리케이션 WG은 네이티브애플리케이션에 견줄만한 웹애플리케이션을 만들 수 있도록 웹에서 돌아가는 API와 보안모델과 실행환경을 정의하는 일을 맡는 조직이다. 활동기간은 지난 9월부터 오는 2014년 10월까지며 초기 주력분야는 실행과 보안보델, 구현에 초점을 맞춘 기술은 알람, 주소록, 메시징, 전화, 로 소켓 등이다.