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.

7 Likes

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.

SAFE Apps

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.

16 Likes

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.

9 Likes

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.

2 Likes

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

1 Like

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.

4 Likes

@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 StackExchange.com has the best answers, or for more descriptive help there’s often a blog post you can find with a Web search.

1 Like

@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:

2 Likes

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!

2 Likes

Hi @scottefc86
I’m doing the “web developer bootcamp” on Udemy and I think it’s really good. It’s for beginners.
https://www.udemy.com/the-web-developer-bootcamp/learn/v4/content
I got it for 10 euros, they offer reduced prices all the time.
:slight_smile:

4 Likes

You could also check codecademy.com, 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: GitHub - wardbr/Safe-todo-draw: Vue.js version of TodoMVC with list saved on the SAFE network instead of local..
But these are probably a bit too advanced to start with.

4 Likes

Thanks I will definitely have a look at those two sites. I’m still enjoying the https://www.freecodecamp.org/ 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:

3 Likes

I found that this was a good read : My journey to becoming a web developer from scratch without a CS degree (and what I learned from…
https://teamtreehouse.com/ 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 : http://flexboxfroggy.com/ and http://www.flexboxdefense.com/
On https://www.codewars.com/ you can find lots of exercises to practice in many languages
And I like Zell Liew’s blog : https://zellwk.com/ 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!

4 Likes

Just a little update on my progression (if anyone cares :joy:) I’ve completed the html and css tasks on codeacademy and freecodecamp and now I’m on JavaScript. I’ve done the freecodcamp tasks and moved over to codeacademy and also trying sololearn aswell. I’m finding it a bit difficult as they all use different code styles. Would I be best just sticking with one course and trying to learn a certain way to code? Or am I on the right path as I will encounter various ways of coding the same thing?

5 Likes

I guess in the beginning it’s a little bit confusing to switch between different ways of doing stuff all the time… as you said the upside is seeing the pros and cons of the different options… I don’t think anybody knows ‘the right way to learn’ stuff…

For me it helped a lot in the past when I just started to code something… While you get closer to your goal you search for the different aspects on how to do them and in the end you did learn a lot and there is something a little bit useful =)
… If you do it like that you might do a lot of unnecessary work and rewrite quite large chunks of the code a couple of times too… But with a goal it’s way easier for me to invest the necessary time to learn the basics

2 Likes

I’m certainly interested. This is great news :slight_smile: I suggest any way that works for you is the ‘right’ way to learn, while also looking for ways to improve that as you go.

There’s lots of tool support for coding styles these days. I recently began using standard.js which I found through Tim Berners-Lee. It fits the way I’ve found I like JS to be pretty well, and is supported by my favourite editor (Atom) and no doubt others.

It has increased my productivity (catches many bugs in new code before I run it) and ensures the code is consistent and so more easily readable by anyone.

Keep us updated, great progress :slight_smile:

2 Likes

I’m certainly interested. This is great news :slight_smile: I suggest any way that works for you is the ‘right’ way to learn, while also looking for ways to improve that as you go.

There’s lots of tool support for coding styles these days. I recently began using standard which I found through Tim Berners-Lee. It fits the way I’ve found I like JS to be pretty well, and is supported by my favourite editor (Atom) and no doubt others.

It has increased my productivity (catches many bugs in new code before I run it) and ensures the code is consistent and so more easily readable by anyone.

Keep us updated, great progress :slight_smile:

Not sure if I should make a new topic for this but I’m getting a little frustrated learning java. I’ve been searching for code to play around with on codepen for a poker game but when I copy the code it will not work. I think it has to do with the way it’s written. As you know I’ve been learning on a few different sites and have noticed the way sololearn teaches is very different from freecodecamp and codeacademy. Would the way this code is written stop it working in codepen and why.



I’ve also noticed most of the code I come across when searching is written the way sololearn is teaching. Any help would be appreciated :pray:t2: