✨WebKit

WebKit

WebKit là một engine trình duyệt nguồn mở cung cấp các thành phần cần thiết để xây dựng một trình duyệt web. WebKit được Apple Inc. chính thức nhận từ thư viện phần mềm KHTML của trình duyệt Konqueror để sử dụng như là một engine cho trình duyệt của hệ điều hành Mac OS X là Safari và được tiếp tục phát triển bởi dự án KDE, Apple, Nokia, Google, Torch Mobile và một số khác. Nó đã được chuyển thể sang rất nhiều nền tảng khác và bây giờ được dùng như là engine kết xuất của rất nhiều phần mềm khác nhau. WebKit là nguồn mở; các thành phần WebCore và JavaScriptCore được sử dụng và được bảo hộ bởi giấy phép GNU Lesser General Public License, và cả bộ WebKit có thể sử dụng với giấy phép kiểu BSD.

Lịch sử

Nguồn gốc

WebKit bắt đầu khởi công từ năm 2002 khi Apple Inc. tạo một dự án phần mềm fork từ dự án của KDE là cỗ máy bố cục HTML KHTML và Cỗ máy JavaScript của KDE (KJS). Các nhà phát triển Apple giải thích trong một e-mail gửi tới các nhà phát triển KDE rằng các bộ máy này cho phép phát triển dễ hơn các công nghệ khác vì tính nhỏ gọn (ít hơn 140,000 dòng mã nguồn), thiết kế sáng sủa và hợp chuẩn. KHTML và KJS đã được chuyển thể sang Mac OS X với sự giúp đỡ của thư viện chuyển đổi và đổi tên thành WebCore và JavaScriptCore WebCore được thông báo tại Macworld Expo vào tháng 1 năm 2003 bởi Apple CEO Steve Jobs với đợt phát hành của trình duyệt Safari. JavaScriptCore lần đầu tiên được phát hành kèm với Mac OS X v10.2 để sử dụng như là một bộ khung riêng để chạy ứng dụng Sherlock, trong khi WebCore lần đầu đi kèm với bản beta đầu tiên của Safari. Mac OS X v10.3 là hệ điều hành đầu tiên của Apple có WebKit, mặc dù nó đã xuất hiện trước đó ở một số ít bản 10.2.

Tuy vậy, việc trao đổi các bản vá mã nguồn giữa hai phiên bản KHTML đã trở nên khó khăn do hai bên có cách viết mã khác nhau. Một lý do nữa là vì Apple làm việc với phiên bản KHTML của họ một năm trước khi đưa fork cho công chúng.

Khó chịu về điều đó, dự án KDE đã có thể kết hợp các thay đổi đó để củng cố tốc độ kết xuất của KHTML và thêm vào các chức năng, bao gồm việc vượt qua bài kiểm tra Acid2. Konqueror 3.5 đã vượt qua bài kiểm tra Acid2, phiên bản được ra mắt sau khi Apple mở hệ thống CVS và Cơ sở dữ liệu lỗi phần mềm cho WebKit.

Theo Apple, một số thay đổi gặp rắc rối với các tính năng đặc trưng của Mac OS X (vd., Objective-C, KWQ, các hàm gọi Mac OS X) không có trong KHTML của KDE, cần có một chiến lược phát triển khác.

Tranh cãi

Tại một thời điểm các nhà phát triển KHTML nói rằng họ không thể chấp nhận được những thay đổi của Apple và cho rằng mối quan hệ hai bên là một "thất bại cay đắng". Apple đã gửi các sửa đổi của họ trong một gói các bản vá lỗi lớn chứa rất nhiều sửa đổi lớn với tài liệu không tương xứng, thường dùng để thêm vào các chức năng trong tương lai. Dù vậy, các bản vá này đã gây khó khăn cho các nhà phát triển KDE để tích hợp chúng vào KHTML. Đi xa hơn nữa, Apple còn đòi hỏi các nhà phát triển KDE ký vào bản cam kết không tiết lộ trước khi xem mã nguồn của Apple kể cả việc họ không truy cập được vào cơ sở dữ liệu lỗi của Apple.

Trong khoảng thời gian ly khai được mọi người biết đến, nhà phát triển KDE pipitas gửi viết một bài cho rằng các nhà phát triển KHTML đã cố gắng thêm các sửa đổi tăng cường của Safari (nhưng không phải tất cả) từ WebCore về KHTML, và họ cũng luôn luôn ủng hộ các cải tiến của Apple và đến bây giờ vẫn thế. Bài viết cũng nói đến việc Apple đã bắt đầu liên hệ với các nhà phát triển KHTML để thảo luận về việc cải thiện mối quan hệ giữa hai bên và việc hợp tác trong tương lai.

