Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
slint
Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
-
JUCE
JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
nih-plug
Rust VST3 and CLAP plugin framework and plugins - because everything is better when you do it yourself
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
I recommend you take a look our CXX-Qt library. The goal with CXX-Qt is to bridge between Qt and Rust in a way that's both idiomatic for Rust, as well as Qt. So you can easily mix & match the best elements from both.
nih-plug is a pretty powerful and clean audio plugin framework written in pure rust (with some pretty cool example plugins in the repo), with support to create editor gui using some existing rust gui libraries (iced, vizia, egui... ). Though it's not yet on crates.io and still lacks some features, it seems that alternatives to juce in rust are already being worked on :)
You should keep an eye on this project. https://slint-ui.com/ It's like modern Qt (QML) implemented in rust by a bunch of Qt developers.
I love experimenting with music and audiovisual stuff and basically the only thing I like from C++ is JUCE. It's a framework which is mainly focused on developing audio plugins and other sound or video-related projects. For this, it's absolutely amazing and nothing I've seen comes close. It takes the impossible task of supporting the many OSes, Digital Audio Workstations (DAW), plugin formats and audio formats out there and turns it into "just" a hard task mostly, allowing you to focus on writing your interesting bits while it abstracts away all the annoying low-level stuff. That is on top of their nice and helpful community.
No equivalent to Django's ecosystem of reusable components. (I currently limit my use of actix-web to "microservices with an HTML API" like miniserve for this reason.)
I could be overlooking a framework. Does Rust have an equivalent to the Spring? I'm aware of frameworks like Rocket, but they only scratch the surface and much of the integrations you would need you'd have to build yourself.
I did that a while ago: https://github.com/progval/rust-xml-schema/
The equivalent of JDBC/ODBC (in pure Rust preferably). There is https://github.com/tokio-rs/rdbc but it seems to be no longer developed and no ORM use it. So far it seems that if you want to connect to a database other than MySQL or PostgreSQL you have various custom tools to choose from. Of course each ORM somehow solves how to connect to the database differently. A common database driver standard would be useful. So that you could choose an ORM and driver independently. Just like now you can choose async runtime.
tql is only missing schema migration from your requirements, as far as I know. Could be used as a starting point.
Hey for 2 have you looked at sea ORM and for 3 have you looked at Axum?
Hey for 2 have you looked at sea ORM and for 3 have you looked at Axum?
We're working on this over at Bevy! Definitely agree though, there's a lot of useful little crates, but not a ton of "cohesive tools" in the ecosystem.
...Don't get me wrong. I do participate in RFCs when I feel qualified. For example, I pointed out the parallel between ../..= and
Reminds me a bit of Bonsai except of course Bonsai is for web UIs.
There are a few mocking libraries which mock specific things for you, such as filesystem-rs which I've used before, but like I say it all feels a bit disjointed.
Did you mean "minor", the major is the z on the x.y.z, while the minor the y. Also, >=10 minor/patch versions exist, semantic versioning doesn't use a numeric base, version bumps are made based on compatibility. You should read this https://semver.org/
I don't see how Axum would enable something like django-tables2 or django-filter which has is vertically integrated with Django's ORM, routing layer, and template system.
nih-plug is a pretty powerful and clean audio plugin framework written in pure rust (with some pretty cool example plugins in the repo), with support to create editor gui using some existing rust gui libraries (iced, vizia, egui... ). Though it's not yet on crates.io and still lacks some features, it seems that alternatives to juce in rust are already being worked on :)