How to develop unhosted web apps

Previously we would present "do it with Unhosted" as a sort of platform that includes a client and a server. Now, we say 'unhosted web apps' are web apps that live in the browser and do not have their own server-side part. That is, if server-side functionality is needed, for instance for communication or persistence, then this is considered part of the app's environment, and not of the app itself. We have a few other tips and tricks on this page, and want to evolve this page to a general summary of the developer resources and tools that are relevant when you are developing your unhosted web app.

back

RemoteStorageJs

Our main tool here for storing user data from an unhosted web app is the 'remote storage' standard. It allows a user to connect a compatible storage server with a compatible unhosted web app. So your app stores data to a remote storage server that is owned by the user, not by the app developer. So this is a big paradigm shift! To create apps that allow users to connect their remote storage, we recommend you use RemoteStorageJs. It's the equivalent of iCloud for unhosted web apps. It is still in developer preview, but already provides the following modules:

The Unhosted Unconference

Weekend of 7-9 September 2012, near Prague (CZ)

If you're near Prague this September, then don't miss The Unhosted Unconference. It's an unorganized get-together in a village in the hills of Central Bohemia which was named after it. The wifi is flaky and the Pilsener beer is very cheap. ClubMate will be transported from Berlin by train for the occasion. The rest is up to you.

Firefox as your phone

People developing iPhone apps are one big competitor and talent drain of the open web. Solution: We have to make the web as good as Apple's proprietary platform. With Firefox OS, Mozilla strikes back in defense of the open web and launches its own smartphone and tablet platform. Entirely open. Entirely based on html and javascript. Firefox OS is based on Boot2Gecko, which is basically Firefox mobile on a very stripped-down Android extract, and WebAPI, an endeavour to expose all device functionality to javascript as simple DOM interfaces.

WebIntents

WebIntents provide a way to communicate with other unhosted web apps that are installed on the same device, as well as with hosted web apps which might be open in the browser, and also possibly some native device functionality.

PouchDB

PouchDB is the browser database that syncs. Go check it out, it's awesome!

WebP2P

WebP2P is a discussion forum for exploring how to use WebRTC to build peer-to-peer applications on the web.

5apps news

The equivalent of Hacker News, but focused on technologies that will boost your unhosted web app with awesomeness. Follow 5apps news for your daily dosis.

5apps for packaging and deployment

There are a lot of rapidly changing formats and technologies to package a html5-based app for distribution to an app store and onto a device. 5apps is a very handy tool that takes your mind off the various manifest files and allows you to focus on just the app itself. To deploy, simply type 'git push 5apps master' from your repo. The rest is automatic.