Từ khi tin tức về bản fork xuất hiện tren báo chí, Apple đã cung cấp bản chi tiết những thay đổi trong KHTML của họ ở một kho chứa CVS. Bắt đầu từ lúc mã nguồn của Apple xuất hiện trên CVS, các nhà phát triển của cả hai bên đã tăng cường hợp tác. Rất nhiều nhà phát triển KHTML đã trở thành nhà phê bình và là người gửi bản Apple WebKit lên kho chứa SVN.

Đội phát triển WebKit cũng đã hồi sửa lại những sửa đổi đặc trưng của Apple về mã gốc của WebKit và củng cố khả năng tương thích đa nền tảng cho WebKit.

Nguồn mở

Vào ngày 7 tháng 6, 2005, nhà phát triển Safari Dave Hyatt thông báo trên blog của anh rằng Apple đã mở mã nguồn WebKit (trước đó, chỉ có WebCore và JavaScriptCore là nguồn mở) và cho phép truy cập vào cây CVS của WebKit và công cụ Bugzilla. vào gần tháng 1 năm 2006 mã nguồn đã được chuyển từ CVS thành Subversion. Tháng tiếp theo trang mạng Ars Technica gửi một bài viết thông báo rằng đội ngũ phát triển KDE muốn chuyển từ KHTML sang WebKit.

Phát triển sau này

Vào tháng 11 năm 2007, dự án thông báo rằng đã hoàn thành hỗ trợ cho các phương tiện chức năng của HTML 5, cho phép các đoạn video nhúng được dựng hình và điều khiển trong WebKit.

Vào ngày 2 tháng 6, 2008, dự án WebKit thông báo rằng họ đã viết lại JavaScriptCore thành "SquirrelFish", một trình thông dịch bytecode. Dự án tiếp tục phát triển nó thành SquirrelFish Extreme (viết tắt SFX), ra mắt vào ngày 18 tháng 9, 2008, hoạt động bằng cách biên dịch JavaScript thành mã máy, việc từ bỏ thông dịch bytecode đã giúp tăng tốc các đoạn mã JavaScript. Trước đây SFX chỉ hỗ trợ kiến trúc x86, nhưng vào cuối tháng 1 năm 2009 SFX đã có thể chạy trong Mac OS X với kiến trúc x86-64 và nó đã vượt qua tất cả các bài kiểm tra trên nền tảng này.

Sử dụng

WebKit được sử dụng như là một cỗ máy dựng hình cho Safari chạy trên Mac OS X, Windows và iOS. Các ứng dụng khác trên Mac OS X cũng có thể sử dụng WebKit, như trình khách e-mail của Apple Mail và Entourage của Microsoft phiên bản 2008, cả hai dùng WebKit để dựng hình các nội dung HTML bên trong ứng dụng của mình.

Các trình duyệt web mới cũng sử dụng WebKit là Shiira và Chrome, ngoài ra một số trình duyệt khác dùng WebKit để thay thế cỗ máy dựng hình mặc định của nó như OmniWeb, iCab và Epiphany. Epiphany hỗ trợ cả Gecko và WebKit ở một số thời điểm, nhưng đội ngũ phát triển cho rằng vòng đời ra mắt của Gecko và việc lập kế hoạch phát triển cho nó có thể trở nên nặng nề, kém hiệu quả.

Chuyển hệ

Vài tuần sau khi Hyatt công bố việc mở mã nguồn WebKit, Nokia thông báo rằng đã chuyển hệ WebKit để chạy trên hệ điều hành Symbian và phát triển một trình duyệt dựa tren WebKit cho các điện thoại của họ, sau này được đặt tên là Web Browser for S60. Apple cũng đã chuyển hệ WebKit để chạy trên iOS (Apple) dành cho iPhone và iPod Touch, được dùng để hiển thị nội dung trong trình duyệt và trình khách thư điện tử, Android sử dụng WebKit là nền tảng cho trình duyệt web của nó, và Palm Pre, ra mắt tháng 6 năm 2009, có giao diện dựa trên WebKit.

Vào tháng 6 năm 2007, Apple thông báo rằng WebKit đã đượ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 được tiếp tục cho các hệ điều hành nguồn mở như Syllable, Haiku và AROS.

