My journey learning Rust
Table of Contents
Past and Present
I am a web developer with more than 14 years of experience. My experience has been more into backend development with PHP as the primary language.
For some years I have been consuming news about Rust. The features that impressed me were.
- Memory Safety Without Garbage Collection
- Zero-Cost Abstractions
- Concurrency Without Data Races
- Ownership and Borrowing
- Package Manager
- Powerful Type System
- Fearless Concurrency
After years of procrastinating I finally started learning Rust actively since August 2024. My learning alternates between reading books and watching videos related to Rust.
So far I have consumed:
- The Rust Book
- The Rust Lang Book Video Series
- C++Now 2017: Niko Matsakis “Rust: Hack Without Fear!”
- Udemy courses on Rust:
Honestly coming from the PHP background I found it hard to wrap my head around the concepts related to Rust. I have to go through the resources I mentioned above multiple times in order to grasp the concepts about rust. For example I have gone through the Rust lang Book Video Series around 4 times. So yes my rust learning journey was a too slow as compared to how I would pick React or Angular.
So I got hold of the basics now what next?
Once I got a hold of the concepts of Rust, the next steps was to build some real world apps. Since my background in is PHP I have good knowledge of building REST APIs over the years. So that is where I started.
I started looking in to libraries and frameworks I can use to develop REST APIs in Rust. And there are a good number of options:
- Rocket
- Actix
- Axum
- and many more
I wanted to go with a single framework or library you can say to start with. Based on my research and comment on reddit threads I chose to start with Axum.
How I am approaching Axum?
Understanding concepts
I am going through the documentation of Axum. Also I am going through blog posts and videos related to axum.
Shadowing
I am going through blog posts where small projects related axum have been implemented and trying to implement the same project myself.
Next?
Armed with the above knowledge planning to implement a CRM project (API + UI) with auth and all the bells and whistles that a typical web application needs.
Axum Resources
- Space Dimp Blog I have implemented the blog project here.
- Mastering Rust Web Services: From Axum to CRUD Operations
- Jeremy Chone video courses
I will be shadowing and implementing the above course projects myself. Also, simultaneously I will be exploring GRPC with tonic.
I will be updating this page as and when I progress with my Rust learning.
Happy Coding!