History repeats itself: from Khtml to WebKit, to blink

Source: Internet
Author: User
Tags repetition

Http://36kr.com/p/202396.html

In Thursday, Google announced that it was spending its own browser rendering engine Blink from WebKit. A lot of people think it's like a bolt from the blue, or even a late April Fool's joke, but it's hard to avoid and it's a repetition of history.

In Thursday, Google announced that it was spending its own browser rendering engine blink from WebKit. A lot of people think it's like a bolt from the blue, or even a late April Fool's joke, but it's hard to avoid and it's a repetition of history.

What is WebKit? Who the hell is it?

WebKit is an open-source browser engine. Its predecessor was the typesetting engine khtml developed by KDE in 1998, initially for open-source operating systems such as Linux and UNIX. At that time Apple felt the need to develop its own browser, so after comparing the Netscape (now Firefox) Gecko engine and khtml engine, chose the latter, because Khtml has a clearer architecture, and smaller than gecko. Apple engineer Don Melton officially branched out from khtml on June 25, 2001, starting WebKit research and development within Apple.

At the beginning, the relationship between Apple and Khtml was good. Apple will Khtml, launched in 2003, equipped with the WebKit engine browser Safari. But as time progresses, the exchange of code between WebKit and Khtml becomes more difficult. After a long interval of time, the Apple submits a large number of changes, and without the copy, many features may only be developed in half. For KDE, consolidating these changes back into the khtml is quite difficult. In addition, it is difficult for KDE to accept that Apple must sign a confidentiality clause before it asks KDE developers to read the Apple code. In 2005, KDE developers began to publicly attack Apple's approach, saying the two parties ' partnership had been completely disintegrated.

Apple made a series of concessions after things were reported in the media. In 2005, Apple announced that it would webkit fully open source (the only WebCore and JavaScriptCore that had been moved directly from Khtml were open source). There have been some improvements in the relationship between KDE and Apple, with some KDE developers starting to commit changes for WebKit, and Apple's team has recovered a lot of apple-specific fixes, and the abstraction of the platform layer has enabled the core code of the engine to work on other platforms. But KDE did not forget Apple's betrayal, they did not fully participate in the development of WebKit, but at the end of 2010 launched the KDE development platform 4.5, tied to support khtml and WebKit.

Google's involvement

Google's accession to WebKit was developed in 2008 before and after the launch of the Chrome browser. Chrome's use of the WebKit engine is a recommendation from the Android team, and Chrome mainly uses the WebCore from Khtml, which does not use much of what Apple has developed outside of WebCore, but rather uses its own multi-process browser architecture.

But Google, after all, has a lot of resources and manpower, and about 50% of the WebKit change from Google developers before last week's WebKit branch, with half the rest coming from Apple and the rest coming from third-party developers such as KDE developers. While Google's developers are starting to commit most of the WebKit changes, WebKit's final decision is Apple's. According to some third-party WebKit developers, Apple and Google developers in the exchange without the common open source developers of the kind of mutual support, but more like two-eyed lions, the atmosphere is more tense.

After the news of the Blink engine burst, the developers of both sides immediately began commenting on Hacker news. Most comments suggest that Apple's current WebKit change submission policy is hostile to non-Apple developers, especially in the WebKit 2. A lot of people think that WebKit 2 is completely Apple's one-sided product, and there is no consultation with Google and others involved in WebKit development.

Apple's developers have also responded, Apple WebKit team leader Maciej Stachowiak said:

If we were to discuss history, the main reason we developed WebKit 2 was because chromium (the open source version of Chrome) never integrated its multi-process architecture into WebKit. The code has been chromium in its own directory.

We asked Google before writing any WebKit2 code, and they were willing to integrate support for multi-process architectures into WebKit, whose answer was no. In this case, we are faced with the choice of being a hostile chromium branch, or writing our own multi-process architecture, or continuing to use a single-process architecture. We have chosen to write our own multi-process architecture.

If Google agreed to integrate their multi-process architecture at the time, then we would certainly accept that things might not be the same as they are now.

No matter who it is, Apple and Google have been in the WebKit for some time. KDE is a fully open-source development group that has no real threat to Apple. If neither Apple nor KDE were able to maintain a good relationship, it would be impossible to work with Google, a company that has a competitive relationship with Apple in many areas. Although there were a lot of people who thought the WebKit project was a bit like a gap in the Berlin Wall, it was a little naïve.

Who will have the future

We don't know anything about the future, but we can see the points:

    • WebKit will be 50% less than the previous new code submission.
    • Most third party WebKit developers will join the Blink project.
    • Google's platform is the internet itself, which will pour all its resources into blink development, and Apple's most important platform today is iOS.
    • Without the "collaborators" of Apple, Google can use its own speed to advance browser technology. Want to put a dart virtual device in the browser engine? No problem. Google Native Client? OK. So Blink supported network technology is likely to soon surpass WebKit.

If I have to bet, I will bet blink gradually replace WebKit, because Blink for Google is strategic, and WebKit for Apple is it closed in the garden of an open-source black sheep.

What else have we seen from the history of WebKit? First, the big companies always take their own interests as the guide. The second is that the most WebKit engineers are open source projects, especially the open source project in the Unix ecosystem, and the chrome part is still written by KDE WebCore.

History repeats itself: from Khtml to WebKit, to blink

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.