Viết bằngC++Hệ điều hànhĐa nền tảngThể loạiKhung ứng dụngGiấy phépLGPLv2/BSD-styleWebsitehttp://webkit.org/

WebKit là một trong những size vận dụng mối cung cấp msinh sống cung cấp những nguyên tố cần thiết để tạo ra một trình phê duyệt web. WebKit được Apple Inc. bằng lòng nhận từ thỏng viện phần mềm KHTML của trình chăm chú Konqueror để thực hiện nhỏng là một cỗ máy mang lại trình để ý của hệ điều hành quản lý Mac OS X là Safari cùng được liên tiếp cải cách và phát triển vì chưng dự án KDE, Apple, Nokia, Google, Torch điện thoại với một số trong những không giống.

Bạn đang xem: Webkit là gì

<1> Nó đã được đưa thể sang tương đối nhiều nền tảng khác cùng hiện giờ được sử dụng như là cỗ máy kết xuất của không ít phần mềm khác biệt. WebKit là mối cung cấp mở; các nguyên tố Webbộ vi xử lý Core với JavaScriptVi xử lý Core được thực hiện và được bảo hộ vị giấy tờ GNU Lesser General Public License, và cả bộ WebKit rất có thể áp dụng với giấy phép dạng hình BSD.<2>

Mục lục

Lịch sử

Nguồn nơi bắt đầu

WebKit bắt đầu thi công từ thời điểm năm 2002 lúc Apple Inc. tạo ra một dự án công trình phần mềm fork tự dự án công trình của KDE là máy bộ bố cục tổng quan HTML KHTML và Cỗ thứ JavaScript của KDE (KJS). Các công ty phát triển Apple giải thích trong một e-mail gửi tới những bên trở nên tân tiến KDE<3> rằng những bộ máy này chất nhận được phát triển dễ dàng hơn những công nghệ không giống vì tính nhỏ dại gọn (ít hơn 140,000 loại mã nguồn), thiết kế tự tín cùng vừa lòng chuẩn. KHTML và KJS đã làm được đưa thể sang trọng Mac OS X với sự trợ giúp của tlỗi viện biến hóa và thay tên thành WebChip Core và JavaScriptCore<3>. JavaScriptChip Core được thông báo cho list thỏng của KDE vào thời điểm tháng 6 năm 2002, với phiên bản trình làng đầu tiên với rất nhiều biến hóa của Apple.<4> WebCore được thông tin trên Macworld Expo vào thời điểm tháng một năm 2003 vị Apple CEO Steve Jobs cùng với lần kiến thiết của trình coi ngó Safari. JavaScriptVi xử lý Core lần đầu tiên được xây dừng kèm với Mac OS X v10.2 nhằm sử dụng nlỗi là 1 cỗ size riêng biệt để chạy áp dụng Sherlock, trong khi WebChip Core lần thứ nhất kèm theo cùng với phiên bản beta đầu tiên của Safari. Mac OS X v10.3 là hệ điều hành quản lý đầu tiên của Apple tất cả WebKit, tuy vậy nó đang mở ra trước kia ở một số trong những không nhiều phiên bản 10.2.

Tuy nhưng, Việc trao đổi những bản vá mã nguồn giữa nhì phiên phiên bản KHTML vẫn trngơi nghỉ buộc phải trở ngại vì phía 2 bên bao gồm cách viết mã khác biệt.<5> Một lý do nữa nguyên nhân là Apple thao tác làm việc cùng với phiên bản KHTML của mình một năm kia khi chuyển fork mang đến công chúng.

Khó chịu đựng về điều này, dự án công trình KDE đã có thể phối hợp những biến đổi đó nhằm củng cầm cố vận tốc kết xuất của KHTML cùng thêm vào các tính năng, bao hàm vấn đề thừa qua bài xích khám nghiệm Acid2. Konqueror 3.5 đã quá qua bài bác đánh giá Acid2, phiên phiên bản được ra mắt sau khi Apple mlàm việc khối hệ thống CVS cùng Cửa hàng dữ liệu lỗi phần mềm cho WebKit.

Theo Apple, một vài biến hóa gặp vấn đề cùng với những nhân kiệt đặc trưng của Mac OS X (vd., Objective-C, KWQ, những hàm gọi Mac OS X) không có vào KHTML của KDE, cần phải có một kế hoạch cải tiến và phát triển không giống.<6>

Toắt con bao biện