WebKit cũng đã được chuyển thể sang rất nhiều bộ công cụ khác nhau, như bộ công cụ GTK+,, bộ công cụ Qt và Adobe Integrated Runtime. Qt Software đã đóng gói kèm WebKit trong phiên bản 4.4 của Qt. WebKit của Qt cũng được Konqueror sử dụng trong KDE 4.1. gọi là Origyn Web Browser, cung cấp một nền tảng thống nhất của WebKit để nhúng vào các ứng dụng hệ thống nhanh và dễ dàng hơn. Bản chuyển thể này được dùng trong các hộp set-top, PMP và cả AmigaOS và AROS. Bản chuyển cho MorphOS từ OWB đang được phát triển.

Các thành phần

WebCore

WebCore là thư viện bố cục, dựng hình, và mẫu đối tượng văn bản (DOM) cho HTML và SVG, phát triển bởi dự án WebKit. Toàn bộ mã nguồn của nó được bảo hộ dưới giấy phép LGPL. Khung WebKit bọc WebCore và JavaScriptCore, cung cấp API Objective-C trở thành dựa trên C++ của bộ máy WebCore và JavaScriptCore, cho phép kết nối đến các ứng dụng dựa trên Cocoa API; các phiên bản sau này bao gồm các đa nền tảng trừu tượng, và rất nhiều các bản chuyển thể cung cấp sử dụng các API.

WebKit vượt qua bài kiểm tra Acid2, vào tháng 9 năm 2008, các bản cập nhật hàng đêm (bao gồm Safari 4) vượt qua bài kiểm tra Acid3 một cách dễ dàng, với cách dựng hình pixel-perfect và không có vấn đề không phụ thuộc vào phần cứng.

JavaScriptCore

JavaScriptCore là một khung cung cấp một cỗ máy JavaScript để yểm trợ cho WebKit, và cung cấp sử dụng kiểu ngôn ngữ này bên trong Mac OS X. JavaScriptCore có nguồn gốc chính thức từ cỗ máy JavaScript của KDE (KJS) (là một phần của dự án KDE) và thư viện biểu thức chính quy PCRE. Từ khi khởi công từ KJS và PCRE, JavaScriptCore được bổ trợ rất nhiều cùng với hiệu năng vượt trội.

Drosera

Drosera là trình gỡ lỗi cho JavaScript đi kèm với các bản cập nhật hàng đêm của WebKit. Nó được đặt tên theo Drosera, một họ cây ăn thịt (v.d. cây ăn bọ). Drosera đã được thay thế bởi chức năng tương tự có trong Web Inspector.

SunSpider

phải|Hình chụp SunSpider

Một bộ ứng dụng dùng để kiểm tra hiệu năng của JavaScript trong các tác vụ khác có liên quan đến JavaScript ở thế giới thực, như vẽ màn hình, mã hoá và trộn chữ. Bộ công cụ này tỏ ra cân đối và ổn định. Nó được phát hành bởi đội ngũ phát triển Apple WebKit vào tháng 12 năm 2007. Ứng dụng được đón nhận nồng nhiệt, và các nhà phát triển trình duyệt khác dùng nó để so sánh hiệu năng JavaScript giữa các trình duyệt.

