39 releases

0.4.9 Sep 27, 2023
0.4.7 Jul 28, 2023
0.3.0 Mar 31, 2023

#381 in HTTP server

Download history 139/week @ 2024-02-22 466/week @ 2024-02-29

605 downloads per month

MIT and GPL-3.0-or-later

675KB
3.5K SLoC

Rust 3K SLoC // 0.1% comments TSX 458 SLoC // 0.0% comments TypeScript 180 SLoC // 0.1% comments JavaScript 60 SLoC // 0.1% comments

banner-web

Rapid-web

A blazingly fast, modern, and simple Rust server framework enabling end-to-end typesafety for Typescript-based frontends

Initial features

  • Simplified router + middleware
  • File based routing
  • Codegen for typescript clients (rust types -> typescript types) with extractor type safety
  • Hot reload dev server
  • Good defaults (CORS, logging middleware, custom error pages and better extractor error logging)
  • Built-in actix crates (files, auth, etc)
  • Easy JWT validation (authorization via clerk.dev) and middleware
  • Scaffolded diesel orm, connection pooling, mailer, server state
  • rapid extract command for extracting-out a rust backend from its frontend when scaling (with support for route typesafety via A types lib with a git path)
  • Typescript and rust type generation from Diesel schema
  • Better request/response logging in console for easy debugging
  • Generators for route genration (rapid generate)
  • Auto-serve all static assets from the /public folder
  • A one-line SpaRouter for serving single page applications from a rapid-web server
    • Semi SSR for applying meta tags an OG-images (rapid calls it "meta" rendering)
  • Clerk sdk

Next features

  • Custom async-first ORM (called "Lightning")
  • Specific queries (like GraphQL but without the overhead)
  • React query integration
  • Plugins

Acknowledgments

  • Rapid is built on-top of one the most performant web server frameworks in the world (actix-web) and would not be possible without its existance.

Note: We do not recommend that you use Rapid in production as all of its core implementations are subject to change rapidly :)

Dependencies

~33–50MB
~1M SLoC