SAFE programming languages help

Okay in my course of trying to play catch up with SAFE web development and perhaps even aspiring app development I’ve run into an emphasis on the following languages.

Javascript
CSS
JSON
Node.js

And of course Rust. There is also HTML but that’s fairly common. But what I’m finding is it’s difficult to learn all these languages and put them all together into projects. I mean I have ideas I want to build but I’m struggling with finding tutorials and help to break down the javascript at various levels (JS, JSON, node.js etc) into something I can work with. What tool do you use for what job? How do you use it? Javascript at any level has largely been something one has used to fancy up web pages. PHP and other server side coding has been the tool of choice for databasing. However it seems that on SAFE javascript and other such languages will have a much larger role. Which means we need much more comprehensive tutorials and a lot more help in using it.

I find a lot of ideas around the forum and a few excellent code contributions but a lot of that is by those who already know their craft. We need tutorials that clearly take us from a to d without skipping b and c. No it cannot be assumed that because user a knows how to do something that user b will also find it obvious. No it cannot be assumed that because there is a javascript tutorial on the net that that will explain everything.

Much of the adoption of safe will depend on people being able to code in SAFE and remember much of our target audience is the every day user which doesn’t nessesarily have a background in coding. So the fact they just need to learn HTML and javascript et all is good but there needs to be a strong community backing SAFE web development in order to educate them.

1 Like

The safe net API is RESTful and most languages can interact with it. I would just suggest you use whichever language is most suitable for your planned application.

1 Like

Look what just popped up from the ‘IPFS on trending GitHub repositories’ topic:

How to be a Programmer: Community Version

To be a good programmer is difficult and noble. The hardest part of making real a collective vision of a software project is dealing with one’s coworkers and customers. Writing computer programs is important and takes great intelligence and skill. But it is really child’s play compared to everything else that a good programmer must do to make a software system that succeeds for both the customer and myriad colleagues for whom she is partially responsible. In this essay I attempt to summarize as concisely as possible those things that I wish someone had explained to me when I was twenty-one.

1 Like

Would the best place to start be here - Introduction

This will teach you how to interact with SAFE Network and then you use the guides below to pick your poison(language) to implement the API calls.

https://forum.autonomi.community/t/safe-api-client-libraries-go-ruby/

1 Like

I know what languages I want to use. I’m thinking javascript and json, maybe node.js at some point. But I’m not sure how to use them exactly. I feel like an idiot here. My first project is I just want to create a database to hold some pictures that hopefully could be sorted by catagory so that different catagories could be displayed on different pages. Then hopefully I could figure out how create an interface for all that via SAFE so pictures could be managed via the browser or an app of some kind. Maybe get a blog going next.

Wait these are json applications…okay but I still don’t know how to organize these into the apps I want to build. Grrr I feel like I’m on the edge of an “aha” moment and it’s just sitting there laughing at me.

Once there are a few good example apps, I am sure it will click together!

3 Likes

@blindsite2k

Grrr I feel like I’m on the edge of an “aha” moment and it’s just sitting there laughing at me.

Yes, that’s it. The key is to keep reading and trying things out until things start to make sense. No other way I know to learn. Good luck :smile:

4 Likes

If you’re stuck on communicating to the Launcher, keep in mind that it’s the same as communicated to a web server. You just send a http request with a payload that is a valid api payload to the Launcher. Take whatever data you receive and process it client-side.

That one had me confused for a while if that’s where you’re stuck.

Okay what I’d like to do is have an external .json file to act as a database for all the pictures with the name, catagory and urls of each. Worst comes to worst I can manually input the data there. Then have a little javascript in each page that more or less runs a loop to display the pics from the database by catagory for each page. So nature pics for the nature page, anime pics for the anime page, quote pics for the quote page etc etc. I’d also like to eventually be able to create a login to add pics to the json file and upload them to SAFE via a web interface, that’s where working with the API comes in. But right now I’m still struggling with the first two objectives because I still don’t know exactly how to call data from an external .json file or how to properly work with the syntax and everyone keeps talking about the API. I haven’t got that far yet. I’ll need it eventually but I’m not there yet. I’ve never worked with sending payloads to the https using json so the analogy doesn’t help as I’ve never done either before (either that or you’re using new vocabulary I’m unfamiliar with. Please define a payload.).

hmmm - the problem might be that you don’t specify which language you want to use to access the database-file
… ignorant as i am i’d say javascipt is pretty mighty and you could research how you can access local files with it → in the next step how to access them via safe when you know how exactly you want to process the data you want [sais the one who doesn’t know much about JS at all]

depending on your background and programming experience it also might make sense to start off with creating lists in e.g. ruby (which to me turned out to be very intuitive today) and just play around to find out how you can structure your data the best way → process only names that will later be replaced by the pictures → and transfer this structure then to the more complex solution you plan on implementing - again first with internal lists - then reading those lists out of files
(this would probably be my approach)

i get the impression you want to have the perfect solution before you start to program the first lines
…i personally am a pretty chaotic character - and i start off with a pretty fuzzy idea - do some tests - and then i decide how i really will do it … because in the process the original concept might change a lot … (but … i’m not a good coder … so maybe the skilled ones do it differently xD )

Didn’t I? Ok perhaps I was unclear or this is another vocabulary thing again. As I said before.

So I’d be using javascript to access the database. I had considered writing an app in node.js but I know nothing about that language so that’ll have to wait for later.

Okay first off my background is mostly web development and web design with some very light dabbling in java, c++ and now Rust (as in barely able to string a hello world program together dabbling). Which is why I’m concentrating on javascript and json since it’s what I’m most familiar with at the moment so I’m building on what I know.

I work similarly but I still would like to have all my tools laid out before me before I start using them. I want to know what does what, or at least what’s supposed to do what, before I start coding or making decisions about how to code something.

Yeah I keep trying to do that and it’s pretty hit and miss trying to find the right tutorial. Which is why I’m here asking questions. :smile: Seems more efficient that way.

1 Like

okay - sorry then :smiley: i can’t help you better than google :wink: … but maybe others are more experienced than me xD

1 Like

No problem. Hey while I have this page pulled up I’ll post it here. Maybe someone will find this useful.

https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#professional-development

Another link that might be of use. http://www.tutorialspoint.com/json/json_tutorial.pdf

1 Like