이번 XTech 2008 컨퍼런스중 개인적으로 가장 도움이 되는 발표중의 하나였다. 한 분야의 흐름과 동향을 정리하는 만으로도 많은 노력이 필요하기 때문이다. 특히, 웹 브라우져의 경우 FireFox와 IE, 그리고 아이폰의 확산과 더불어 시장을 넓혀가고 있는 웹킷 계열, 그리고 마지막으로 숨은 강자 오페라 등이 치열하게 표준과 업그레이드 전쟁을 벌이고 있다. 이처럼 웹 브라우져 분야의 최신 동향을 정리하는 데 많은 시간이 걸린다.
운좋게도 W3C 모바일 분야에서 일하고 있는 Michael Smith가
모바일 플랫폼을 중심으로 웹 브라우져의 현황에 대한 정리를 해 주었다. 관심갖는 분들이 많을 것 같아 좀 자세히 정리해 본다.
1. 모바일 브라우져 현황
[ 오페라 - Presto 렌더링 계열 ]
-
오페라 미니4 (2007/11) / 오페라 9.5와 동일한 엔진
: 향상된 자바 스크립트 엔진 지원
: 프록시 모델(풀브라우징 아님)
-오페라 미니 / 안드로이드 포팅 버전
: J2SE로 구현한 J2ME 구현체인
MicroEmulator로 포팅함
:
J2ME/MIDP Call을 안드로이드 Call로 변환
: 데모로 확인해 보세요 ->
오페라 미니 데모[ 모질라 - Getko 렌더링 계열]
-
모질라 Fennec : 2008-04 pre alpha 빌드 릴리이즈
: 2008-08 첫번째 알파 버전 릴리이즈
: 현재 플랫폼으로는 리눅스(ARM,X86)
: 노키아의
Miamo를 위한 모질라 기반의 브라우져인
microB보다 6배 빠름
: 향후 윈도우 모바일도 지원할 계획임
-
SkyFire : 모질라를 기반으로 하여 오페라 미니같은 프록시 아키텍쳐
: 2008년 1월 발표 이후 큰 변화 없는 상태임
[ 웹킷 렌더링 엔진 계열 ]
-아이폰 사파리(웹킷)
:풀브라우징
:데스트탑 사파리와 동일한 웹킷 엔진 사용
-안드로이드 + 웹킷(2007.11)
: 안드로이드의 렌더링 엔진은 웹킷
- Trolltech의 크로스플랫폼 응용 개발 프레임웍인
Qt4.4 + 웹킷
:트롤텍은 노키아가 M&A 했음
- 노키아 S60 웹킷 포팅
: 2007-08 이후 공식적으로 언급된 바는 없음
: 들리는 루머로는 사파리3.1을 포팅하고 있다고 함
-윈도우 모바일 , 웹킷 포팅 관련
:
Iris browser ,
Wake3 풀부라우징, 아이폰의 확산, 안드로이드 등을 고려할 때 웹 부라우징의 렌더링 엔진으로는
웹킷이 가장 유력한 선두주자로 판단된다. 현재
웹킷의 경우 CSS를 강력히 확장하고 있는 것으로 알려져 있다. 물론 HTML5의 지원과 더불어..
2. CSS/DOM
웹 프로그래밍을 할 때 CSS,DOM 프로그래밍은 가장 중요한 부분이자 다중 브라우져 지원을 위해서는 고생을 많이 하는 부분이다. 왜냐하면 브라우져마다 지원하는 CSS 스펙과 DOM 관련 메소드가 다르기 때문이다. 몇가지 주요한 차이점은 다음과 같다.
- 네이티브 자바 스크립트 getElementsByClassName 메소드
현재 IE만 네이티브 지원이 안되고 Mozilla, WebKit/Safari 3+, Opera 9.5에서는 네이 티브로 지원을 하고 있다. 또한 HTML5에 포함되어 있다.
- DOM의 특정 엘리먼트를 추출해 오는
CSS3 Seleccors 지원 현황
Opera 9.5 and Safari 3.1/WebKit은 43개의 css3.info 테스트를 통과됨
Mozilla/Minefield는 43개 중에 36개가 통과됨
IE8은 43개 중에 14개만 통과됨
- DOM의 특정 엘리먼트를 추출해 오는
CSS3 Seleccors API 지원 현황
querySelector/querySelectorAll 메소드는 현재 웹킷과 IE8에서 지원하고 있음
3. 웹 개발 툴 지원 현황
- Firebug for Mozilla : 가장 강력한 개발 환경을 제공하고 있으며 다른 툴들의 교본이다.
- new tools in IE8 : DOM/CSS inspector , script debugger
- WebKit Web Inspector 와 Drosera(script debugger)
- Opera Dragonfly : DOM/CSS inspector , script debugger , Remote Debugging
4. Cross-doc/site 과 로컬 스토리지
- Cross Document Messaging
HTML5표준에서 postMessage 메소드 정의
현재 IE8,Opera,WebKit,Mozilla에 구현되어 있다.
Cross-site 요청시 iframe내에서 기본적으로 사용한다.
-
Cross-Site request W3C Access control Spec : 모질라에는 구현되어 있으나 FF3에는 모호한 부분이 있어 빠져 있음
MS IE8의 XDR(XDomainRequest)
JSON request : 현재 브라우져 업체들은 관심을 갖고 있지 않음
-
오프라인 웹 어플리케이션 현재 HTML5 Draft recommendation , 2008년 5월 16일자
ApplicationCacheAPI
각 응용 프로그램은 저장을 위한 캐쉬와 데이타 추출을 위한 manifest를 갖는다.
현재 Mozilla/Firefox 3에 구현되어 있고 웹 킷에서는 개발중에 있다.
- HTML5 Client-Side Persistent storage(name/value pair)
Storageinterface, sessionStorage 와 localStorage 속성
현재 Mozilla와 IE8에서 지원하고 웹 킷에서는 개발중이다.
- Client-Side SQL API
HTML5내에 구글 기어와 유사한 스펙이 정의되어 있음
웹킷에 구현되어 있음 -
데모 : http://webkit.org/misc/DatabaseExample.html
( 사파리로 테스트 해야 함 ^-^ )
앗! 시간이 벌써 많이 지났네요. 벌써 주말 오후입니다. 눈치가 보여서.. 나머지 내용은 다음 포스팅에서..