What is Rust?
Rust is a programing language. Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages.
What is WebAssembly?
WebAssembly is a new type of code that can be run in modern web browsers — it is a low-level assembly-like language with a compact binary format that runs with near-native performance and provides languages such as C/C++, C#, and Rust with a compilation target so that they can run on the web. It is also designed to run alongside JavaScript, allowing both to work together.
Is this course right for you?
If you plan to start your career as a developer or improve your programming skills, this course is right for you. Learn how to build a browser game with minimal JS and Rust code compiled into webAssembly instructions.
You will get the confidence and skills required to start your projects during this course. In addition, you will get the right mindset to apply for a developer career.
What are you going to work on?
You will build the Snake game from scratch. You will learn to write code in Rust language, static type, compiled language.
The course starts with an explanation and practical examples of the Rust language. You will learn Rust-specific features such as "moving" and "copying."
Rust doesn't have a garbage collector. Memory is cleared when the values are getting out of the scope. You will learn how to manage this concept with ease.
The next feature you will learn of is borrowing and references. Through references, you will be able to access values without owning them.
In the beginning lectures, we will also talk about memory management in Stack and the Heap structures, modularity, strings, and other essential topics.
After Rust's introduction lectures, you will start building your Snake game. You will learn how to structure the application modular and cleanly.
You will build your own JS frontend, exposed through a simple Webpack development server. Later, you will transform JS implementation into TS (Typescript). This will specify types and be on the same page as Rust code.
Then, you will build your rust backend code, the backbone of our game. You will learn how to compile Rust code into WebAssembly code. WebAssembly is code that can run in the browser. It's faster (almost Native speed) and more efficient than JS.
At the end of the course, we will create a production server, and deploy our game to Heroku, so anybody on the internet can play our game.