Google Goes Big Time With Native Client

I mentioned Native Client in my recent article on Web game development and a recent upgrade to Google’s Native Client now allows games and other apps written in C, C++ and other languages to run native code within the Chrome Browser. Through some clever sandboxing techniques, the software can run safely within Chrome on Windows, Mac, and Linux without any danger of compromising the host PC.

Native Code gives a significant speed advantage over applications written in JavaScript. Even though Google’s V8 technology means that Chrome is very fast at running JavaScript, the speed of native code is often several times faster. In addition, writing the game in C++ or C# means that it can be easier to develop than in JavaScript as those languages use static type checking and allow more complex data structures than JavaScript. Google, for instance ,has been using Java for several years to program complex Web applications, with the Google Web Toolkit generating the JavaScript.

Though it’s only Chrome (Google’s browser) that supports Native Client, Chrome has recently become the Web’s second-most-popular browser. Plus the Chrome Web Store has now started accepting Native Client applications. Many games and apps there are free or sold through Chrome Web Store Payments with a modest 5 percent fee to Google. There are other options of a monthly or yearly subscription with Chrome Web Store Payments, free trial (for payment or subscriptions) or a custom payment solution. If that’s not enough, then there’s In-App payments that are also charged the same 5 percent fee.

Another reason to consider Chrome is because the Chrome Web Store has more than 200 million users and, unlike Apple’s App Store for iOS devices, there’s no approval needed except an automated one and in most cases, an app will be published without further manual review. But check out their FAQ to be sure.

If you’ve written a game in C/C++ then now is a good time to dust it off and see what it would take to make it Native Client compatible. Does it use SDL? That’s not a problem; they’ve even prepared a guide to Porting SDL Games.