개발처 | 애플 , KDE , 노키아 , Google 다른 [1] |
---|---|
지원 OS | 크로스 플랫폼 |
지원 언어 | C + + |
지원 여부 | 개발 중 |
종별 | 렌더링 엔진 |
라이센스 | LGPL / BSD-style |
공식 사이트 | webkit.org |
WebKit (웹킷)는 애플 [ 인용이 필요 ] 가 중심이되어 개발 된 오픈 소스 의 HTML 렌더링 엔진 군의 총칭이다. HTML , CSS , JavaScript , SVG ,MathML 등을 해석한다.
WebKit은 원래 애플의 Mac OS X 에 탑재되는 Safari 의 렌더링 엔진 으로 Linux 나 BSD 같은, Unix 계열 의 렌더링 엔진 인 KHTML 을 포크 하여 개발되었다. 현재는 다른 많은 플랫폼에 이식되고있다.
목차
[ 숨기기 ]라이센스 [ 편집 ]
WebKit의 WebCore와 JavaScriptCore 라이브러리는 GNU Lesser General Public License (LGPL) 다른 부분은 수정 BSD 라이선스 로 이용할 수있다 [2] .
역사 [ 편집 ]
WebKit은 원래 Mac OS X에서 웹 브라우저 "Safari"렌더링 엔진으로 사용하기 위해 Linux와 BSD 같은 Unix 계열의 브라우저 " Konqueror "의 KHTML 소프트웨어 라이브러리를 기반으로 애플에 의해 만들어지고 현재까지 애플, KDE, 노키아, Google, Torch Mobile 등에 의해 개혁이 추가되었다.
기원 [ 편집 ]
Linux와 BSD 등의 Unix 시스템 용 브라우저로, 1998 년 에 KDE 프로젝트 의 HTML 렌더링 엔진 " KHTML "과 KDE의 JavaScript 엔진 ( KJS )가 개발되었다. 그렇다면 애플이 2002 년 에 그들을 포크 하고 WebKit을 개발했다.
WebKit은 KHTML 을 기반으로 HTML 파서하고 렌더러이다 WebCore와 KJS 를 기반으로하는 JavaScript 엔진이다 JavaScriptCore를 하위 라이브러리 로 포함한다.
당초 KHTML과 KJS는 Mozilla 프로젝트에 의해 또한 오픈 소스로 개발이 진행되고 있었다 Gecko 엔진의 기본 방침이다 높은 Web 표준 준수와 충돌하지 않도록 Internet Explorer 와의 높은 호환성을 목표로 개발이 이루어지고 있었다.
그 후, WebKit에서는 두 라이브러리 모두 성능 향상 및 Web 사이트보기 개선, Web 표준에 더욱 순응에 기본이 된 KDE 구현에서 상당한 수정이 가해지고있다.
개발 오픈 소스 화 [ 편집 ]
Mac OS X v10.3 이상에 탑재 된 Mac OS X 표준 웹 브라우저, Safari의 기초를 이루고있다. 프로그래머 는 약간의 작업이다 그 기능을 외부 응용 프로그램에서 가능하다. Objective-C 에서 WebKit의 API 에 액세스하여 Web 서버 와의 통신, Web 페이지 의 검색 및 표시, 외부 플러그인 사용 등을 처리 할 수있다.
2005 년 6 월 7 일 , Safari 개발자 Dave Hyatt 는 자신의 블로그에서 애플 이 WebKit을 오픈 소스 화 (그 전까지는 WebCore와 JavaScriptCore 만 오픈 소스 인), CVS 와 Bugzilla 에 대한 액세스를 공개 하는 것을 발표했다 [3] . 이것에 관해서는 Bertrand Serlet 이 Apple의 WWDC 2005에서 처음으로 공식 발표를하고있다. 또한 2006 년 1 월 10 일 에 CVS에서 Subversion 으로 전환했다.
2007 년 초에는 애니메이션 등 새로운 CSS 확장 구현에 착수했다 [4] . 이러한 확장은 표준화를 위해 2009 년에 W3C 워킹 드래프트로 제출 된 [5] .
2007 년 11 월에는 HTML5 미디어 기능 지원을 달성 한 것으로 발표되었다 [6] . 이 HTML5에 부분 지원하는 Webkit에서는 기본 동영상의 기본 그리기 및 스크립트 컨트롤이 가능하다.
2008 년 3 월 26 일 , WebKit r31356 (첫 번째 점수 100 r31342)가 세계 최초로 공개 된 Acid3 ( 웹 표준 준수의 지표 중 하나)에 합격 한 렌더링 엔진이되었다 [7] . 2008 년 9 월 25 일 부드러운 애니메이션을 포함하여 Acid3를 완전히 통과했다고 발표했다 [8] .
WebKit2 [ 편집 ]
2010 년 4 월 8 일 , 격리 모델을 채용 한 WebKit2 [9] 의 개발이 발표 된 [10] . WebKit2 채용 예로는 Apple과 Tizen 등이있다. WebKit2에서는 WebKit에서 크게 API의 사양이 변경되어 호환성이 없어지고있다. 따라서 "WebKit2 '라는 새로운 명칭을 채용하여 기존의 WebKit과 구별 할 수 있도록하고있다.
2011 년 7 월 21 일 에 애플이 WebKit2 엔진이다 Safari5.1을 공개했다 [11] .
Blink에게 분열 [ 편집 ]
" Blink (렌더링 엔진) "참조
2013 년 4 월 3 일 , Apple과 Google의 개발 정책의 충돌에 의해, Google은 WebKit을 Blink 포크시키는 것을 발표했다. 이날 Opera 도 WebKit 대신 Blink를 채택하는 것을 표명했다. 다음날04 월 04 일 , Apple은 Google V8 JavaScript Engine 제거, JavaScriptCore 이외의 사용을 제거하여 Skia 제거, Google의 빌드 시스템 gyp의 제거 등의 계획을 표명 [12] , WebKit은 Safari 용 엔진 가되었다.
이식 [ 편집 ]
처음 Mac OS X 용으로 개발 되었기 때문에, WebKit을 사용한 웹 브라우저는 Mac OS X 전용의 것이 많았지 만, Google Chrome (Chromium) 등 Linux 및 Windows 용 웹 브라우저에 WebKit을 채용 한 것이 나오고있다. 애플 자신도 Windows 용 Safari의 개발에도 이용하고있다. 최근에는 WebKit은 데스크톱에 그치지 않고 모바일 플랫폼 에서도 활용되기 시작하고있다.
- 노키아 는 자사의 Symbian OS 의 인터페이스 환경 S60 3rd Edition의 브라우저에 WebKit을 S60에 이식 한 (S60 WebKit) [13] .
- 어도비 는 Flash , Flex , HTML, JavaScript 및 Ajax 기술을 사용하여 고급 인터넷 애플리케이션을 구축하는 크로스 플랫폼 의 런타임 인 AIR (코드 명 Apollo)에서 HTML 및 JavaScript를 처리하는 엔진으로 WebKit을 채용하고있다 [14] . 또한 Adobe Dreamweaver CS4에서 채용이 발표되었다 [15] .
- Google 은 Google Chrome 이나 휴대 전화 플랫폼 Android 에서 채용하고있다 [16] .
- WebKit / GTK +는 GTK +를 위한 포트. 다양한 Web 브라우저 나 메일 클라이언트 등으로 이용되고있다 [17] .
- Windows 용 웹 브라우저 인 Lunascape 버전 5.0α에서 WebKit을 선택할 수있는 엔진의 하나로서 탑재.
- Iris Browser는 Torch Mobile에 따르면 WebKit를 기반으로 한 QT와 Qtopia, Windows Mobile 용 브라우저. 1.0.5Preview보다 Windows Mobile 5도 지원 된 [18] .
- Opera Software 는 자사의 독자 노선을 변경하고 Webkit의 채용을 결정했다고 발표했다 [19] . 그러나 전술 한 바와 같이 그 Blink로 이행하고있다.
구성 요소 [ 편집 ]
WebCore [ 편집 ]
WebCore는 WebKit 프로젝트에 의해 개발 된 HTML 및 SVG 레이아웃, 렌더링, Document Object Model (DOM) 라이브러리 이다. WebCore의 전체 소스 코드 는 LGPL 로 공개되어있다.WebKit 프레임 워크 는 WebCore와 JavaScriptCore를 래핑하고 C + + 기반 WebCore 렌더링 엔진 및 JavaScriptCore 스크립트 엔진에 Objective-C application programming interface (API)를 제공함으로써 Cocoa API 기반 응용 프로그램에서 쉽게 볼 수 하고있다. 더 최근 버전은 크로스 플랫폼 C + + 플랫폼 추상화를 포함하고 있으며, 또한 다양한 port는 추가 API를 제공하고있다.
JavaScriptCore [ 편집 ]
JavaScriptCore는 WebKit 구현에 JavaScript 엔진을 제공하는 프레임 워크이며, 또한 Mac OS X의 다른 장면에서 사용되는 유사한 스크립팅을 제공하는 [20] [21] . JavaScriptCore는 KDE 's JavaScript engine ( KJS ) 라이브러리 및 Perl Compatible Regular Expressions (PCRE) 정규식 라이브러리에서 유래하고있다. KJS 및 PCRE에서 분기 된 후 JavaScriptCore는 많은 새로운 기능 향상이 이루어 성능도 크게 향상되고있다 [22] .
2008 년 6 월 2 일 발표 당시 기존보다 1.6 배 빠르게 완수 한, 새로운 JavaScriptCore로 바이트 코드 인터프리터 VM [23] 의 SquirrelFish가 발표 된 [24] . 또한 9 월 18 일 에는 SquirrelFish보다 약 2 배의 고속화를 달성했다 SquirrelFish Extreme (SFX)가 발표되었다 [25] .
Drosera [ 편집 ]
Drosera는 WebKit의 나이틀리 빌드에 포함 된 JavaScript 디버거 이다 [26] [27] . Drosera의 이름은 식충 식물 (즉 버그를 먹는)의 끈끈이 주걱 속 학명에서 붙여졌다. Drosera는 Web Inspector에 포함 된 디버깅 기능에 의해 대체되고있다 [28] .
SunSpider [ 편집 ]
SunSpider는 현재 및 가까운 장래에 예상되는 JavaScript 사용 (화면 그리기 암호화 텍스트 작업 등)와 관련된 작업의 JavaScript 성능을 측정하기 위해 만들어진 벤치 마크 스위트이다 [29] The suite further attempts to be balanced and statistically sound. [30] .
SunSpider는 애플의 WebKit 팀에 의해 2007 년 12 월에 출시 된 [31] . SunSpider는 널리 인정 [32] 다른 브라우저 개발자도 브라우저간에 JavaScript 성능을 비교하기 위해 사용하는 [33] .
WebKit을 사용하는 소프트웨어 [ 편집 ]
웹 브라우저 [ 편집 ]
- 크로스 플랫폼
- Mac OS X 용
- Windows 용
- UNIX 계 OS 용
- Haiku 위한
- 모바일
- BlackBerry Browser (6.0 이상)
- Iris Browser (for Windows Mobile 5 / 6)
- NetFront Life Browser [35]
- 게임 기용
- 닌텐도 3DS 인터넷 브라우저 (시스템 버전 2.0.0-2J 이상)
- NetFront Browser NX 가 탑재되어있다 [36] [37] . 그러나 닌텐도의 사양은 NetFront Browser 되고있다 [38] .
- Wii U 인터넷 브라우저 (시스템 버전 2.1.0J 이상)
- NetFront Browser NX 가 탑재되어있다 [39] [40]
- PlayStation Vita Browser
- PlayStation 3 Internet browser (시스템 소프트웨어 4.10 이상)
- 닌텐도 3DS 인터넷 브라우저 (시스템 버전 2.0.0-2J 이상)
Chromium 기반 [ 편집 ]
- Windows, Mac OS X 및 Linux 용
- Windows 및 Mac OS X 용
- Windows 용
WebKit2 [ 편집 ]
- Mac OS X 용
개발 종료 [ 편집 ]
기타 소프트웨어 [ 편집 ]
- Mac OS X 및 Windows 용
- iTunes
- AIR
- Dreamweaver CS4, CS5 - Web 제작 소프트웨어
- Steam - 게이밍 플랫폼
- Mac OS X 용
- 모바일
- Android - Google가 개발 한 휴대폰 용 플랫폼
- iOS - 내포되어 Safari와 Mail 등으로 이용되고있다
- HP webOS - HP 사의 Access Linux Platform (ALP)을 기반으로 한 휴대폰 용 플랫폼
- Google Chrome OS
버전의 대응 관계 [ 편집 ]
Google Chrome 28 이상 Blink 로 전환했지만 아래 표는 Blink를 포함하지 않고, WebKit의 대응표.
WebKit | Safari | Mobile Safari | Google Chrome | 안드로이드 Browser | 크롬 for 안드로이드 | 3DS | Wii U | PS3 | PS Vita |
---|---|---|---|---|---|---|---|---|---|
525 | 3.1, 3.2 | 3.1 | 0.4 | ||||||
528 | 4.0 | 1 | 1.5, 1.6 | ||||||
530 | 4.0 - 4.0.2 | 2 | 2.0, 2.1 | ||||||
531 | 4.0.3 - 4.0.5 | 4.0.4 | 4.10 - | 1.03 - 1.81 | |||||
532 | 4.0.5 | 3, 4 | |||||||
533 | 4.1, 5.0 | 5.0.2 | 5 | 2.2, 2.3 | |||||
534 | 5.1 | 5.1 | 6 - 12 | 3.0 - 4.2 | 2.1.0J - 3.1.0J | ||||
535 | 13 - 18 | 16 - 18 | |||||||
536 | 6.0 | 6.0 | 19, 20 | 4.0.0J - | 2.00 - | ||||
537 | 7.0 | 21 - 27 | 25 - 27 |
각주 [ 편집 ]
- ^ " Companies and Organizations that have contributed to WebKit "(영어). trac.webkit.org. 2010 년 4 월 15 일 보기.
- ^ Apple Inc .. " Open Source - Internet & Web - WebKit "(영어) 2009 년 10 월 8 일 보기.
- ^ http://weblogs.mozillazine.org/hyatt/archives/2005_06.html # 008281
- ^ CSS Transforms
- ^ CSS3 Animations
- ^ HTML5 Media Support by Antti Koivisto, Surfin 'Safari blog, November 12th, 2007
- ^ WebKit achieves Acid3 100 / 100 in public build
- ^ Full Pass of Acid3
- ^ WebKit2
- ^ [webkit-dev] Announcing WebKit2
- ^ "Apple 멀티 프로세스 채용의"WebKit2 "를 탑재 한 「Safari」v5.1을 공개" . 창의 삼림 ( 2011 년 7 월 21 일 ) 2011 년 7 월 24 일 보기.
- ^ webkit-dev Cleaning House
- ^ "노키아 'Web Browser for S60'엔진의 코드를 오픈 소스 커뮤니티에 공개" (보도 자료), 노키아 · 재팬 ( 2006 년 5 월 24 일 ) 2011 년 7 월 24 일 보기.
- ^ Adobe Integrated Runtime (AIR)
- ^ Adobe Dreamweaver CS3 10 주년 기념 이벤트 리포트
- ^ What is Android?
- ^ WebKitGtk - GNOME Live!
- ^ Torch Mobile
- ^ Stephen Shankland ( 2013 년 2 월 14 일 ). "Opera 브라우저 엔진 WebKit를 채용에" . CNET News 2013 년 2 월 14 일 보기.
- ^ The WebKit Open Source Project - JavaScript
- ^ KDE-Darwin mailing list " JavaScriptCore, Apple 's JavaScript framework based on KJS ", 13 June 2002.
- ^ " The Great Browser JavaScript Showdown "( 2007 년 12 월 19 일 ) 2009 년 10 월 8 일 보기.
- ^ SquirrelFish - WebKit - Trac
- ^ Surfin 'Safari - Blog Archive»Announcing SquirrelFish
- ^ Introducing SquirrelFish Extreme
- ^ WebKit.org Drosera wiki article
- ^ " Introducing Drosera " Surfin 'Safari . 2009 년 10 월 8 일 보기.
- ^ " Commit removing Drosera " 2009 년 10 월 8 일 보기.
- ^ Muchmore, Michael ( 2008 년 6 월 18 일 ). "Review : Firefox 3 Stays Ahead of Browser Pack" 2008 년 9 월 6 일 보기.
- ^ " SunSpider JavaScript Benchmark " 2008 년 9 월 6 일 보기.
- ^ " Announcing SunSpider 0.9 "( 2007 년 12 월 18 일 ) 2008 년 9 월 6 일 보기.
- ^ Atwood, Jeff ( 2007 년 12 월 19 일 ). " The Great Browser JavaScript Showdown " 2008 년 9 월 6 일 보기.
- ^ Resig, John ( 2008 년 9 월 3 일 ). " JavaScript Performance Rundown " 2008 년 6 월 9 일 보기.
- ^ HTML5를 지원하는 WebKit 버전 브라우저 | 주식회사 ACCESS
- ^ " NetFront Life Browser 일본식 PDA 용 Web 브라우저가 Android 단말에 등장 " 안드로 이더 . TriWorks Corp. JAPAN ( 2010 년 11 월 15 일 ) 2010 년 11 월 15 일 보기.
- ^ 닌텐도 3DS 용 인터넷 브라우저 LGPL 적용 오픈 소스에 대한 아카이브 안에 WebKit 의 소스 코드가 들어있는
- ^ ACCESS 정보 가전 용 브라우저의 신제품 「NetFront ® Browser NX '를 발표
- ^ 인터넷 브라우저의 주요 사양
- ^ Wii U 인터넷 브라우저의 주요 사양
- ^ 닌텐도의 새로운 게임기 "Wii U"에 ACCESS의 「NetFront ® Browser NX '를 브라우저 엔진으로 제공 | 주식회사 ACCESS
관련 항목 [ 편집 ]
외부 링크 [ 편집 ]
출처 - http://ja.wikipedia.org/wiki/WebKit
'Development > HTML' 카테고리의 다른 글
html - content type (0) | 2014.04.15 |
---|---|
HTML DOM (0) | 2014.03.06 |
html - iframe 안에서 밖으로 자바스크립트 통신하기 (0) | 2013.07.27 |
html5 - hashchange 이벤트 (0) | 2013.06.25 |
html - form의 target (0) | 2013.05.13 |