Coder Social home page Coder Social logo

rust-api-fxs's Introduction

Building Web APIs with Rust - State of the Union

Introduction

This repository contains the sample code for Rainer Stropek's talk at Eurorust 2022. They have been updated for Rainer's talk at the BASTA conference in Frankfurt in 2023. The accompanying slides can be found here.

Abstract

Many people primarily see Rust as a platform for doing systems programming. It is great in that area, but you can do so much more with Rust. In this talk, Rainer will focus on how to build web APIs with Rust. Modern web APIs typically run in the cloud and Rust’s ability to produce small and blazingly fast apps is perfectly suited for keeping your cloud bills small.

In his talk, Rainer will do a high-level comparison of the frameworks Actix, Rocket, Warp, and Axum. How does typical API code look like in these frameworks? What are the most fundamental abstractions in them? How active and mature are they? Rainer will prepare a sample and use it to show similarities and differences. In addition to traditional frameworks, Rainer will also speak about Wasm-based options like WAGI and Spin and put them in perspective.

The session will be code-heavy. The audience should have a solid understanding of the Rust programming language. However, people attending this session do not need to be Rust experts with years of practical experience. The general messages of the talk should be understandable for people who want to build web APIs and are in the process of evaluating whether they should invest more time in learning Rust.

rust-api-fxs's People

Contributors

rstropek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

rust-api-fxs's Issues

[Queation] todo-axum compiler error

Hi, rainer.
When I clone this repository and try to run todo-axum, there was an error in todo-axum/src/main.rs#51 as follows,
E: no method named 'into_make_service' found for struct 'Router<Arc<tokio::sync::RwLock>, _>' in the current scope

I watched Eurorust 2022: Building Web APIs with Rust - State of the Union.
The difference was the type of app.

In my environment
Router<Arc<RwLock<TodoStore>>, _>

yours
Router<Arc<RwLock<TodoStore>>>

I tried to solve this problem with my own.
My guess is that, according to the axum/routing/mod.rs#538-542, the two functions, into_make_service and into_make_service_with_connect_info, can be used that satisfy the bound
impl<B> Router<(), B> where B: HttpBody + Send + 'static,

However, I can't figure out why this happens and how to resolve them.

Anyway, I'm new to rust programming language and I just fall in love in rust like you.
Your presentation help me learn rust but also the passion on programming as well.
Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.