axum
rust-web-framework-comparison
Our great sponsors
axum | rust-web-framework-comparison | |
---|---|---|
149 | 12 | |
15,646 | 4,653 | |
6.2% | - | |
9.3 | 5.7 | |
5 days ago | about 2 months ago | |
Rust | Rust | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
axum
-
Prodzilla: From Zero to Prod with Rust and Shuttle
Moreover, I especially like where Rust is right now in the web space. It really feels like there’s a lot of smart people working on the next generation of web development tools - it feels like the place to be. There are a range of great open-source web dev tools that are just reaching critical levels of maturity. Axum, which I used to build Prodzilla, feels ready for out of the box web dev, and is crazy-performant, as I write about later. More recently available is Loco, a Rails-like framework for building web applications in Rust that's picking up steam. And in dev-tooling and hosting there’s Shuttle, a 1-line hosting solution for Rust backends.
-
CryptoFlow: Building a secure and scalable system with Axum and SvelteKit - Part 1
CryptoFlow is a full-stack web application built with Axum and SvelteKit. It's a Q&A system tailored towards the world of cryptocurrency!
-
Cryptoflow: Building a secure and scalable system with Axum and SvelteKit - Part 0
You also get to specify the accepted HTTP method of the URL via axum::routing. To answer its name, modularity, Axum also supports nested routes as we'll see later in this series. Next is the layer, a method used to apply tower::Layer to all routes before it. This means that routes added after the layer method will not have such a layer applied to their requests. In our case, we used the layer to add tracing to all HTTP requests and responses to our routes. This is needed for proper logging. The tower_http::trace::TraceLayer can even be really customised.
-
My first project with rust
I build simple rust axum api server with Prisma client rust. This is my something done with rust and I really enjoyed rust!
-
Getting Started with Axum - Rust's Most Popular Framework
In this article we'll take a comprehensive look at how to use Axum to write a web service. This will also include the 0.7 changes.
-
Trying out Leptos: Fine-grained Reactive Framework for Rust
You have a couple of options for the underlying web framework to pair with Leptos: Axum or Actix. Axum seems to carry more favour currently, so we start with that. Assuming you already have Rust set up on your system:
-
Help required: Port kellnr from rocket.rs to axum
I’m the author of https://kellnr.io. When I started working on Kellnr three years ago, https://rocket.rs was “the web framework” to use. Unfortunately, the project seems dead. Before adding more functionality using an unmaintained framework, I want to port Kellnr to https://github.com/tokio-rs/axum.
-
Grimoire - A recipe management application.
Web Framework : axum.
-
Proper type for axum SSE stream
I am trying to stream a response from the OpenAI API as an SSE with axum. I have combined the following examples from the async-openai and axum repos to produce the below code I've used iterators in Rust but have not used streams, I have no idea how to reconcile the types here and don't know where to start to solve the problem. A solution or any pointers would be greatly appreciated. https://github.com/tokio-rs/axum/tree/axum-v0.6.20/examples/sse https://github.com/64bit/async-openai/tree/main/examples/chat-stream ``rust async fn sse_handler( TypedHeader(user_agent): TypedHeader, ) -> Sse>> { println!("{}` connected", user_agent.as_str());
-
Introduction to the Tower library
-- axum README
rust-web-framework-comparison
- Container2wasm: Convert Containers to WASM Blobs
-
The state of modern Web development and perspectives on improvements
First is the size. Writing a server-side and client-side program is possible with Rust, and the resulting WASM package will be small enough. At the same time, Microsoft Blazor converts C# code to WASM, but the client delivery has to include the reduced .NET runtime, taking several megabytes for a script. The same is true for GoLang, even with an attempt to reduce the runtime delivery in TinyGo WASM. Developers want to work with their favorite languages, whether it is Java, Kotlin, Dart, C#, F#, Swift, Ruby, Python, C, C++, GoLang, or Rust. These languages produce groups of runtimes. For example, JVM and .NET have many common parts, Ruby and Python are dynamically interpreted at runtime, and all mentioned depend on automatic garbage collection. For smaller WASM packages, browser vendors can include extended runtime implementations, for example, by delivering a general garbage collector as part of WASM. Garbage collection support by WASM is currently in progress: WASM GC, .NET WASM Notes.
-
Leptos, a cutting-edge full-stack Rust framework
I'm currently reading up on Leptos and what looks like its major contender, Dioxus [1] in planning for next project. (acknowledging here that Yew [2] is maybe the OG Rust full stack / frontend framework, but I'm not considering it at this time)
Here's a nice comparison of the Rust frontend frameworks: https://github.com/flosse/rust-web-framework-comparison#fron...
Note that Leptos is interesting because it _does not use a virtual DOM_, unlike Yew and Dioxus which are React-like.
We already write our backend in Rust; why not use it for the whole stack and stop worrying about e.g. the Typescript object falling out of sync with the API struct?
-
What is the most fully-featured rust frontend framework?
I want to push for using rust & wasm for a small experimental project at my job. I have reviewed the rust web frameworks comparison document, I'd be interested in Yew because I'm familiar with React, and I am interested in Sycamore and Leptos because they are recommended for use in Tauri and I'm personally interested in trying Tauri at some point.
- Rust Web Framework Comparison
-
Rust web frameworks, a new look? (discussion)
The web framework comparison is a good start.
-
Web Development with Rust?
This repository has some nice comparison tables for different web libraries and frameworks: https://github.com/flosse/rust-web-framework-comparison
-
New Tokio blog post: Announcing Axum - Web framework that focuses on ergonomics and modularity
I'm actively monitoring all frameworks since 2015 and right now there are 15(!) deprecated but also 12 active server frameworks. And I am really glad that there is a wide discussion and experimentation space to gradually unify the best of all approaches. And that's what makes the Rust community so valuable: creating the best together with patience and precision.
- Loving it already!
What are some alternatives?
actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
Rocket - A web framework for Rust.
poem - A full-featured and easy-to-use web framework with the Rust programming language.
warp - A super-easy, composable, web server framework for warp speeds.
rust-web-benchmarks - Benchmarking web frameworks written in rust with rewrk tool.
ntex - framework for composable networking services
salvo - A powerful web framework built with a simplified design.
tonic - A native gRPC client & server implementation with async/await support.
Warp - Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
hyper-tls
sea-orm - 🐚 An async & dynamic ORM for Rust
routerify - A lightweight, idiomatic, composable and modular router implementation with middleware support for the Rust HTTP library hyper.rs