Rasmus​.krats​.se

Rust and the web in 2018

Posted 2018-01-07 22:50. Tagged , , , .

There is A Call for Community Blogposts over at the Rust Programming Language Blog. This is my entry.

I mainly do “server-based” web service development. The server sends html, css, images, and javascript to the browser. The javascript implements progressive enhancement for the content, but the site should be usable and as nice as possible even with javascript disabled. So while I certainly do RESTful json API:s, I also do server-side html templateing, css (and scss) minification, etc. I think Rust has great potential here, partly because of optimization and execution speed, but mainly because the type safety and fearless concurrency make it easy to actually get things right and avoid unpleasant surprises at runtime.

My wish for Rust in 2018 is a nice and convenient web service framework that runs on stable rust and gets maintenance and regular updates for many years to come.

My intent for 2018 is to continue to maintain and improve ructe (and rsass), and try to integrate it with the best such framework i can find.

I currently have two web service projects in rust: homesite is a trivial example using iron and rphotos (https://img.krats.se) is a more ambitious photo gallery / management app using nickel. Unfortunately, both iron and nickel seems more or less abandoned, as both still depend on hyper version 0.10.

https://Rocket.rs seems awesome, but requires unstable rust, and I would prefer to build my projects with the stable toolchain.

Maybe gotham can be the framework I’m looking for? I think it needs a lot easier request routing and path extraction, but there seems to be work going on to fix that. And maybe that is something I can help create? There are some issues tagged discussion and help wanted which might provide good starting points. And there is the Gotham book to read.

Or maybe either iron or nickel will make a comeback? There are open issues in both about working with hyper version 0.11 (iron#501 and nickel.rs#402), even if they haven’t seen much activity recently.

Comments

Write a comment

Basic markdown is accepted.

Your name (or pseudonym).

Not published, except as gravatar.

Your presentation / homepage (if any).