How to? for making an app for the safe network


Can anyone point me in the right direction as what I need to learn to make an app for the safe network? I am basically computer illiterate and get confused by all the the different computer languages. What would be the best language to learn first and more importantly what would be the best language to learn for safe. I’d love to be able to contribute more to this community other than buying maidsafe coins and comments on this forum. Thanks in advance for any responses and any help is much appreciated.


Are you thinking only of building apps for desktop, or might you build a Web app (ie like a website, which runs in the browser)?

If the latter, then you will need to learn a mixture of HTML/CSS and JavaScript, and probably add in a web framework such as ReactJS or AngularJS (there are quite a few others).

You can use other languages to build web apps but I think it would be easier to stick with the above unless you want to build desktop apps, which run directly on Windows or Mac or Linux or iPhone or Android. Note the "or"s as it is not easy to make a desktop app work on different operating systems, and mobile is really more like another app altogether.

That’s why I favour Web apps where suitable, they will pretty much work on anything with a SAFE browser, which will be all of the above. You should need to do a fair amount of tuning to work well on all different sizes of devices - screen sizes that is - but it is much easier than building for different operating systems.

So if you go for a Web app it is much less of an issue which language to learn - start with JavaScript because there are lots of resources to help you learn, lots of libraries ready for you to use, and already many app and code examples already running on SAFEnetwork available for you to learn from.

That’s important, because one of the best ways to learn is by examining other people’s code and then trying to adapt it, or even just make superficial changes until you are ready to build an app from scratch.

A Simple SAFE Website

If that route sounds good, start with a simple website and get that running on SAFEnetwork. The following topic should help with that:

Then you can add to this, start with getting your website to authorise on SAFEnetwork for example, and then add to it step by step.

Or you could begin to look at code that others have produced to do similar things and understand how that works. There are posts on the forum about such apps but some are quite old and may not have been updated so I won’t post links here in case they send you on a wild goose chase!

Ask here when/if you want some tips and people will help out.


If you want more on options for development I wrote the following post a while ago, but this isn’t really for beginners. It is quite old and some details will have changed but I think it is still a reasonable guide.

Decentralized Trello for SAFE

JavaScript is pretty much the most widespread language out there now and required for pretty much all web development. Freecodecamp do a free online course which I am working through myself when I have time. It takes a while though, particularly if the old grey cells are, well, a bit old.


Thanks @happybeing I think I will be going the web app route as this seems a little easier from what your saying. So start with JavaScript and then on to HTML. Do you have any links or good tutorials that you would recommend as there seems to be hundreds of courses/tutorials available.


Thanks @JPL that is exactly the kind of thing I was looking for :+1:t2: How long have you been learning?


About 9 months or so. It’s well paced, starts easy enough before dumping you in it later on! I would say Python is an easier language to start with for learning the concepts of programming though.


@scottefc86 I can’t recommend any beginner tutorials but maybe someone who has been through this recently can. Ah, there’s @JPL :slight_smile: bang on que.

You will find that most questions you have will have been answered, and has the best answers, or for more descriptive help there’s often a blog post you can find with a Web search.


@jpl I’ve just completed the cat photo app section and wanted to say thanks again for pointing me in the direction of this site. I’m really enjoying it so far :wink:


Glad you’re enjoying it. They say it’s good to do a few minutes each day and I’d agree. I had a break of a few weeks and when restarted and got to the project stages I found I’d forgotten huge chunks and had to run through it again.


Thanks for the insights @JPL and @happybeing, I’ll be exploring these options as well!


Hi @scottefc86
I’m doing the “web developer bootcamp” on Udemy and I think it’s really good. It’s for beginners.

I got it for 10 euros, they offer reduced prices all the time.


You could also check, which doesn’t seem to be mentioned yet in this topic.

I’ve assembled some useful resources concerning JavaScript when making a Safe webpage. You can find links to these resources here:
But these are probably a bit too advanced to start with.


Thanks I will definitely have a look at those two sites. I’m still enjoying the recommended by @JPL


If you are more visually oriented then Processing might be a good start to learn programming. You can program drawings, images, animations etc. It is kind of a sketchpad where you write your programs in, and Processing takes care of the deeper details of how to draw on the screen. It makes it more fun to learn how to program when you can get visual feedback from your code. In the original Processing environment you use Java, but there is also a Python mode. Since a few years Processing also has a Javascript project called p5.js where the programs can be used in your browser.

Here is a tutorial series on p5.js:


I found that this was a good read : was also recommended to me a couple of times, but I haven’t tried it yet (you have a 7 day free trial). I found that Codecademy was nice to start, because you can write code directly in your browser, but it doesn’t teach you to make things from scratch, and they hold your hand too much.
There are funny games too, like these two ones to learn the CSS flexbox : and
On you can find lots of exercises to practice in many languages
And I like Zell Liew’s blog : he gives good advice and clear explanations on how to learn JavaScript, HTML & CSS

Voilà :slight_smile: thought this might be useful to help fellow beginners!