Tại một thời điểm những công ty cải cách và phát triển KHTML bảo rằng bọn họ không thể chấp nhận được số đông biến đổi của Apple cùng cho rằng mối quan hệ phía hai bên là 1 "không thắng cuộc cay đắng".<7> Apple vẫn gửi các sửa đổi của mình trong một gói các bản vá lỗi Khủng chứa không hề ít sửa thay đổi mập cùng với tài liệu ko hợp lý, thường dùng để cấp dưỡng các tác dụng sau này. Dù thế, những bản vá này làm ra khó khăn cho các công ty cải tiến và phát triển KDE để tích đúng theo chúng vào KHTML. Đi xa không dừng lại ở đó, Apple còn đòi hỏi các đơn vị cải cách và phát triển KDE ký vào phiên bản cam kết ko bật mý trước khi coi mã mối cung cấp của Apple kể cả câu hỏi bọn họ không truy cập được vào đại lý dữ liệu lỗi của Apple.<8>

Trong khoảng tầm thời gian ly khai được đa số fan biết đến, đơn vị phát triển KDE pipitas gửi viết một bài xích nhận định rằng các bên cải cách và phát triển KHTML đã nỗ lực thêm những sửa đổi tăng cường của Safari (tuy nhiên chưa hẳn vớ cả) từ Webbộ vi xử lý Core về KHTML, và họ cũng luôn luôn luôn cỗ vũ các đổi mới của Apple với cho hiện thời vẫn chũm. Bài viết cũng nói tới bài toán Apple sẽ bắt đầu tương tác cùng với những công ty cải tiến và phát triển KHTML nhằm thảo luận về Việc nâng cao mối quan hệ thân hai bên với việc bắt tay hợp tác sau này.<9>

Đội cải cách và phát triển WebKit cũng đã hồi sửa lại mọi sửa đổi đặc thù của Apple về mã nơi bắt đầu của WebKit cùng củng cụ năng lực cân xứng nhiều căn nguyên cho WebKit.<11>

Nguồn mở

Vào ngày 7 mon 6, 2005, đơn vị phát triển Safari Dave Hyatt thông tin trên blog của anh rằng Apple đã msinh hoạt mã nguồn WebKit (trước kia, chỉ bao gồm Webbộ vi xử lý Core với JavaScriptChip Core là mối cung cấp mở) và được cho phép truy cập vào cây CVS của WebKit cùng nguyên lý Bugzilla.<10> Tin này cũng rất được thông tin vào Hội nghị những nhà cải tiến và phát triển thế giới của Apple năm 2005 vày tổng quản trị kỹ sư ứng dụng Apple Bertrand Serlet.

Vào giữa tháng 1hai năm 2005 bài toán cung ứng mang đến định hình SVG đã có được cho vào phiên bản chuẩn<12> vào gần mon 1 năm 2006 mã mối cung cấp đã có được gửi từ bỏ CVS thành Subversion. Tháng tiếp theo trang mạng Ars Technica gửi một nội dung bài viết thông báo rằng đội ngũ cải cách và phát triển KDE ao ước gửi tự KHTML thanh lịch WebKit.<13>

Phát triển trong tương lai

Vào mon 1một năm 2007, dự án công trình thông báo rằng vẫn chấm dứt cung ứng cho các phương tiện đi lại tính năng của HTML 5, cho phép các đoạn video nhúng được dựng hình cùng tinh chỉnh trong WebKit.<14>

Vào ngày 2 tháng 6, 2008, dự án WebKit thông tin rằng chúng ta vẫn viết lại JavaScriptbộ vi xử lý Core thành "SquirrelFish", một trình thông ngôn bytecode.

Xem thêm: Nhiệm Vụ Leo Tường Bns - Cách Làm Nhiệm Vụ Khinh Công Bns

<15><16> Dự án tiếp tục phát triển nó thành SquirrelFish Extreme (viết tắt SFX), trình làng vào trong ngày 18 tháng 9, 2008, chuyển động bằng phương pháp biên dịch JavaScript thành mã máy, việc từ quăng quật phiên dịch bytecode đã hỗ trợ tăng tốc những đoạn mã JavaScript.<17> Trước trên đây SFX chỉ cung ứng phong cách xây dựng x86, nhưng vào cuối tháng 1 năm 2009 SFX đã có thể chạy trong Mac OS X cùng với phong cách thiết kế x86-64 cùng nó đã quá qua toàn bộ những bài kiểm tra bên trên nền tảng này.<18>

Sử dụng

WebKit được sử dụng như là 1 máy bộ dựng hình mang đến Safari chạy trên Mac OS X, Windows với iPhone OS. Các áp dụng không giống trên Mac OS X cũng hoàn toàn có thể sử dụng WebKit, như trình khách hàng e-mail của Apple Mail cùng Entourage của Microsoft phiên phiên bản 2008, cả nhì dùng WebKit nhằm dựng hình những ngôn từ HTML phía bên trong áp dụng của bản thân mình.

