smithy-rs
axum
smithy-rs | axum | |
---|---|---|
4 | 150 | |
454 | 16,316 | |
2.6% | 3.4% | |
9.8 | 9.2 | |
about 18 hours ago | 1 day ago | |
Rust | Rust | |
Apache License 2.0 | 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.
smithy-rs
-
Tips on Creating a Design-First API Using Rust
AWS recently released https://github.com/awslabs/smithy-rs, which is the basis upon which the AWS Rust SDKs are built. The team behind it are still refining it, there’s the odd corner-case with smithy models that will catch it, but it is pretty decent now.
-
Axum + Sqlite + minijinja + htmx winning website combo?
Here's an example of what this looks like in practice: https://github.com/awslabs/smithy-rs/tree/main/rust-runtime/aws-smithy-http-server-python/examples
-
With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.
There’s an older internal schema language for API descriptions, but it can be translated to smithy, so that’s being used for all new sdk’s. See https://github.com/awslabs/smithy-rs for instance.
-
Smithy: A language for defining services and SDKs
It's not really a fully finished project yet, so not much. We shipped the AWS SDK for JS v3 with Smithy, the AWS SDK for Go v2 with Smithy, and just launched an alpha of the AWS SDK for Rust using Smithy. More are in the works. We're currently iterating on their code generators to make them easier to use outside the AWS SDKs. AWS SDKs are being built in a layered approach where there's a generic code generator that's really extensible, and then the AWS SDKs extend it to add AWS-specific stuff like regions and credential handling.
We're working to get projects like these to GA: https://github.com/awslabs/smithy-typescript, https://github.com/aws/smithy-go, and https://github.com/awslabs/smithy-rs. And we're also working on service code generation.
axum
-
Bundle frontend into axum binary using include_dir
There are some proposals on how to do it already such as https://github.com/tokio-rs/axum/issues/1698.
-
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.
- How serve static files with rust?
-
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.
What are some alternatives?
smithy-go - Smithy code generators for Go (in development)
actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
smithy - Smithy is a protocol-agnostic interface definition language and set of tools for generating clients, servers, and documentation for any programming language.
Rocket - A web framework for Rust.
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
poem - A full-featured and easy-to-use web framework with the Rust programming language.
rust-experiments - Small experiments in writing Rust programs to perform specific tasks
warp - A super-easy, composable, web server framework for warp speeds.
svelte-axum-project - Starting project template for Rust Axum backend and Svelte frontend
rust-web-framework-comparison - A comparison of some web frameworks and libs written in Rust
rust-example-caster-api - DEPRECATED: A demo Rust API implementation using Tokio, Axum, async-graphql, and SeaORM
rust-web-benchmarks - Benchmarking web frameworks written in rust with rewrk tool.