DEV Community

Cover image for Google's Grip On the Web Has V8 Power
The Sharp Ninja
The Sharp Ninja

Posted on

Google's Grip On the Web Has V8 Power

Google Dominates The Web, But How?

Google has many prominent properties on the web, starting with search. But along the way they realized they needed to control what the web is to ensure that their search engine can always consume every bit of content out there. If that content is locked away in technologies that google isn't in control of, then it gets much more expensive to crawl the web for content.

Therefore Chrome was created.

This is a topic I've followed for many years, even before Chrome was officially announced; back when Chrome was donating $50M per year to Mozilla to ensure an open-source browser was available to counter Internet Explorer while Google ramped up development on Chromium (the open-source bits of Chrome). At the time, Microsoft was in turmoil over the Antitrust settlement and the limitations therein, as well as the transition to Steve Ballmer as CEO. Their eye was not on the ball, and they screwed up big time by letting IE6 stagnate for years.

Chrome was released to great fanfare and critical acclaim, especially as its performance and feature set grew as quickly as its market share. Back then, web developers were only worried about speed and being able to reproduce a page the same way on multiple browsers. At the time, the Mozilla Gecko rendering engine was considered the best, so for many years Google focused on ensuring that Chrome rendered the same as Gecko. This pleased developers, especially when Chrome would appropriate Gecko's proprietary CSS properties. Google conquered rendering, but their coup des gras for the web was about to happen in their V8 JavaScript engine.

Google focused on improving the speed of JavaScript inside the browser and made major improvements to both security and performance in doing so. When HTML5 was adopted, Google unilaterally declared that no other scripting runtime was required, announced the end of support for extensions and did a mic drop.

Instead of calling out Google for the obvious power-play in what was by then the dominant browser, Mozilla, Opera and Microsoft cheered. Getting Flash and Java out of their browsers seemed like a promising idea, so why not go all JavaScript? Then WASM came along, and each JavaScript engine was extended to run WASM because it made sense to allow an alternative to JavaScript play in JavaScript's sandbox. Now, the idea of extensions could be put to rest forever and everyone rejoiced.

About this time, people started taking the idea of building a browser based on Chromium really took off. Let Google do the heavy lifting and just worry about the features you think matter to consumers. This movement made it all the way to Microsoft where they embraced Chromium and made it more Windows-Like and called it Edge to maintain the branding they had started with Windows 10's new browser. Now within the course of a year, Microsoft is going from supporting three browsers to just supporting the new Chromium Edge.

Meanwhile, Firefox continues to bleed market share (now under 10%). Only Apple's Safari stands out as not using Chromium as its base and having significant market share (mostly due to all browsers on iOS being reskinned Safari).

So, Google has managed to take over the visual aspects of the web regardless of what browser you use, but Google's web spiders still need to see that web. For most of the web's existence, it has been rendered on servers and html delivered to the browser. This is the optimal path for scooping up data to be parsed and indexed for search and other uses. Displaying a website without serving HTML throws a major monkey wrench into this. Most websites are served via Content Management Systems that do server-side rendering. Also, frameworks like ASP.Net and Angular use server-side rendering. But technologies like Flash, Silverlight and Java Applets rendered things in the browser, inside extensions that Google could peek into. The spiders had to be trained to wait for HTML to be rendered (ala Silverlight) or just give up (ala Flash and Java Applets, both of which use custom rendering). Content delivered in this way could not be parsed, and thus ads delivered to this content could not be targeted based on the contents of the page: this is where dominating the allowed scripting environment benefits Google. By eliminating plugins, Google has forced developers to technologies that are easier to parse and thusly serve targeted ads. React and Vue.js both render in the client, but they render to HTML, allowing Google to parse the page.

Additionally, some numb-nuts decided that V8 would make a fine server-side scripting environment, and web developers who are stuck in JavaScript and TypeScript rejoiced, because now they could write their own APIs with REST and expose tons of data to the world until they figured out that they needed to secure these low-performance, leaky APIs. So, we get fed JWT and OAuth, both of which are answers to questions that were answered a long time ago with better solutions. But they are optimized for the way Google works, which is all that seems to matter any longer.

Enter UNO Platform

If you don't know what the UNO Platform is, go to their website right now.

UNO Platform started as an effort to make WinUI 2 cross-platform. They succeeded at this, and then decided to add WASM as one of those platforms, leveraging the MonoWasm work from Microsoft. At first, they were translating WinUI controls to HTML 5, but that really didn't work. WinUI is too rich in functionality for that to be an enjoyable experience for developers trying to support multiple platforms. Now, UNO Platform targets WinUI 3, and they either render natively on Windows 10, or to SkiaSharp on all other platforms, including WASM. This allows UNO Platform to render an app identically across all platforms whether it's a native binary on Windows, Android, Linux, iOS, MacOS, or through WASM in a browser.

And of course, rendering to the canvas in the browser is expressly not what Google wants people to do, so if UNO Platform grows real legs, it will be interesting to see what response Google offers. I suspect it will either be to remove direct drawing to the HTML Canvas from WASM or implementing WinUI in Chromium itself, allowing the apps to target WinUI without an intermediate layer, which should improve user experience, but more importantly for Google, allow them to scoop up the text in the window for indexing and ad sales.

I hope you find this perspective from someone who has been part of the industry since 1995 useful.

Discussion (0)