So glad to see 0.5 out of release candidacy! I really appreciated how async functions and event streams were handled in 0.5, and just seeing this version land will make it so much easier to justify using Rocket in production. I still think Rocket is the most concise web framework for Rust after 5 years now of using it in projects and even newer frameworks, and also is one of the best examples of how ergonomic you can…
What’s your productivity like using Rust for web development?
Rocket seems like a lot of visual noise vs. Laravel/Rails/Django.
So glad to see 0.5 out of release candidacy! I really appreciated how async functions and event streams were handled in 0.5, and just seeing this version land will make it so much easier to justify using Rocket in production. I still think Rocket is the most concise web framework for Rust after 5 years now of using it in projects and even newer frameworks, and also is one of the best examples of how ergonomic you can…
What’s your productivity like using Rust for web development? Rocket seems like a lot of visual noise vs. Laravel/Rails/Django.
My Rust (actix but similar to rocket syntactically) servers are almost 1:1 code similarity to my Python (flask/django) in practice. The extra verbosity tends to only be for multi threaded state management but even then I can generally wrap stuff in an Arc RWLock and be fine.
I tried rocket back then and reached similar conclusions - then I just picked the most popular choice (actix at the time). Actix had its highs and lows but always delivered. Nowadays I'm on axum (mainly because the API is nice and because it feels like the community is moving in that direction) and the experience is great. I'm working to rewrite my node.js and python service to Rust to simplify my stack and take care…
> feels like the community is moving in that direction Likely unpopular opinion here but the Rust community is incredibly fickle and tends to attract " shiny new thing " types. I'd be very cautious hitching your wagon to whatever horse they are championing in 202X. Use what is best for your needs.
Yes and no. On the one hand, you want to pick dependencies that have staying power. On the same hand, having mindshare is necessary for the durability.
Hard to resolve the core issue here, since it's ultimately social rather than technical.
I tried rocket back then and reached similar conclusions - then I just picked the most popular choice (actix at the time). Actix had its highs and lows but always delivered. Nowadays I'm on axum (mainly because the API is nice and because it feels like the community is moving in that direction) and the experience is great. I'm working to rewrite my node.js and python service to Rust to simplify my stack and take care…
> feels like the community is moving in that direction Likely unpopular opinion here but the Rust community is incredibly fickle and tends to attract " shiny new thing " types. I'd be very cautious hitching your wagon to whatever horse they are championing in 202X. Use what is best for your needs.
In this case, "community is moving in that direction" means that over the last 3+ years, a significant amount of middleware and tooling has grown in the Tower ecosystem, which Axum is based on. So the network effect is the draw here, not a hype cycle.
So glad to see 0.5 out of release candidacy! I really appreciated how async functions and event streams were handled in 0.5, and just seeing this version land will make it so much easier to justify using Rocket in production. I still think Rocket is the most concise web framework for Rust after 5 years now of using it in projects and even newer frameworks, and also is one of the best examples of how ergonomic you can…
What’s your productivity like using Rust for web development? Rocket seems like a lot of visual noise vs. Laravel/Rails/Django.
It's more like Flask than those. I think the use case is small HTTP communications programs that are not websites.
Very cool to see this finally go out, and especially the new Foundation. I have to wonder though if it's too late though. I gave up waiting for a new Rocket release years ago and have been doing what Rust web work I've been doing on Axum instead - the integration with Tower is very nice.
Agreed. When I first considered porting small APIs over to Rust, Rocket appeared to be the most popular besides Actix. Axum hadn't even came out (it came out a month later and we ended up using it even though it was in its infancy). It's pretty unfortunate because Rocket could be amazing but the lack of updates killed it. See you guys in 5 years when v0.6 comes out.
That is definitely the problem foundation want to solve. Hope then it could reasonably speed up the development
The `tracing` ecosystem is IMO pretty good, and even works with Sentry for various frameworks (well largely it's all tower based anyway) Not sure what you mean by monitoring. What do you expect (and do you have any examples where other languages provide monitoring solutions?). Security wise, I've not had any issues finding crates for specific things I needed either, but security is a broad domain (so what did you fin…
Well that's the thing about it - it mostly appears to be there, but often proves to be immature. Meaning it technically works, but most of them are inflexible, single-person projects that occasionally completely redo their API. They work their way, and good luck if you want to do anything slightly different, and unpredictable things might happen if you try to combine several things together. Not exactly confidence-in…
custom layer
Tracing is extremely opinionated in the name of performance. In practice this means you can end up in a position where you've got to take some huge chunk of code to change a small part.
I tried rocket back then and reached similar conclusions - then I just picked the most popular choice (actix at the time). Actix had its highs and lows but always delivered. Nowadays I'm on axum (mainly because the API is nice and because it feels like the community is moving in that direction) and the experience is great. I'm working to rewrite my node.js and python service to Rust to simplify my stack and take care…
> feels like the community is moving in that direction Likely unpopular opinion here but the Rust community is incredibly fickle and tends to attract " shiny new thing " types. I'd be very cautious hitching your wagon to whatever horse they are championing in 202X. Use what is best for your needs.
The problem I ran into with Rocket was that because it had stagnated for so long it was incompatible with currently maintained versions of some of the dependencies (I want to say diesel, but I could be wrong).
I'm glad to see that it's been picked up again and 0.5 has been released. I got used to Axum (and rather like it), but in some ways I thought Rocket was friendlier to use.
I was developing a fairly large web app with Rocket 0.4 (released 2018!) and it started as a good experience, but then I was burned by the lack of support for multipart forms (i.e. file uploads), poor async, no option to listen on unix socket (required by my hosting provider's proxy) and long compilation times (not fully fault of Rocket, Rust compiler team has done a lot to speed up compilation since then). In the en…
I think my biggest annoyance with Rocket is that testing seems like an afterthought. I don't think the documentation even mentions testing forms. I also need to hack around a bit to ship templates, since I want to distribute my app (with a Rocket server in it) as a single executable.
Looking forward to this hopefully final big upgrade on my 20k LOC web service[1]. The upgrade from 0.4 to the first rc of 0.5 was a slog, but I've already upgraded to 0.5-rc.4 so this should hopefully be comparatively painless.