WebKit
개발처애플 , 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에게 분열 편집 ]

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을 사용하는 소프트웨어 편집 ]

웹 브라우저 편집 ]

Chromium 기반 편집 ]

WebKit2 편집 ]

개발 종료 편집 ]

기타 소프트웨어 편집 ]

버전의 대응 관계 편집 ]

Google Chrome 28 이상 Blink 로 전환했지만 아래 표는 Blink를 포함하지 않고, WebKit의 대응표.

WebKitSafariMobile SafariGoogle Chrome안드로이드
Browser
크롬 for 
안드로이드
3DSWii UPS3PS Vita
5253.1, 3.23.10.4
5284.011.5, 1.6
5304.0 - 4.0.222.0, 2.1
5314.0.3 - 4.0.54.0.44.10 -1.03 - 1.81
5324.0.53, 4
5334.1, 5.05.0.252.2, 2.3
5345.15.16 - 123.0 - 4.22.1.0J - 3.1.0J
53513 - 1816 - 18
5366.06.019, 204.0.0J -2.00 -
5377.021 - 2725 - 27

각주 편집 ]

도움말 ]
  1. Companies and Organizations that have contributed to WebKit "(영어). trac.webkit.org. 2010 년 4 월 15 일 보기.
  2. Apple Inc .. " Open Source - Internet & Web - WebKit "(영어) 2009 년 10 월 8 일 보기.
  3. http://weblogs.mozillazine.org/hyatt/archives/2005_06.html # 008281
  4. CSS Transforms
  5. CSS3 Animations
  6. HTML5 Media Support by Antti Koivisto, Surfin 'Safari blog, November 12th, 2007
  7. WebKit achieves Acid3 100 / 100 in public build
  8. Full Pass of Acid3
  9. WebKit2
  10. [webkit-dev] Announcing WebKit2
  11. "Apple 멀티 프로세스 채용의"WebKit2 "를 탑재 한 「Safari」v5.1을 공개" . 창의 삼림 ( 2011 년 7 월 21 일 ) 2011 년 7 월 24 일 보기.
  12. webkit-dev Cleaning House
  13. "노키아 'Web Browser for S60'엔진의 코드를 오픈 소스 커뮤니티에 공개" (보도 자료), 노키아 · 재팬 ( 2006 년 5 월 24 일 ) 2011 년 7 월 24 일 보기.
  14. Adobe Integrated Runtime (AIR)
  15. Adobe Dreamweaver CS3 10 주년 기념 이벤트 리포트
  16. What is Android?
  17. WebKitGtk - GNOME Live!
  18. Torch Mobile
  19. Stephen Shankland ( 2013 년 2 월 14 일 ). "Opera 브라우저 엔진 WebKit를 채용에" . CNET News 2013 년 2 월 14 일 보기.
  20. The WebKit Open Source Project - JavaScript
  21. ^ KDE-Darwin mailing list " JavaScriptCore, Apple 's JavaScript framework based on KJS ", 13 June 2002.
  22. The Great Browser JavaScript Showdown "( 2007 년 12 월 19 일 ) 2009 년 10 월 8 일 보기.
  23. SquirrelFish - WebKit - Trac
  24. Surfin 'Safari - Blog Archive»Announcing SquirrelFish
  25. Introducing SquirrelFish Extreme
  26. ^ WebKit.org Drosera wiki article
  27. Introducing Drosera " Surfin 'Safari . 2009 년 10 월 8 일 보기.
  28. Commit removing Drosera " 2009 년 10 월 8 일 보기.
  29. Muchmore, Michael ( 2008 년 6 월 18 일 ). "Review : Firefox 3 Stays Ahead of Browser Pack" 2008 년 9 월 6 일 보기.
  30. SunSpider JavaScript Benchmark " 2008 년 9 월 6 일 보기.
  31. Announcing SunSpider 0.9 "( 2007 년 12 월 18 일 ) 2008 년 9 월 6 일 보기.
  32. Atwood, Jeff ( 2007 년 12 월 19 일 ). " The Great Browser JavaScript Showdown " 2008 년 9 월 6 일 보기.
  33. Resig, John ( 2008 년 9 월 3 일 ). " JavaScript Performance Rundown " 2008 년 6 월 9 일 보기.
  34. HTML5를 지원하는 WebKit 버전 브라우저 | 주식회사 ACCESS
  35. NetFront Life Browser 일본식 PDA 용 Web 브라우저가 Android 단말에 등장 " 안드로 이더 . TriWorks Corp. JAPAN ( 2010 년 11 월 15 일 ) 2010 년 11 월 15 일 보기.
  36. 닌텐도 3DS 용 인터넷 브라우저 LGPL 적용 오픈 소스에 대한 아카이브 안에 WebKit 의 소스 코드가 들어있는
  37. ACCESS 정보 가전 용 브라우저의 신제품 「NetFront ® Browser NX '를 발표
  38. 인터넷 브라우저의 주요 사양
  39. Wii U 인터넷 브라우저의 주요 사양
  40. 닌텐도의 새로운 게임기 "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
Posted by linuxism
,