I didn't expect to see this here yet. We opened up the repo because we ran out of private CI usage. A blog post is coming next week :). Happy to answer questions here though.
One thing to keep in mind, the main reason for Topcoat to exist is that many organizations are already using Rust for infrastructure-level or performance sensitive reasons and often just want to build a web app using the programming language they already use.
Oh man I'd love a nice full stack framework in Rust! Django, Laravel, and Rails are very neat. I used to be a micro framework kind of guy, but having everything integrated is more and more appealing over the last few years.
This would take a long time to get feature complete with the core of those big full stack frameworks, but I'm rooting for it! Getting to use the Rust type system with a full stack web framework sounds incredible.
Exciting, but I’d give a lot for an equivalent to Django. There are very few problems I need to solve that are fixed by htmx style “full stack” apps, but many that are solved by the generated admin, authentication framework, caching, eventing etc.
Unfortunately, you end up bound to Python’s poor performance and poor typing stories, which Rust solves in spades.
Hmm... I'm a big fan of a lot of the things that the tokio project has built and a happy user of axum.
I'm not sure that projects like Topcoat and something like their ORM is a great direction for the project, and worry that they will possibly gain outsized adoption in the community based on name recognition rather than merit.
I think it is highly likely topcoat / toasty will get split out. It is just work, especially since tokio-rs has more CI usage available than the default GitHub org.
I don't feel like this is solving the painpoints I feel in the Rust web framework ecosystem. And how is it full-stack if they don't have anything for the DB layer in here?
This will (very soon) integrate tighter with the Toasty ORM http://github.com/tokio-rs/toasty/. E.g. tight form -> record flow. We are shipping now though to get usage.
What pain points do you have in the Rust web framework ecosystem? Happy to hear.
- Rust Fanboy; use it in several domains (embedded, PC applications, bio/chem)
- Web dev is the main thing I still use Python for, as there's nothing on Django's level.
Of interest: I am not a fan of Async in rust. I get that for web stuff it is a suitable model, but I still don't like it for no original reasons. As you stated, I don't feel like this is solving the missing aspects, e.g. auto migrations, admin, email, auth, etc.
One thing to keep in mind, the main reason for Topcoat to exist is that many organizations are already using Rust for infrastructure-level or performance sensitive reasons and often just want to build a web app using the programming language they already use.
This would take a long time to get feature complete with the core of those big full stack frameworks, but I'm rooting for it! Getting to use the Rust type system with a full stack web framework sounds incredible.
There already is an ORM (https://github.com/tokio-rs/toasty/). You can see a sketch of the roadmap here: https://github.com/tokio-rs/topcoat/issues/104
Unfortunately, you end up bound to Python’s poor performance and poor typing stories, which Rust solves in spades.
jinja2rs::filters : https://github.com/westurner/dsport/blob/main/src/jinja2rs/s...
jinja2rs::filters::django : https://github.com/westurner/dsport/blob/main/src/jinja2rs/s...
Which Rust components are like the Django ORM and django.contrib.admin and DRF/FastAPI; with convention over configuration and tests and great docs?
I'm not sure that projects like Topcoat and something like their ORM is a great direction for the project, and worry that they will possibly gain outsized adoption in the community based on name recognition rather than merit.
It is early, a lot is coming, but you can already build good stuff now.
What pain points do you have in the Rust web framework ecosystem? Happy to hear.
Better to ship early and hear what people want though :)
Rust in general