Build 2015 and ManifoldJS

I just walked offstage after another amazing build keynote. There is so much new technology that can help you build great next-generation applications. But there’s just too much to drill into in one blog post. So we take a look at each major coding demo in a series of posts – starting with this one.

Today developers who want to reach a lot of customers are faced with supporting many different devices, with different size screens, input modes and so on.  Developers try to tackle these challenges using a lot of different techniques – and the choice really depends on what code you already have and what kind of app you have created.  In the past couple of years at build, Guggs and I have shown using Unity, Xamarin and of course there are a number of solutions that leverage the web including Cordova, React, and the new hosted web apps we just introduced with Windows 10.

As you know, we’ve been talking about the value of Hosted Web Apps for some time now.  Hosted Web Apps allow you to use your web content as the base of your Windows Store app, allowing you to keep the same workflow, content and deployment model that you use today.  We’ve heard from a lot of developers that use Hosted Apps that, like the web, makes more sense when they are cross platform. 

To help developers really accelerate the delivery of apps using web technologies, today I announced ManifoldJS - a new open source framework that that can take a website and create an application for Windows, iOS, Android, Chrome, and Firefox – that really simplifies creating hosted apps across platforms.

Recently, the W3C has worked to standardize a way to describe all the metadata used to create web apps.  It’s called the Manifest for Web Apps and it’s an effort supported by all the major browser makers.  ManifoldJS uses the W3C Manifest for Web Apps to create the apps for a number of platforms: iOS, Android, Windows 8.1, Chrome, FireFox OS, and now Windows 10. When the platform supports hosted apps, we create them natively, when they don’t we use Cordova to pollyfill the functionality.  What you end up with is a simple experience that allows you to focus on your manifest file, and ManifoldJS handles the heavy lifting of generating files for each platform. 

ManifoldJS runs as a command line tool through node.js or you can use the web based tool at https://www.manifoldJS.com.

The example we showed today at Build was a fictional demo app called Shiftr which lets developers vote on developer frameworks.

 
In the demo, I simply typed “ManifoldJS http:/www.samplesite.com” and ManifoldJS generated projects for each of the individual platforms.

And now, the finished product in Android Studio:

With ManifoldJS, developers simply create the standard manifest, and ManifoldJS creates the apps for the different platforms and devices.

I can’t wait to see what you do with it.