HTML5 Desktop Wrapper/Framework

Adam H picture Adam H · Jun 13, 2012 · Viewed 21k times · Source

I'm currently mid-way through building a HTML5 application.

I'd really like to deploy this to desktop and I've looked at solutions such as Sencha but have had no luck (I found Sencha disappointing and frustrating to work with). I'd like cross platform compatibility and ease of deployment but I haven't found anything open-source or commercial that looks like it could do the job effectively.

Can anyone with some experience suggest a framework which might be suitable for packaging and deploying a HTML5 application on the desktop? An end requirement of this is that it will functional on both Mac OS and Windows - but for now Windows alone is great.

I've considered looking into building a C# wrapper which will render the HTML5, but a solution may already exist that I've overlooked.

I'd appreciate any responses from someone with experience - the other questions relating to this on the SO don't outline the solution the 'asker' went with.

Answer

Motin picture Motin · Nov 26, 2012

Findings after having researched this subject for a couple of weeks:

  • Node-Webkit - an app runtime based on Chromium (which also powers Google Chrome) and node.js. You can write native apps in HTML and JavaScript with node-webkit. It also lets you call Node.js modules directly from the DOM and enables a new way of writing native applications with all Web technologies. It's created and developed in the Intel Open Source Technology Center.
  • Adobe AIR - Widely used but with a major vendor dependency and no Linux support
  • PHP Desktop - Don't let the name deceive you, PHP Desktop can also act as a packager for pure HTML5/JS applications. It embeds a Chromium browser and a web server. Shipping the PHP interpreter is not required. PHP Desktop is not strongly tied to PHP, it can also act as a packager for any other scripting languages like Perl, Ruby, Python, that provide a CGI interface for executing scripts.
  • XULRunner - Benefiting directly on Firefox development efforts, this is an extremely well-maintained solution with great cross platform support but with almost non-existent tooling or documentation for packaging and distribution other than those of Firefox and other open source XULRunner-based applications themselves. UPDATE 2013-06-15: Webapp XUL Wrapper below addresses these issues
  • Chrome Web Apps - Good option if all you need is a link to your web app from your Chrome home screen
  • Chrome Installable Web Apps - Like a Chrome web app with more desktop integration. No flash support.
  • Mozilla Open Web Apps - Good option if all you need is a link to your web app from your Firefox home screen
  • Mozilla Native Web Apps - Like a Mozilla Open Web App with better desktop integration. Still requires online installation through Firefox Marketplace.
  • Flash projector - Worthwhile-to-mention low cost solution for packaging Flash-based apps as standalone desktop apps
  • AppJS (Node.js) - Promising project but with little activity
  • Bellite Toolkit - a commercial offering that aims for a light weight library footprint at around 1MB, which is 70x to 100x smaller than similar Chromium Embedded based frameworks. Multi-process architecture allows using Node, Python, Ruby, PHP or generic executables. (Note On windows requires the use of Modernizr (JS shim) in the app since Bellite's switch from Chrome Frame to use Internet Explorer)
  • Webapp XUL Wrapper - A XUL-based wrapper and build scripts for packaging a webapp into distributable bundles for Mac, Windows, and Linux.
  • Brackets Shell - An awesome wrapper created by the brackets.io team. Complete with build setup instructions and Grunt build tools. See more here: http://clintberry.com/2013/html5-desktop-apps-with-brackets-shell/
  • Atom Shell - A wrapper created by the atom.io team. It is based on node.js and Chromium and is used in the Atom editor.

A detailed overview of the current state of things, and more: http://blog.neamlabs.com/post/36584972328/2012-11-26-web-app-cross-platform-desktop-distribution

Another semi-detailed overview is here: http://clintberry.com/2013/html5-apps-desktop-2013/

No longer active/maintained: