페이지

2007년 11월 22일 목요일

Firefox3.0 베타1과 Cairo



오랜 알파 테스트를 끝내고(알파8까지) 드디어 베타 릴리즈를 시작했습니다.
그 동안 성능 문제로 계속 알파를 벗어나지 못했는데, 조금씩 문제가 해결되나 봅니다.

Firefox3의 가장 큰 특징은 Cairo라는 벡터 그래픽 엔진의 사용입니다.

지금까지 SVG만 cairo를 통해 렌더링해왔고, 각 플랫폼 마다 각자 고유 그래픽 기능을 사용해왔는데, 이제부터 모든 그래픽 렌더링은 Cairo를 통해 구현됩니다. 물론 Cairo는 플랫폼 마다 각기 다른 backend를 갖게 됩니다.

Cairo를 선택하게된 이유는 폰트, SVG, Canvas에서 높은 수준 그래픽 기능을 요구했고 OpenGL을 통해 하드웨어 가속이 가능하기 때문입니다.

향후 Firefox는 플래시 수준의 벡터 그래픽 표현 능력을 갖게 되어 새로운 웹의 모습을 보여줄 것입니다.. 지금도 웹을 돌아다니다 보면 많은 예제를 볼 수 있습니다~

자세한 내용은 아래글을 참조하세요..

2007년 11월 20일 화요일

Safari 브라우저의 엔진, Webkit의 시작과 발전

iPhone출시와 더불어 Safari가 많은 관심을 받고 있습니다. 사실 Safari는 Apple에서 전부 개발한 것이 아니라 오픈소스 프로젝트인 KHTML 을 가져다가 만들었습니다. 참고로 KHTML은 KDE의 Konqueror 라는 브라우저에서 사용된 Layout 엔진입니다.

Apple은 2003년 처음 Mac OSX용 Safari를 출시하였고 2007년 들어 윈도용 Safari 베타 와 iPhone, iPod Touch용 Safari를 잇달아 출시하였습니다. Safari가 Open Source KHTML기반으로 개발되었기 때문에 Apple은 2005년 6월 브라우저 엔진만 WebKit 이라는 이름으로 공개하였습니다. Nokia도 WebKit 프로젝트에 동참하여 S60 Mobile Platform용 브라우저를 Webkit기반으로 개발하고 있습니다. 잠깐 가계도를 살펴보면,

KHTML -+---- WebKit (by Apple) --> Safari, Dashboard
|
+---S60WebKit --> Web Browser for S60 Mobile Platform (by NOKIA)
|
|----> Konqueror

Apple의 WebKit은 KHTML에 많은 수정을 가하여 현재는 fork하여 따로 소스코드를 운영되고 있습니다. S60Webkit은 Webkit 프로젝트에는 속해 있지만 역시 따로 소스코드를 운영하고 있습니다. Webkit에 반영된 추가 기능에 대해 일정 간격을 두고 S60Webkit에 반영하는 것 같습니다. 그동안 Nokia도 ARM기반으로 포팅하면서 Mobile Device에 최적화를 많이 했을 것입니다. Apple도 Nokia덕분에 iPhone에 쌩쌩 돌아가는 Safari를 쉽게 갖게 되었으리라 추측해봅니다.

하여간 두 회사가 오픈소스인 KHTML을 가져다가 서로 잘 활용하여 좋은 결과를 얻었습니다.



참고로 S60 Browser의 Architecture입니다. KHTML의 WebCore와 JavaScript Core를 포함하고 있습니다.

위 그림에서 Memory Manager는 Nokia에서 개발한 것으로 Nokia BSD 라이센스를 따르고 WebCore, JavaScript Core는 LGPL을 따르고 있습니다. 이 처럼 오픈소스를 가져다가 공개할 부분과 그렇지 않을 부분에 관해 명확히 구분하여 활용하고 있습니다. Memory Manager처럼 일부 Proprietary 모듈도 과감히 공개한 부분도 있습니다.

오픈소스를 활용한 좋은 예라고 할 수 있습니다.

현재, WebKit은 Mobile분야에서 각광을 받고 있습니다. 모토롤라의 리눅스 플랫폼에서도 Webkit을 사용하고 있으며 얼마전 발표한 구글의 모바일 플랫폼 Andrioid 역시 Webkit을 브라우저 엔진으로 채택하였습니다.

