My journey learning Rust

  • Last updated on 23rd Jan 2024
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:

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

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!