구글의 크롬 브라우저에 WebKit 커널이 탑재되면서, 일부 기술 애호가들은 모질라의 Gecko 커널이 곧 끝나가고 있는지 궁금해하고 있습니다. 하지만 WebKit의 인기가 높아지고 있음에도 불구하고, WebKit과 Gecko의 차이점을 잘 알고 이를 이해하는 사람들은 Mozilla가 향후 Firefox 버전에서 WebKit 커널을 사용할 가능성에 대해서는 아직 논의되지 않았다고 생각합니다. 웹킷의 장점 Webkit은 애플의 KDE 기반 KHTML 프로젝트에서 개발한 오픈 소스 HTML 렌더링 엔진입니다. Chrome의 리뷰에서 Webkit은 매우 가벼운 렌더링 엔진으로, 간결하고 깔끔한 코드 기반, 우수한 표준 지원, 그리고 작은 메모리 사용량으로 칭찬받고 있습니다. 이러한 특성 덕분에 Webkit은 많은 브라우저에서 인기 있는 커널이 되었습니다. Webkit은 주로 애플의 Safari 브라우저와 아이폰에서 사용되지만, Adobe, Nokia, Trolltech 같은 주요 제조사들도 이 코어를 사용합니다. Webkit의 사용자에는 iCab, Omniweb, Shiira, Epiphany와 같은 덜 알려진 브라우저들도 포함되어 있습니다. Haiku, Syllable, 심지어 Amiga와 같은 일부 2단계 운영체제에서는 Webkit도 인기가 있습니다. 점점 더 많은 개발자들이 Webkit을 활용해 리치 인터넷 애플리케이션을 개발하고 있습니다. 여러 커널을 평가한 후, 구글은 안드로이드 모바일 브라우저와 크롬 데스크톱 브라우저에 WebKit을 선택했습니다. 개발자가 Webkit에 대해 인정한 평가는 Webkit이 다양한 상황에서 사용할 수 있는 매우 우수한 렌더링 엔진이며, 그 매력 때문에 많은 개발자들이 Mozilla의 Gecko 커널에 시장이 있는지 궁금해하게 만들었습니다. 애플이 게코를 보이콧하는 이유 넷스케이프에서 유래해 KHTML보다 앞선 Gecko는 방대하고 복잡한 코드 베이스로 인해 비판을 받아왔습니다. Gecko는 매우 강력하지만 비용이 많이 들고 복잡하며 메모리 사용량이 많습니다. 그 결과, 게코의 다양한 특징들이 부담이 되는 경우가 많습니다. Gecko 커널이 지나치게 복잡한 이유는 HTML 렌더링 이상의 기능을 제공하려는 의도 때문입니다. 모질라의 초기 야망은 매우 컸으며, 초기 애플리케이션 제품군에는 브라우저, 메일 및 뉴스그룹 프로그램, 웹 디자인 도구, IRC 채팅 등이 포함되었습니다. HTML 렌더링 외에도 Gecko는 널리 사용되는 XML 기반 사용자 인터페이스 생성 엔진인 XUL도 제공합니다. XUL은 이 모든 프로그램에서 사용됩니다. XUL은 오늘날에도 Firefox에서 사용자 인터페이스를 생성하는 데 사용되고 있어, Firefox에서 가장 가치 있는 다중 확장 애플리케이션 중 하나입니다. Gecko가 지나치게 복잡한 또 다른 이유는 XPCOM이라는 강력한 컴포넌트 시스템입니다. XPCOM은 렌더링 엔진을 컴포넌트화하기 위해 Gecko에 많은 흥미로운 기능을 도입했지만, 일부 개발자들에 의해 남용당하기도 했습니다. 2004년 Ars Technica가 모질라 개발자 스콧 콜린스를 인터뷰했을 때, 스콧 콜린스는 XPCOM의 남용이 모질라가 저지른 여러 주요 실수 중 하나라고 말했습니다. XUL과 XPCOM이 가져오는 복잡성을 고려할 때, 애플이 사파리에 더 가벼운 커널을 선택하는 것은 자연스러운 일입니다. 애프는 맥 운영체제와 밀접하게 통합될 수 있는 브라우저를 설계하고자 했고, 엔진이 모바일 기기를 지원해야 한다는 점을 예상해 KHTML이 게코보다 더 적합하다고 판단했습니다. 2003년, 애플이 사파리에서 KHTML을 사용하기로 결정했을 때, 모질라의 마이크 셰이버는 게코의 단점에 대해 블로그에 썼습니다. 또한 애플이 웹 표준을 촉진하는 동맹이 될 것이라고 예측했습니다. 그는 이렇게 썼다, "작고 세련된 것이 우리의 목표였고, 게코의 부피와 부풀어 오른 기능 때문에 여러 리뷰에서 점수가 떨어졌어요. 만약 새 브라우저를 작성해야 한다면 모질라 말고도 다른 선택지를 고려할 거예요. 모질라가 Safari/KHTML에서 배우길 바랍니다. 그들은 코드의 10분의 1로 정말 훌륭한 기능을 구현하니까요. ” Gecko가 Firefox 3에 생명을 불어넣다 2003년 이후로 많은 것이 변했습니다. Gecko의 코드 기반은 오랜 기간 진화해 왔고, Gecko는 여전히 복잡하지만 많은 역사적 결함이 해결되고 있으며, Gecko는 Firefox 3에 웹 브라우징 경험 전체를 크게 개선하는 많은 혁신을 가져왔습니다. Gecko 1.9는 크로스 플랫폼 Cairo 렌더링 프레임워크를 사용하며, SVG의 대대적인 개선으로 코드를 단순화하고 전체 페이지 줌과 같은 멋진 기능들을 도입했으며, 동시에 Refactored 리플로우 알고리즘을 도입해 Gecko가 Acid 2 테스트를 통과할 수 있었습니다. 모질라는 메모리 사용량을 크게 줄여 사파리와 오페라를 능가했습니다. XPCOM 사용은 크게 줄었고, 새로운 재활용 재활용업체 도입으로 XPCOM의 자원 발자국도 줄었습니다. 이 작업은 계속되고 있으며, 모질라는 Firefox 4에서 XPCOM에 가해지는 부담을 더욱 줄일 예정입니다. 이번 개발에서는 Firefox 3.1 알파 버전에서 CSS 3 지원이 추가되고, 경쟁력을 높일 성능 향상 등 Gecko의 다른 단점들도 해결되었습니다. 모질라의 TraceMonkey 엔진은 Firefox 3.1에 포함될 가능성이 높아, Javascrip{filter}t 성능을 크게 향상시킬 것입니다. 기술적으로 보면, Gecko는 이제 매우 견고하며 Webkit보다 나쁘지 않습니다. 일부 증거는 게코가 모바일 분야에 진출하고 있음을 시사하는데, 이는 얼마 전까지만 해도 불가능했던 일입니다. Mozilla는 모든 웹킷이 접근할 수 있는 영역으로 Gecko를 이끌 자원, 개발 경험, 커뮤니티 지원을 갖추고 있습니다. |