Mozilla도 내년에 Mobile Firefox를 출시를 준비하고 있습니다. 지금까지 WebKit이 다소 성능과 메모리 사용에 있어서 유리하다는 측면이 있었는데, Mobile Firefox는 성능과 함께 XUL기반 개발 환경도 지원하여 다양한 Add-ons와 Theme를 지원할 예정입니다.

두 브라우저의 선전을 기대해봅니다~

Mozilla가 선택한 Deki Wiki

현재 Mozilla Developer CenterMediawiki를 기반으로 운영되고 있습니다. 하지만 향후 Deki Wki로 마이그레이션 작업을 시작한다고 합니다.
아시다시피 Mediawiki는 wikipedia에서 사용하는 wiki기반 CMS입니다.

지금까지 MediaWiki만큼 훌륭한 위키서비스를 찾아보기 힘들었는데, 모질라에서 왜 Deki Wiki 를 선택했는지 무척 궁금하더군요.

Deki wiki는 물론 오픈소스이며, 기능은 단순한 위키가 아닌 것 같습니다.

모질라가 선택한 이유는 다음과 같습니다.

  • Syntax highlighting - 코드에 줄번호 표시와 함께 좀 더 보기 쉽게 해줍니다.

  • 검색 기능 - 첨부 파일까지 검색이 가능하다고 하네요.

  • WIGWIG Editor 지원 - 요즘 웬만한 편집기는 다 위지위그이죠...

  • Attach file 관리 기능이 편리해서 코드 추가하기가 쉽다고 합니다...

  • 통계 기능

  • 모든 컨텐츠는 DB대신 XML로 저장 <- portable wiki도 가능하다고 합니다..

  • UI customized가 쉽다.

  • 태깅 지원

  • PDF 변환 지원

  • 스팸 방지


아무리 Deki Wiki가 좋더라도 기존 위키를 다른 것으로 교체한다는 것이 쉽지 않은 일인데, Deki Wiki를 개발한 회사에서 무료로 마이그레이션을 해줘서 가능해진 것 같습니다.

향후 바뀔 Mozilla Developer Center에 기대가 됩니다.(내년 상반기)

2007년 11월 15일 목요일

Opera 브라우저의 HTML5 Video 태그 구현

현재 Opera, Apple, Mozilla가 모여서 HTML5 스펙을 만들고 있습니다.
Opera는 그 중 빠르게 HTML5 스펙을 직접 브라우저에 구현하는 회사 중 하나입니다.

이번에 Opera Lab에서 HTML5의 video 태그를 직접 구현해서 공개했습니다.

지금까지 웹브라우저에서 비디오 처리는 Plug-in 방식으로 구현했습니다. 브라우저 및 코덱마다 사용법이 다르기 때문에 개발자에게 비디오 처리는 번거로운 일이였습니다.

하지만, HTML5에서는 모든 코텍을 video태그를 통해 동일한 방식으로 사용할 수 있게 되었습니다. HTML5를 지원하는 브라우저는 공개 코텍인 기본적으로 지원하고, 다른 포맷은 코덱 설치로 지원하게 되었습니다.

이미 Firefox에서도 video태그를 실험적으로 구현하였습니다.

<video controls src="demo.ogg"></video>
<video controls src="demo.ogg" id="myVideo">Theora decoder not found</video>

사용법은 위 예 처럼 무척 단순합니다. 뿐만 아니라 video가 같은 surface에 html과 함께 렌더링되므로 DOM Scripting을 이용하여 video의 동적인 처리도 가능할 것 같습니다.이미 SVG를 이용한 video transform 예도 이미 구현되어 있습니다.

다른 HTML5 스펙도 어서 구현되기를 기대해봅니다.

2007년 11월 4일 일요일

[진정한개발자] KLDP 11주년 기념

KLDP 11주년

KLDP 11주년을 맞이해서 그려보았습니다. 그림속에 숨어 있는 의미가 좀 있는데, 무엇이 있을까요?

이번 행사는 Barcamp형식으로 진행됩니다. 단, 참가는 40명, 발표는 5명으로 제한되어 있는데, 이미 자리가 다 찼네요. 열정만 있다면 그냥 참석해도 내 쫓지는 않으니 관심있는 많은 분들의 참여를 기다립니다~