My Thoughts on Technology and Jamaica: @Microsoft supports asm.js JavaScript subset – How C and C++ 3D Web Apps run Faster and support Windows 10 IoT push

Friday, February 27, 2015

@Microsoft supports asm.js JavaScript subset – How C and C++ 3D Web Apps run Faster and support Windows 10 IoT push

“Over the last few months we’ve taken a close look at asm.js as a technology, related technologies, and what they entail for the Web at large. While challenging to write by hand, asm.js is leveraged principally by transpiling C/C++ code to run on the Web platform, utilizing technologies such as WebGL and Web Audio. Asm.js is a clear step towards enabling near-native performance for the Web platform, which is why we’re excited to bring it to Chakra in an upcoming release”

Microsoft Chakra team commenting on Wednesday February 18th 2015 announcement of the asm.js JavaScript subset in their Chakra JavaScript Engine for Windows 10 as well as Internet Explorer 10 Browser 

Folks, it appears that hell has frozen over with this recently announced deal involving Microsoft and Mozilla Firefox.

Microsoft has finally endorsed the use of asm.js, a Java-based 3D Accelerator for Web Applications created by the Mozilla Foundation as stated in the article “Microsoft’s JavaScript Engine Will Soon Support Mozilla’s Asm.js”, published February 18, 2015 by Frederic Lardinois, Techcrunch.

So says the Press Release published Wednesday February 18th 2015 on the Microsoft MSDN Blog as noted on “Bringing asm.js to the Chakra JavaScript Engine in Windows 10”, published Wednesday, February 18, 2015 2:31 PM, MSDN Blog.



Microsoft plans to use the asm.js JavaScript subset in their Chakra JavaScript Engine that'll be used on Windows 10 as well as the Internet Explorer 11 Browser. Developers will love this, as the asm.js JavaScript subset makes Web Apps, particularly 3D Games run much faster, almost as if installed on the Computer’s Operating System.

Microsoft's Chakra JavaScript Engine supports asm.js JavaScript subset – How 3D Game Web Apps in C and C++ will run Faster

Because it’s a subset of JavaScript, it has all the benefits of the parent but with the ability to run much faster than full JavaScript. Thus, with Microsoft’s support in Windows 10 and Internet Explorer 11, expect to see more HD Video and Video Games Web Apps being developed for Browsers that support the asm.js JavaScript subset.

This move appears to have been initiated by Microsoft CEO Satya Nadella and is a positive move towards making Microsoft becoming more supportive of Web Standards for rendering Websites, such as HTML5, much to the delight of bloggers such as myself.

Now that Windows 10 and Internet Explorer 11 will have asm.js JavaScript subset support, Developers can use the Emscripten compiler to compile C/C++ code into JavaScript. This makes it possible for programs written in C/C++ code to run on any Browser that already supports JavaScript, allowing them to focus on the work of coding instead of having to learn a new language all over again.



This means a lot of 3D Games written in C/C++ Code can be easily ported to JavaScript and run very little lag or distortion, albeit the games will be about 1.5x slower than the original games in C/C++ code. That's still better than running the game in its original C/C++ code as a Web App, which would show quite a bit of lag and stuttering. 

Microsoft's Chakra JavaScript Engine supports asm.js JavaScript subset - How asm.js JavaScript subset might support Windows Developer Program for IoT.

asm.js JavaScript subset support was a long time coming as noted in the article ​“Microsoft joins with Mozilla in bid for fast Web apps”,  February 19, 2015 2:25 AM PST by Stephen Shankland, CNET News.

Microsoft support via its integration into the Chakra JavaScript Engine means that the Microsoft Internet Explorer 11 will be supporting a Web Standard that Firefox, Chrome and Safari already support, making Developers squeal with delight as their Web apps will run the same on all Browsers.

Also, unlike Google, Dart and Native Client, asm.js JavaScript subset supports JavaScript on older and newer Browsers.

Google know this, hence the reason why their Project Turbofan is actively involved in integrating asm.js JavaScript subset into the next build of Google Chrome 41, with the expected boos in terms of faster web Apps, to quote the Turbofan team: “We're already beta testing TurboFan in Chrome 41, which significantly improves the performance of numeric code like asm.js. One could consider this issue 'mostly fixed.' We are actively experimenting with the policy to activate TurboFan, and one signal is the 'use asm' directive" that Web pages use to invoke asm.js”.

It also opens up the possibility that Developers for IoT Applications can use Windows Developer Program for IoT baked into Windows 10 to interact with Web Apps running on the asm.js JavaScript subset to create IoT Products, especially using the new US$35 Raspberry Pi 2 Model B as noted in my blog article entitled “US$35 Raspberry Pi 2 Model B to run Windows 10 - Why Windows Developer Program for IoT is Microsoft 's IoT Push”.

So if you are a Developer of Web App Games in C/C++ Code or even have an interest in developing IoT Applications, this latest freezing over of Hell thanks to this unlikely and unexpected partnership with Mozilla Firefox will make developing Applications for Microsoft 10, Microsoft Internet Explorer 11 and eventually Google Chrome as easy as it is currently for the Mozilla Firefox Browser.




No comments: