300 Million Users and the Switch to WebKit

Opera announces reaching 300 million users and its decision to transition all new products from Presto to the WebKit rendering engine and V8 JavaScript engine, based on Chromium.

Opera 300 million

Alongside the announcement of a new milestone — 300 million Opera users! — we are also announcing that all our new products will use the WebKit engine for rendering and V8 for JavaScript processing. They will be based on the open-source Chromium browser and its components. Of course, a browser is much more than just an engine, so all these changes will happen somewhere deep under the hood for regular users. Such users will only notice improved compatibility with websites, especially mobile ones, most of which have only been properly tested in WebKit-based browsers. The first new product will be a smartphone browser, which we will showcase at the Mobile World Congress (MWC) in Barcelona at the end of February. Opera for desktop and other products will make the transition later.

TL;DR

  • This will not require changes in your familiar development workflow.
  • Extensions developed for previous versions of Opera will continue to work.
  • Opera will participate in the development of the WebKit and Chromium projects.
  • We will continue working on advancing standards for the benefit of the web.

What does this mean for web developers?

In short, this shouldn't affect your daily work in any way. Continue writing code to standards, not for individual engines; test in different browsers: Opera, Firefox, Chrome, Safari, and Internet Explorer; use all necessary browser prefixes along with unprefixed properties in your CSS and JavaScript code. Nevertheless, there are a few things worth keeping in mind:

  • Chromium, like Opera, has built-in support for WebM, Ogg Theora, and Ogg Vorbis media codecs, but does not have built-in support for H.264 and MP3 formats (however, if those codecs are available in the device's OS, everything will work). The correct way to detect support is the canPlayType method from HTML5. The simplest way to ensure every browser gets the right codec is to prepare video in two formats — WebM and H.264 — and add two <source> elements to the code, or use canPlayType for detection (see details in the article Introduction to HTML5 video).
  • The window.opera object will not exist in future versions of Opera. We continue to strongly recommend that developers not use browser detection, but instead detect supported features: either using third-party solutions like Modernizr, or simply doing it manually.

What does this mean for extension developers?

Extensions have gained enormous popularity among Opera users and will absolutely continue to work in the new version of the browser. We have developed a tool for converting the familiar OEX extensions into a format that can work in the new Chromium-based version of Opera for desktop (you should have seen that enormous Python script!). In addition, we will write guides on conversion and documentation for new extensions, and of course we will answer your questions. In short, we will happily continue supporting extension developers and users and will try to make the transition process as smooth as possible.

Why is Opera switching engines?

When we first started back in 1995, we had to create our own engine in order to compete with Netscape and Internet Explorer browsers and to push web standards and the entire internet forward. When we began developing the HTML5 specification, we wanted to write a document that would improve overall browser compatibility.

The WebKit project today has the kind of standards support that we could only dream of when we started working on our browser. And instead of spending all our energy replicating what has already been implemented in WebKit, we can focus on inventing something new to make the best browser. Tabs, Speed Dial, data compression that speeds up page loading — all invented at Opera — were subsequently successfully adopted and implemented by many browser makers. By submitting patches directly to the WebKit project, we will be able to improve standards support not only in Opera but in many other browsers as well.

We will absolutely continue our work on improving the web through technology standardization. We have 17 years of experience in building a browser and new standards. Standards that originated at Opera, such as HTML5, HTML5 video, and Media Queries, are a vitally important part of the modern web.

We will continue developing web technologies and will participate in the WebKit and Chromium projects. We have extensive experience creating cross-platform products. In our internal builds, we are experimenting with adding new standards and missing technologies that Presto supports, for example, full support for CSS multi-columns. In recent weeks, we have been reaching out to the WebKit project and its contributors to discuss our plans for participating in the project's development.

So this year, we're sending two valentines: one, as usual, to the open and compatible web, and the second to the WebKit project.

Opera Valentine

P.S. The first patch submitted to WebKit this morning fixes CSS multi-column support.