Dev an app in SafeNetwork. Where to start?

The are several options and which you choose will be a mix of suitability for your purpose and personal preference.

As an example, the simplest and most readily portable option is a WebApp:

  • WebApps: HTML/CSS/JavaScript which can do pretty much anything via an API (safe-js) which is injected by the SAFE Browser. This API is pretty stable at the high level (safeAuth, safeNfs and safeDns), but incomplete and being extended/revised at the lower level (as is the underlying client library). There are quite a few demo and prototype apps running on the current testnet, which are built like this. I think all the MaidSafe tutorial examples are web apps, while also using web frameworks. Other examples are almost just HTML with small amounts of JavaScript. Many to look through and some posts written on this forum have attempted to summarise the options, but most are out of date (though still worth examining).

You’ll find the MaidSafe ones in the tutorials. Some recent examples created by the community are:

App Zero by @whiteoutmashups is a minimal example showing how to authorize your app with the network. He’s also created SAFE-FS Demo which goes further in terms of some useful functionality, and utilising much of the higher level safe-js JavaScript API.

I’ve ported a couple of existing web apps that use RemoteStorage.js, a JavaScript library that supports offline working and so automatically syncs data with SAFEnetwork. See My Favorite Drinks, a minimal list editing demo, and Litewrite a useful clutter free note taking app. Both are currently live on the test network (Test 11).

  • Complied/Interpreted languages: You can build apps in any language, and these can be licensed how you like - unless you link directly with the SAFE libraries which will then require GPL3.

Apps other than web apps would be compiled per platform, and also need to be downloaded and possibly installed by the user.

  • Nodejs/electron: A mixed option is to use nodejs/electron, which gives you a web app style framework which can be compiled for different platforms. The MaidSafe Demo App and the SAFE Launcher were built like this.
9 Likes