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 http://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.

Comments (8)

  1. Judah Gabriel Himango says:

    Wow, this looks really awesome. Trying it out this weekend on my web app.

  2. Stephen says:

    Terrific idea, can't wait to try it. Do you plan to keep it updated as app platforms change?

  3. Vitor says:

    That's amazing! Eager to try it out. Thanks for sharing. 😀

  4. john says:

    Just wondering – precisely which issue is this solving? It is basically saving me the effort to generate multiple wrappers for each platform myself, right? I obviously still need to have the mobile webapp itself first right? Or does it automagically create a mobile app out of a webapp somehow?

  5. mcharytoniuk says:

    React Native does not use web technologies (HTML) and relies on Native elements so it can't be compared to Cordova. It has completely unique approach.

  6. boyofgreen says:

    Hi Stephen, we have a number of folks from the community that are working to get keep up to date.  As the platforms change and move towards the standard, we'll update Manifoldjs with the changes!  Keep an eye on the project in github.com/manifoldjs or http://www.manifoldjs.com

  7. boyofgreen says:

    Hi John,

     Every platform has a different way to implement hosted apps, so manifoldjs normalizes that around the upcoming standard.  We let the developers focus on writing the W3C manifest for web apps, and we handle the cross platform builds for them.

  8. Anonymous says:

    Hi,

    i can import cordova folder output in visual studio?

    Thanks