Are we web yet?

You can build stuff!

Rust has a mature HTTP stack and various frameworks enable you to build APIs and backend services quickly. While increasingly more databases drivers become available, ORMs and connections to external services (like search or worker queues) are still scarce. Looking farther, it doesn't necessarily get better. Though there is significant support for base needs (like data compression or logging ), a lot more web-specific needs are still unmet and immature.

 

Can I replace my Rails/Django/Flask already?

Well, probably not yet. While the basics are there, many of the handy utility libs that make working with many popular frameworks so quick and easy are still missing. If your service primarily provides an API to be consumed by other computers, requires little external services and you are happy with writing most SQL yourself, then Yes, You Can! Otherwise, we would not recommend it just yet.

What should I replace it with?

The web frameworks of choice in the community are:

For data storage there are mature drivers for:

If you’d like to use an ORM there is:

If you need to (or want to) go lower in the stack:

Getting started

After you’ve set up your Rust and worked yourself through “The Book”, we highly recommend taking a look at fully annotated source code of the clippy-service, an iron-based microservice, which shows how to use many common features like redis database connections or JSON parsing. Otherwise you might want to check any of these blog posts (ordered latest published first):

Either way you choose, if you find yourself stuck and looking for help, the official Rust-Lang user forum has a help section, where you are welcome to post your questions and soon will find help.

In detail

learn more about the state of web developer in Rust by topic:

Latest News