Google on Wednesday announced that it’s departing from its relationship with Apple’s WebKit engine and starting up a new open source rendering engine, based on WebKit, called Blink.
WebKit currently powers Safari and Opera, and also underpins Google’s Chrome browser, whereas Microsoft and Firefox each have their own rendering engines for their respective web browsers.
There are advantages and disadvantages to working on your own engine. Obviously using an established one like WebKit allows you leap right in to development, and you can also co-operate with other developers to create consistency in certain technologies used across different web browsers. However building your own engine allows you to more easily innovate and build things to directly suit the needs of your browser.
Chrome coming of age
This appears to be the main reason why Google has now decided that the time is right to branch out and create its own engine, in order to speed up development and spur on further innovation within the Chromium project. Google’s vice president of engineering for Chrome, Adam Barth, had this to say about the decision:
“We’re confident this will allow us to move faster and allow the rest of the WebKit community to move faster, which ultimately will allow the Web to move faster.”
As Chrome has developed over the past few years, design decisions have resulted in the project using quite different multi-process architectures compared with other WebKit-based browsers. This diversification away from common WebKit features has led to a more complex landscape for WebKit, which is slowing down “the collective pace of innovation” for Chrome as well, as Google puts it.
Co-operation is great but this also leads to problems if the contributors have different end-goals, and Chrome has simply grown apart from its WebKit cousins.
Whilst this is clearly the right decision for Google, it does pose serious questions for the future of web development. After all further, fragmentation makes it harder for everyone to choose the best platform. But Google seems committed to the viewpoint that an open-source and competitive development arena delivers the best results, as it had this to say about the fracturing of the WebKit platform.
“[…] we believe that having multiple rendering engines—similar to having multiple browsers—will spur innovation and over time improve the health of the entire open web ecosystem”
What does this mean for the future?
Well Google isn’t departing from WebKit entirely. Instead it’s going to continue to use WebKit as a base for Blink and gradually branch off as development moves forward.
So in the short term nothing is likely to change very much, the initial work is going to focus on optimisation and removing parts of the WebKit engine which Chromium doesn’t need. For example Google software engineer Adam Barth estimates that developers will be able to remove 7 build systems and delete more than 7,000 files, and 4.5 million lines of code, which will help with stability and reduce the number of bugs.
Looking to the long term, as Blink branches out further from WebKit, other developers and users are going to have to decide which platform they prefer. Whilst this could lead to a major split in web technologies, the decision to make Blink an open-source project should help to accommodate the needs of the wider web.
It’s an interesting decision for Google, but not one that hasn’t been coming. There has been tension between the Apple and Google development teams for quite a while, and it was probably inevitable that the two companies would part ways based on their individual goals. We’ll just have to wait and see how well WebKit fairs in the future without the support of one of the world’s largest web developers, and what sort of impact Blink will have on the wider web.