3 ms·
Love it; this is a big gap in Rust's ecosystem IMO.
by the__alchemist 2y ago
Love it; this is a big gap in Rust's ecosystem IMO.
- culi 2y agoIs it? Asking as someone not very tuned into the ecosystem. Based on TechEmpower's Web Framework Benchmarks[0] and AreWeWebYet's resounding "yes!" for years now[1] I always got the impression that there were quite a few options available. Rocket, Actix, Axum, Salvo, etc just to name a few. Each with different focuses (e.g. performance vs "batteries-included-ness") [0] https://www.techempower.com/benchmarks/#hw=ph&test=composite§ion=data-r22 https://www.techempower.com/benchmarks/#hw=ph&test=composite... [1] https://www.arewewebyet.org/ https://www.arewewebyet.org/
- the__alchemist 2y agoGreat question! The frameworks you listed are not a direct comparison to this lib, nor Rails, nor Django. They are Flask analogs. They are ideal for microservices, but are not a substitute for a batteries-included framework of the sort used in websites. I love rust, but don't use it for web backends because there is nothing on Django's level.
- stackskipton 2y agoHow many people are greenfield new Django style projects? I know Static Server-Side Rendering is becoming new hotness but I still thought pure Server-Side Rendering is frowned upon. Most of SSR I see is still SPA + Rest API/GraphQL backend with some scraper generating all the HTML.
- the__alchemist 2y agoThis is orthogonal; You don't use auth, email, automatic admin, migrations etc from a SPA; those are backend jobs.
- cchance 2y agoSo... rust "on rails" is basically ... https://github.com/loco-rs/loco https://github.com/loco-rs/loco less rails is... leptos, and a few others
- culi 2y agoRocket comes with support for templating, cookies, websockets, middleware, an orm, testing, etc. I'm not familiar with Python web development (or why anyone would reach for Python for a webapp in 2024 :P), but it seems pretty analogous to Rails It's also the oldest/most mature tool out there
- JodieBenitez 2y ago"The goal is for functionality like templating, sessions, ORMs, and so on to be implemented entirely outside of Rocket" So definitely a Flask, not a Django. And I want no Flask. > why anyone would reach for Python for a webapp in 2024 Because it works damn fine, is complete and stable, has a gigantic ecosystem covering virtually every needs in the field and also we know the ins and outs of it. Of course, less resource consumption is always good, particularly RAM, hence why we're interested in initiatives like RWF or why I keep an eye on the Go ecosystem.
- aaronblohowiak 2y ago>or why anyone would reach for Python for a webapp in 2024 I'm out of touch.. why not?
- stackskipton 2y agoNo, it's there but it's not popular and probably won't be for a while. Higher level languages like Java/JS/.Net/Go already do the job well enough for vast majority of use cases. Sure, there are cases like Discord where Go performance was impactful to their operations but those are pretty niche edge cases. Vast majority of people don't have those edge cases so any GC stutter is fine.
- dehrmann 2y agoI would have argued Rust isn't the right choice for a web framework unless the team is rust-first because the memory guarantees aren't really needed, and you're better off with occasional GC pauses and faster development velocity.
- ku1ik 2y agoThat’s my take as well. To each their own, but for me there are other, GC-ed, languages that are performant enough and way more productive (and I love Rust!)
- the__alchemist 2y agoThis is perhaps a bit off topic, but I don't think rust is a one-trick-pony IRT memory safety. I hear this a lot, mainly from Rust programmers. [surprisingly]
- int_19h 2y agoBut what else does it really bring to the table compared to something like C# or Kotlin?
- the__alchemist 2y agoExcellent tooling (package manager, linter, compiler), exhaustive pattern matching, best-in-class mutation management, overall syntax and language features.