이번 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
( 사파리로 테스트 해야 함 ^-^ )
앗! 시간이 벌써 많이 지났네요. 벌써 주말 오후입니다. 눈치가 보여서.. 나머지 내용은 다음 포스팅에서..
운좋게도 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
( 사파리로 테스트 해야 함 ^-^ )
앗! 시간이 벌써 많이 지났네요. 벌써 주말 오후입니다. 눈치가 보여서.. 나머지 내용은 다음 포스팅에서..
'Conference > 2008 Xtech' 카테고리의 다른 글
[XTech 2008 ] 모바일 플랫폼 중심으로 본 웹 브라우져 동향II (0) | 2008.05.19 |
---|---|
[XTech 2008] XForms,REST,XQuery..and skimming (0) | 2008.05.16 |
[XTech 2008] 데이타 포터블리티를 논하다. (0) | 2008.05.15 |
[XTech 2008] 실시간 대용량 메세징 처리 방안 (5) | 2008.05.12 |
[XTech 2008] 웹 인증 API 표준 OAuth에 대해 논하다. (0) | 2008.05.12 |
[XTech 2008 ] 야후의 위치 정보 공유 플랫폼 - Fire Eagle (2) | 2008.05.12 |
[XTech2008] Next Generation Data Storage with CouchDB (0) | 2008.05.12 |
[XTech 2008] 크로스 사이트 요청 처리 관련 표준안 동향 (4) | 2008.05.10 |
[XTech 2008] 개인 웹 사이트를 가져야 하는 이유 (0) | 2008.05.09 |
[XTech 2008 ] Building Open Platform (0) | 2008.05.08 |