👁️ 2 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**WebKit** là một engine trình duyệt nguồn mở cung cấp các thành phần cần thiết để xây dựng một trình duyệt web. WebKit được Apple Inc. chính thức nhận từ thư viện phần mềm KHTML
p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0"
p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0"
p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-size:12.0pt;font-family:none" /span /p h1 style "box-sizing:border-box;margin:0.0px;font-weight:bold;font-family:quicksand
p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0"
p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-size:12.0pt;font-family:none" /span /p h1 style "box-sizing:border-box;margin:0.0px;font-weight:bold;font-family:quicksand
p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0"
p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0"
p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0" span style "font-family:none" /span /p p style "margin:0"
**Web Browser for S60** hoặc **S60 OSS Browser**, là một trình duyệt web cho điện thoại di động S60 phát triển bởi Nokia. Trình duyệt dựa trên bản chuyển hệ của bộ khung WebCore và
Tính năng; 1. Vật liệu Polypropylene phân tử cao + công thức có độ bền cao. An toàn và bảo vệ môi trường \ Zero formaldehyde, mật độ cường độ cao \ độ cứng và
body, ul, ol, dl, dd, dt, li, a, h1, h2, h3, h4, h5, h6, from, table, tr, td, th, textarea, input, button, select, p {padding: 0;margin: 0;} img {border: 0;} body {font-size: 12.0px;font-family: arial;color: #000000;line-height:
Dưới đây là **danh sách chương trình truyền hình đã và đang được phát sóng của Đài Truyền hình Việt Nam**, được chia theo kênh và trạng thái phát sóng. Danh sách này không bao
**Giai đoạn vòng loại giải CONCACAF Nations League 2019-20** là một giải đấu một lần diễn ra từ ngày 6 tháng 9 năm 2018 đến ngày 24 tháng 3 năm 2019. Vòng loại đã xác
**Safari** là trình duyệt web đồ họa mã nguồn mở một phần dựa trên WebKit do Apple phát triển. Nó xuất hiện lần đầu tiên như một phần của Mac OS X Panther trên Mac
**Mùa bão Đông Bắc Thái Bình Dương 2018** là một sự kiện mà theo đó, các cơn bão được hình thành ở Thái Bình Dương,phía Bắc xích đạo, phía Đông đường đổi ngày quốc tế
**Adobe AIR** (trước đây là **Adobe Integration Runtime**) là một hệ thống runtime đa nền tảng được Adobe Systems phát triển để xây dựng các ứng dụng máy tính để bàn và ứng dụng di
**Symbian** là một hệ điều hành đã ngừng phát triển được viết và sử dụng phổ biến cho hầu như điện thoại di động của những năm 90 và đầu thế kỉ 21. Symbian ban
**Bão Talas** (**_Bão số 2_ -** theo cách gọi của Việt Nam) là một cơn bão nhiệt đới tác động đến Việt Nam vào giữa tháng 7 năm 2017. Talas lần đầu tiên được theo
**Olive Browser** là một trình duyệt miễn phí chạy trên hệ điều hành Windows. Olive sử dụng công cụ Webkit và cũng sử dụng trình quản lý tải xuống Wget. Tính đến tháng 2 năm
**Phong trào không liên kết** là một tổ chức quốc tế cánh tả gồm các quốc gia tự xem mình là không thuộc hoặc chống lại bất kỳ khối cường quốc lớn nào. Phong trào
## Lịch sử ### Các trình duyệt quan trọng _Xếp theo thứ tự ra đời_: ** Erwise, tháng 4 năm 1992 ** ViolaWWW, tháng 5 năm 1992, xem Erwise ** Libwww, Line-Mode Browser, trước 11
**Pécs** (phát âm tiếng Hungary: [pe ː tʃ]) là thành phố lớn thứ năm của Hungary, nằm trên sườn núi Mecsek ở phía tây-nam của đất nước, gần biên giới với Croatia. Đây là trung
**Lester William Polsfuss**, thường gọi tắt là **Les Paul** (tiếng Mỹ: /lɛs pɔl/) sinh ngày 9 tháng 6 năm 1915, mất ngày 13 tháng 8 năm 2009, là nhạc sĩ và nhà phát minh. Ông
**Bada** (cách điệu: **bada**, ) là một nền tảng phần mềm cho thiết bị di động do Samsung Electronics phát triển. bada được thiết kế để sử dụng trong các dòng điện thoại thông minh
**Yeralash** (tiếng Nga: _Ералаш_) là một chương trình hài hước dành cho trẻ em của truyền hình Liên Xô, nay được kế thừa bởi Liên bang Nga. Nhan đề chương trình là ý tưởng của
thumb|Tấm biển hiệu tuyến đường E 40 tại Skołoszów, Ba Lan **Tuyến đường châu Âu E40** là tuyến đường dài nhất trong số các tuyến đường của Mạng lưới Đường bộ Quốc tế châu Âu.
**Đồng bộ hóa Firefox** (tiếng Anh: **Firefox Sync**), ban đầu có tên **Mozilla Weave**, là một tính năng đồng bộ hóa trình duyệt cho các trình duyệt Firefox. Nó cho phép người dùng đồng bộ
**GNOME** () - là bộ phần mềm cung cấp môi trường màn hình nền dễ dùng cho hệ điều hành Linux cũng như cho các hệ điều hành khác. GNOME từng là tên viết tắt
nhỏ|phải|**[[Qt Designer** - phần mềm thiết kế giao diện bằng các khiển tố của Qt.]] **Qt** (cách phát âm chính thức tương tự như từ _cute_ _/ˈkjuːt/_ trong tiếng Anh), một kiểu phát âm phổ
**Vinhedo** là một đô thị ở bang São Paulo của Brasil. ## Địa lý Đô thị này nằm ở vĩ độ 23º01'47" độ vĩ nam và kinh độ 46º58'31" độ vĩ tây, trên khu vực
**Google Chrome** là một trình duyệt web miễn phí, được phát triển và vận hành bởi Google, sử dụng nền tảng V8 engine. Dự án mã nguồn mở đứng sau Google Chrome được biết với
**Hội nghị Hiệp thương Nhân dân** ( (MPR)) còn được gọi **Hội nghị Tư vấn Nhân dân** là cơ quan lập pháp nằm trong hệ thống chính trị của Indonesia. Trước khi Hiến pháp được
**Giải bóng đá Các đội mạnh Toàn quốc 1990** là mùa giải thứ 9 của giải đấu bóng đá hạng cao nhất Việt Nam và là mùa giải đầu tiên dưới tên gọi mới Giải
**_Rothschildia_** là một chi bướm đêm thuộc họ Saturniidae họ. Species are được tìm thấy ở Bắc Mỹ và Nam Mỹ from Canada to Argentina. ## Các loài
* _Rothschildia affinis_
**Chromium** là một trình duyệt web mã nguồn mở, là nền tảng để xây dựng nên Google Chrome. Những phần do Google viết nên được phát hành theo giấy phép BSD, còn những phần khác
thumb|right|[[Cấu trúc phân tử của thuốc chống trầm cảm ba vòng amitriptyline.]] **Thuốc chống trầm cảm ba vòng** (**TCAs**) là những chất hóa học chủ yếu được dùng điều trị bệnh trầm cảm. Thuốc chống
**Canvas** là một phần tử của HTML5, cho phép thực hiện lập trình kết xuất đồ họa các đối tượng hai chiều trên trang web. Phần tử này được Apple giới thiệu lần đầu năm
**Congridae** là một họ "cá lạc" và cá chình vườn. "Cá lạc" có giá trị và đôi khi là cá thực phẩm lớn, trong khi "cá chình vườn" sống theo đàn, tất cả nhô ra
**Wii U** () là một máy chơi trò chơi điện tử tại gia được phát triển bởi Nintendo và kế thừa Wii. Hệ máy đã được phát hành vào tháng 11 năm 2012 và là
**Yandex Browser** là một trình duyệt web freeware Trình duyệt kiểm tra bảo mật trang web bằng hệ thống bảo mật Yandex và kiểm tra các tệp đã tải xuống bằng phần mềm diệt virus
**Opera Software AS** là một công ty phần mềm Na Uy, ban đầu được biết đến với trình duyệt web Opera cho máy tính, và trình duyệt web di động Opera Mini. Nó đã được
thumb|right|[[Nokia 6300 chạy Series 40]] **Series 40**, thường được viết tắt là **S40**, là một nền tảng phần mềm và phần mềm giao diện người dùng ứng dụng (UI) trên các điện thoại phổ thông
**Mùa bão Đông Bắc Thái Bình Dương 2019 **là một sự kiện đang diễn ra mà theo đó, các cơn bão được hình thành ở Thái Bình Dương, phía bắc đường xích đạo và phía
**Pink Visual** là một công ty sản xuất phim khiêu dâm thực tế và gonzo, có trụ sở tại Van Nuys, California, Hoa Kỳ. Công ty bắt đầu như một nhà cung cấp nội dung
nhỏ|Sơ đồ mô tả kĩ thuật 3C (Chromosome Conformation Capture). **Dựng cấu hình sợi nhiễm sắc** là tập hợp các kĩ thuật phân tích tổ chức không gian của sợi nhiễm sắc trong tế bào
**Canaima GNU/Linux** là một hệ điều hành, một bản phân phối Linux dựa trên Debian. Nó được xây dựng như một giải pháp cho nhu cầu của chính quyền Venezuela đáp ứng lại quyết định
**Tiffany Ariana Trump** (sinh ngày 13 tháng 10 năm 1993) là người mẫu, ca sĩ người Mỹ. Cô là con gái của Tổng thống Hoa Kỳ thứ 45 và 47 Donald Trump, và là con
**MIUI** (viết tắt của **MI User Interface)** là giao diện người dùng tùy biến dựa trên hệ điều hành Android của Google, chạy trên các điện thoại thông minh và máy tính bảng của Xiaomi
**Bão nhiệt đới Carlotta** là một cơn bão nhiệt đới mạnh đã tạo ra lượng mưa lớn trên khắp Tây Nam México. Là cơn bão thứ ba trong mùa bão Đông Bắc Thái Bình Dương