hi, i just started learning rust just last month through combination of documentations, youtube and AI, it was tough coming from a web development background PHP(Laravel) for API and JavaScript(VueJS) for App and CapacitorJS(Mobile), i wanted to shift all my existing and future project to rust for performance and efficiency purposes.
I've been looking at some rust frameworks that best fits my requirements but I'm not 100% sure about the choices I've made to replace my existing workflow:
PHP API to Actix Web
VueJS and CapacitorJS to Dioxus
MySQL to ScyllaDB (besides performance they have native rust driver)
Please advise about the options I've made or recommend something else if ever, thanks.
Actix and Dioxus are fine and reasonable choices so far as I am aware (though I went with the more popular alternates: axum and leptos). The move from mysql to the nosql ScyllaDB seems an odd jump since mysql/mariadb can be used just fine from rust. I always recommend postgresql over mysql, however, because postgresql is much more sophisticated technology and a better open source community (not controlled by a company).
I see. While we've heard about Leptos, our team hasn't explored it yet. We initially thought it only supported desktop and web (WASM) applications. We've been looking for a Rust-based alternative to Vue + Capacitor that allows us to maintain a single frontend codebase for both web and mobile.
Regarding the database, we did consider PostgreSQL. Another department in our organization primarily uses it, and we ran benchmarks on their cluster. We observed a 15–22% performance improvement over our MySQL cluster (using SQLx) for our specific requirements.
Interestingly, despite using SQL databases for over a decade, we ended up shifting to NoSQL. Our initial choice was MongoDB (which performed better in benchmarks) paired with Go. However, we wanted to avoid garbage collection—one of the main reasons we moved away from PHP. That’s when we came across the Discord + ScyllaDB blog, where they detailed their migration to Rust + ScyllaDB. While our user base is much smaller than Discord's, our initial benchmark last week using Actix and ScyllaDB showed a 45% performance gain and a 60% reduction in hardware requirements—even with ScyllaDB's default settings. We were genuinely impressed by the performance and efficiency.
As a result, we've decided to transition our frontend as well, aiming for a full Rust codebase across both frontend and backend.
We'll also look into Axum to evaluate if it offers any performance or efficiency advantages over Actix. Thank you.