Wednesday, February 13, 2013

Opera Switches to WebKit and Chromium

After many years of dealing with site compatibility issues, Opera found the solution: it will switch from its proprietary rendering engine (Presto) to WebKit and will be powered by Chrome's open source version, Chromium.

"Presto is a great little engine. It's small, fast, flexible and standards compliant while at the same time handling real-world web sites. It has allowed us to port Opera to just about any platform you can imagine. (...) It was always a goal to be compatible with the real web while also supporting and promoting open standards. That turns out to be a bit of a challenge when you are faced with a web that is not as open as one might have wanted. Add to that the fact that it is constantly changing and that you don't get site compatibility for free (which some browsers are fortunate enough to do), and it ends up taking up a lot of resources - resources that could have been spent on innovation and polish instead," explains an Opera employee.

"For all new products Opera will use WebKit as its rendering engine and V8 as its JavaScript engine. It's built using the open-source Chromium browser as one of its components. Of course, a browser is much more than just a renderer and a JS engine, so this is primarily an 'under the hood' change. Consumers will initially notice better site compatibility, especially with mobile-facing sites - many of which have only been tested in WebKit browsers. The first product will be for Smartphones, which we'll demonstrate at Mobile World Congress in Barcelona at the end of the month. Opera Desktop and other products will transition later," mentions Bruce Lawson.

The problem with Opera is that it has a low market share on the desktop (about 1-2%) and not many web developers bother to test their sites in Opera. Google's sites have always had issues in Opera and most Google web apps don't officially support Opera (check the system requirements for Google Drive). Gmail's help center actually mentions that "We don't test Opera, but believe it works with all of Gmail's features." Probably Google doesn't want to allocate resources for testing sites in a desktop browser that's not popular, but it has a completely different rendering engine.


In a perfect world, browsers and sites would just follow the standards and everything would work well, but it takes time to create the standards and browsers implement their own version in the meanwhile. Not to mention that browsers have all kinds of quirks.

Google launched Chrome in 2008 and one of the reasons why it chose WebKit was that "we knew we didn't want to create yet another rendering engine. After all, web developers already have enough to worry about when it comes to making sure that all users can access their web pages and web applications."

WebKit started in 2001 as an Apple fork of KDE's KHTML engine, it was used to build Safari, a few years later it was open sourced and Nokia ported WebKit to Symbian. WebKit is now the most popular mobile rendering engine, since it powers Safari Mobile and all iOS browsers (other than thin clients like Opera Mini), Android's stock browser, Chrome for Android and many other mobile browsers. WebKit's combined market share is now more than 40%, according to StatCounter and Wikimedia's stats.

No comments:

Post a Comment