트렌드

모바일 플랫폼 중심으로 본 웹 브라우저 동향 I

2008.05.19

이번 XTech 2008 컨퍼런스 중 개인적으로 가장 도움이 되는 발표 중의 하나였다. 한 분야의 흐름과 동향을 정리하는 것만으로도 많은 노력이 필요하기 때문이다. 특히, 웹 브라우저의 경우 파이어폭스(FireFox)와 인터넷익스플로러(IE), 그리고 아이폰(iphone)의 확산과 더불어 시장을 넓혀가고 있는 웹킷 계열, 그리고 마지막으로 숨은 강자 오페라(opera) 등이 치열하게 표준과 업그레이드 전쟁을 벌이고 있다.

이처럼 웹 브라우저 분야의 최신 동향을 정리하는 데 많은 시간이 걸린다.

운좋게도  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
  ( 사파리로 테스트 해야 함 ^-^ )

이어서….

jaehyunpark.kr@gmail.com