Newbie wanting to develop apps

Hi guys,
I’m really excited about maidsafe. I’m so excited, that I’m seriously considering if I’d like to devote time to app development. There’s just one thing. I don’t know how to do that.
I have some basic, rudimentary python knowledge, but it’s rusty and not very comprehensive.

My questions is:
If I wanted to develop apps for the safe network, what would it take for me to be able to do that?
Do I have to learn rust? If so, do you recommend a specific route?
What areas of programming should I focus on, when learning what I need to know?

How hard would it be for someone with my background to learn how to do this? (I know, it’ll depend on what kind of app I’d like to make. Let’s assume something like a 5 on a scale from 1-10, where 10 is ridiculously complex and 1 is hello world).

Any and all thoughts are welcome.

7 Likes

Hi there, welcome to the forum :+1:

You’ll probably be able to program your Apps using JAVA and CSS etc. These will run in the SAFE App Launcher. But next to that, you could program your own App using C# or some other language to create a standalone program that connect’s to the SAFE Client through an API.

Here’s some more, you’ll see people with “Maidsafe” in their username. These are the Devs/designers here from Maidsafe, like Viv.

4 Likes

The Rust Programming Language :ant:

Welcome! This book will teach you about the Rust Programming Language. Rust is a systems programming language focused on three goals: safety, speed, and concurrency. It maintains these goals without having a garbage collector, making it a useful language for a number of use cases other languages aren’t good at: embedding in other languages, programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems. It improves on current languages targeting this space by having a number of compile-time safety checks that produce no runtime overhead, while eliminating all data races. Rust also aims to achieve ‘zero-cost abstractions’ even though some of these abstractions feel like those of a high-level language. Even then, Rust still allows precise control like a low-level language would.
:ant: http://doc.rust-lang.org/book/index.html
“The Rust Programming Language” is split into eight sections.
This introduction is the first. After this:

Getting started - Set up your computer for Rust development.
Learn Rust - Learn Rust programming through small projects.
Effective Rust - Higher-level concepts for writing excellent Rust code.
Syntax and Semantics - Each bit of Rust, broken down into small chunks.
Nightly Rust - Cutting-edge features that aren’t in stable builds yet.
Glossary - A reference of terms used in the book.
Bibliography - Background on Rust’s influences, papers about Rust.

After reading this introduction, you’ll want to dive into either ‘Learn Rust’ or ‘Syntax and Semantics’, depending on your preference: ‘Learn Rust’ if you want to dive in with a project, or ‘Syntax and Semantics’ if you prefer to start small, and learn a single concept thoroughly before moving onto the next. Copious cross-linking connects these parts together.

2 Likes

You don’t need learn Rust or a particular lenguaje. The communication betwen your program and the Safe network it is performed through JSON messages via the launcher. Thats all. So if you know Python you can use Python.

https://github.com/maidsafe/rfcs/blob/master/active/0010-Launcher-as-a-service/Launcher-Service-Documentation.md

2 Likes

Python isn’t very suitable for deployment though because users would need to install Python and any dependencies to run your app.

The simplest for deployment is a web app (html & javascript can run on all devices and operating systems).

Compiled languages are the next best, but you’ll need to compile and deliver installers for different operating systems and devices which is a big overhead. I suggest you pick the easiest to start with and learn as you go.

7 Likes

More on this later *hint *hint won’t spoil it

2 Likes

so, html5 games made on something like Construct2 might work nice ?

2 Likes