Opera rebuilt the UI layer to take advantage of native UI libraries

Jul 4, 2013 17:41 GMT  ·  By

Opera 15, the first of the next-generation Opera based on Google's Chromium, is finally here in the stable channel. The company would like everyone to update to the new browser though, obviously, that's not going to happen anytime soon.

Still, the Norwegian browser maker wanted to provide a little more details on what Opera 15 is, how is it different from Chrome/Chromium and what's planned next.

Opera believes that switching to Chrome was a good idea and made it possible for it to focus more on features rather than working on a competitive browser engine.

It also explained how it implemented several of the new features in Opera as web tools rather than with native code. The Speed Dial, the Stash, and the Discover mode are all, essentially, web apps, written in HTML, CSS, and JavaScript.

Since the browser was able to handle these features implemented as web apps so well, Opera didn't feel the need to convert them to native code.

"At first, we also planned to build Speed Dial, Stash, Discover and so on with native code, but when seeing that the performance of our first functional web-based prototypes was excellent, we decided to go with a web-based (and hence cross-platform) UI for these parts instead. Indeed, you can open Web Inspector and see how they're built," Opera explained.

However, the company boasts that it preferred to do its own work in the areas where it believed it mattered.

For example, Opera completely ditched Chrome's UI layer and instead built its own native UI for each of the operating systems it's available for. That's probably why there's no Linux build yet.

"We also wanted to give Opera a more native look and feel. And hence, taking also into account that native toolkits have evolved over the last 10 years (especially on Mac), we decided to build the whole UI with native code: we stripped away Chromium’s UI layer, and built it piece by piece from scratch," Opera's Sebastian Baberowski writes.