Ruby on Rails veteran bets on Rust to make web apps fast and fun again
Topcoat is pushing the boundary of server applications with Rust
Topcoat, a batteries-included Rust web framework from the Tokio team, hits v0.9 with server-side reactivity, streaming UI updates, and WebSocket push. Creator Carl Lerche, a former Rails core contributor, explains why he wants Rust to match Rails' productivity while keeping apps fast and lean. The release also brings Toasty ORM upgrades: expressive update macros, document fields, and polymorphic relations.
Rust is the best general-purpose language for the new world of AI-driven development.
- muglug
> Rust is the best general-purpose language for the new world of AI-driven development.
Funny, the Python guys say Python is the best general-purpose language for AI and the Go guys say Go is the best general-purpose language for AI etc etc
- excsn
I used to write Leptos, but abandoned it. I hoped the experience would get better, it took a lot of memory just for the language server to validate especially. Web apps become too cumbersome to maintain in bigger distributed teams where we want fast feedback. I think writing web apps in straight rust will always be niche. There's not many frontend devs who write React or Vue who want to write straight Rust just because of safety or performance.
That's why I created SnapFire FSR (https://www.snapfirers.com), but many examples, to allow frontend devs to develop in their favorite framework (or mixture of). Write Tera templates, Web Components if you don't want to bring in frameworks like I tend to. Don't need to pay massive switching costs which, even with, AI not fun.
I found it much better to create and maintain web apps near the markup and language they originated from. You won't find me writing straight Rust for Web Apps unless I need to anymore.
I'm going to continue to work on this and switch all my leptos and svelte sites over.
- lackoftactics
I really like the direction Topcoat is going in as a Rails developer. Although it is just a bit itchy to my eyes, it is not acid-level, though.
The things that look great are LiveView and getting rid of boilerplate for client-side reactivity
- jazzypants
Some absolutely great work, but I don't know why you would come up with a new term for a server component (shard). Why not just use the obvious client/server annotations so you don't have to define a novel term for new users?
- cogman10
My main critique would be that I dislike the ORM.
I'd personally like my ORMs (if I'm going to use them) to be closer and more explicit about the queries that I'm writing. ORMs tend to add a lot of complexity for very little benefit. SQLx is much closer to my cup of tea than Toasty.
Underlying DBs have different characteristics, so trying to make an abstraction layer for multiple dbs (including no-sql in the docs) means you are going to run into limitations and abstraction leaks that are hard to square. Correctly using the likes of Dynamodb is very different from correctly using postgres, for example.