The State of Rust
Rust is a language I am determined to get more practice down this year and I have been really interested in Rocket which is a modern web framework for Rust that is pretty nice and rather powerful.
Rocket provides a pretty robust api to create some very well designed web clients and it allows for rapid development without compromise. Rocket works pretty well and allows you to create services with small amounts of code, similar to what you may expect from Express but it provides stronger types and overall better performance. The main thing in my opinion holding Rocket back is how it is still very much in early development, similar to most major libraries and packages in Rust these more comprehensive and often more ambitious projects are still a way off their offical v1 release, this is my biggest concern with working with Rust.
Rust offers a lot it is a very modern language but it is low level enough to givec you full control over what you need. It has a lot of build in conveniences that help produce better code without compromise. The syntax is generally pretty good and the speed of the final product is great, but being a new language it is still heavily in development and the ecosystem is evolving rapidly. This isn't always a bad thing but it is a problem when you want long term services as they will quickly get out dated as I found with the crate reqwest in which the new version pulls data very differently, arguable better but doesn't provide quite the level of backwards capability that would be nice.
I still think this is what is holding Rust back somewhat, it is new and everything is coming together over time, it means we have to use crates like Rocket in Rust Nightly version instead which is ok when using Docker but still subpar overall and often creates the barrier for bigger more long term services sadly. Now of course this will come together in time and Rust is still very new and there is a ever growing passionate community driving it and with Web Assembly I only expect the uptick of Rust to grow ever more.
Rust has a lot going for it and it is growing and improving with each itteration, it is great and we are starting to see more serious clients use Rust as we saw NPM switch to rust for cpu intensive tasks, Figma moved their multiplayer service to allow for more scale and help remove bottlenecks; and most recently we saw Discord move from Go to Rust which was a very surprising move. Overall the Rust out look is pretty positive and provides a lot of great potential.
I can expect we will see more major Rust services and as more clients start to get familiar with Rust we will hopefully start to see a snowball effect to really make this year the pivotal year for Rust, we will see it is hard to see where it will go this year but it is proving more and more that Rust is a language that is turning heads, and it is doing a lot of things well. I expect to expand my Rust projects this year and really aim to improve my overall competence with Rust, I hope to be building out some more interesting things as the year goes on as I am aiming to focus on Rust and React this year.
Photo by Kellen Riggin on Unsplash