Các trình để ý website bắt đầu cũng áp dụng WebKit là Shiira và Chrome,<19><20> hơn nữa một số trong những trình coi ngó không giống cần sử dụng WebKit để thay thế máy bộ dựng hình mang định của chính nó nlỗi OmniWeb, iCab với Epiphany.<21> Epiphany cung cấp cả Gecko và WebKit ngơi nghỉ một số trong những thời điểm, tuy thế đội ngũ phát triển nhận định rằng vòng đời ra mắt của Gecko cùng vấn đề lập chiến lược cách tân và phát triển mang lại nó hoàn toàn có thể trở bắt buộc nặng nề, kỉm hiệu quả.

Chuyển hệ

Vài tuần sau thời điểm Hyatt công bố vấn đề mở mã nguồn WebKit, Notê thông báo rằng đã đưa hệ WebKit để chạy xe trên hệ điều hành Symbian với phát triển một trình chú tâm dựa tren WebKit cho các điện thoại cảm ứng thông minh của họ, về sau được đặt tên là Web Browser for S60. Apple cũng đã gửi hệ WebKit nhằm chạy trên iOS (Apple) dành riêng cho iPhone cùng iPod cảm biến, được dùng làm hiển thị văn bản trong trình chuyên chú với trình khách hàng thỏng năng lượng điện tử,<22> Android sử dụng WebKit là nền tảng đến trình chu đáo web của nó,<23> và Palm Pre, reviews mon 6 năm 2009, có đồ họa dựa trên WebKit.<24>

Vào mon 6 trong năm 2007, Apple thông báo rằng WebKit đã làm được chuyển hệ sang cho Microsoft Windows như là một phần của Safari. Việc chuyển hệ cũng đang rất được tiếp tục cho các hệ điều hành quản lý nguồn mngơi nghỉ nhỏng Syllable,<25> Haiku<26> với AROS.<27>

WebKit cũng được đưa thể sang tương đối nhiều bộ dụng cụ khác biệt, như cỗ luật pháp GTK+,<28>, cỗ hiện tượng Qt và Adobe Integrated Runtime. Qt Software đã gói gọn kèm WebKit vào phiên phiên bản 4.4 của Qt. WebKit của Qt cũng khá được Konqueror sử dụng trong KDE 4.1.<13> Cũng có một dự án đồng nhất hoá với WebKit (tài trợ vày Pleyo)<29> gọi là Origyn Web Browser, hỗ trợ một căn nguyên thống nhất của WebKit để nhúng vào các vận dụng hệ thống nkhô giòn với dễ ợt hơn.<30> Bản gửi thể này được dùng trong số hộp set-top, PMP.. cùng cả AmigaOS và AROS.<31><32> Bản gửi mang đến MorphOS từ OWB đang rất được cải tiến và phát triển.

Các yếu tắc

WebChip Core

WebVi xử lý Core là thư viện bố cục tổng quan, dựng hình, với mẫu đối tượng người tiêu dùng vnạp năng lượng phiên bản (DOM) mang đến HTML với SVG, phát triển vày dự án WebKit. Toàn cỗ mã mối cung cấp của nó được bảo hộ dưới giấy tờ LGPL. Khung WebKit quấn WebVi xử lý Core với JavaScriptbộ vi xử lý Core, cung ứng API Objective-C phát triển thành dựa trên C++ của máy bộ WebVi xử lý Core với JavaScriptVi xử lý Core, chất nhận được kết nối mang đến các vận dụng dựa vào Cocoa API; những phiên bản về sau bao hàm các đa gốc rễ trừu tượng, và rất nhiều những phiên bản đưa thể cung cấp sử dụng các API.

WebKit vượt qua bài kiểm tra Acid2, hồi tháng 9 năm 2008, những bạn dạng cập nhật mặt hàng tối (bao gồm Safari 4) vượt qua bài bác soát sổ Acid3 một giải pháp thuận tiện, với biện pháp dựng hình pixel-perfect cùng không tồn tại vụ việc ko dựa vào vào phần cứng.<33>

JavaScriptVi xử lý Core

JavaScriptCore là 1 trong khung cung cấp một cỗ máy JavaScript nhằm yểm trợ cho WebKit, cùng cung cấp áp dụng hình dáng ngữ điệu này bên trong Mac OS X.<34><35> JavaScriptVi xử lý Core tất cả bắt đầu bằng lòng từ bộ máy JavaScript của KDE (KJS) (là một trong những phần của dự án công trình KDE) cùng tlỗi viện biểu thức chính quy PCRE. Từ Khi khai công trường đoản cú KJS với PCRE, JavaScriptVi xử lý Core được hỗ trợ tương đối nhiều với tính năng quá trội.<36>

Drosera

Drosera là trình gỡ lỗi cho JavaScript kèm theo cùng với những bạn dạng cập nhật hàng tối của WebKit.<37><38> Nó chọn cái tên theo Drosera, một chúng ta cây nạp năng lượng làm thịt (v.d. cây ăn uống bọ). Drosera đã làm được sửa chữa vày chức năng tựa như tất cả trong Web Inspector.<39>