SlideShare a Scribd company logo
ARE WE WEB YET?
THE STATE OF RUST WEB FRAMEWORKS
BACKGROUND
THREE DOMAINS
▸ Microservices: tiny single-purpose services; often linked
via HTTP
▸ APIs: backends that typically interact with a database and
handle a wide range of requests
▸ Web applications: more complex applications that
typically utilize things like cookies, input forms, and a
templating engine
BACKGROUND
CHALLENGES
▸ Way too many framework choices
▸ Database libraries still don’t support async that well
▸ Few blog posts etc. talking about real production usage
▸ Lack of adoption means that best practices haven’t really
emerged in many areas (DB connection pooling, for
example)
BACKGROUND
FRAMEWORK SHORTLIST
▸ Raw hyper
▸ Rocket
▸ Warp
▸ Tower-web
▸ Actix-web
BACKGROUND
FRAMEWORK EVALUATION CRITERIA
▸ State of maintenance
▸ Ease of use
▸ Performance
▸ Feature set
RAW HYPER: THE GOOD
▸ The foundation of all other good frameworks
▸ Well-maintained
▸ Blazing fast
▸ Futures-based
RAW HYPER: THE BAD
▸ Not really a framework so expect to write lots of
boilerplate
▸ Learning curve
▸ Futures-based
ROCKET: THE GOOD
▸ Nice website
▸ Fantastic documentation (best in class by a wide margin)
▸ Actively maintained
▸ Almost as easy as using a modern Python framework
▸ Resulting code was extremely concise
ROCKET: THE BAD
▸ Seems to be largely controlled by a single maintainer who
dictates the release cycle
▸ Built on outdated dependencies (most notably hyper)
▸ Performance was anything but rocket-like. Terrible stability
under heavy load; save yourself the headache and just use
Python
WARP: THE GOOD
▸ It’s fast
▸ It’s small
WARP: THE BAD
▸ It was basically designed to explore a single concept:
everything is a “filter”
▸ It has a fairly steep learning curve
TOWER-WEB: THE GOOD
▸ Supports macro-based route definitions like Rocket
▸ Reasonable handling of shared app state
▸ Support for handlebars templating built-in
TOWER-WEB: THE BAD
▸ Lacks many basic features like query string binding during
the request flow
▸ Parsing capabilities it does have are terribly handicapped
(example: not supporting floating point values)
▸ Requires some weird macro wrapping stuff around your
application struct
ACTIX-WEB: THE GOOD
▸ Good documentation
▸ Still async, but allows you to bring in sync code easily
▸ Probably as close to raw hyper performance as any
framework will come soon
▸ Very close to a 1.0 release
▸ 3-8x faster than carefully written Python for non-trivial
tasks
ACTIX-WEB: THE BAD
▸ Much more verbose than I’d like
▸ Taking a paradigm designed for one language and porting
it to another seems odd to me, but they did a great job
▸ Databases seem to be somewhat an afterthought, and the
examples don’t really show the proper way to do things
CONCLUSIONS
▸ Most frameworks are pretty immature and don’t seem to
see serious production use
▸ Not enough attention is paid to developer ergonomics
▸ Rust is a viable choice for APIs and microservices where
high performance is critical, but be prepared to put in a lot
of upfront work for a larger web app
▸ Futures/async will probably be the thing that trips you up
the most, but actix makes things tolerable
CONCLUSIONS
▸ Async database drivers are still immature
▸ Even among the frameworks I disliked, most niceties like
input parsing are so fast they’re basically free
▸ If you want high performance, Rust can more than deliver
OBLIGATORY REQ/SEC BENCHMARK (AVG. OF 3 RUNS ON MY MACBOOK)
1
10
100
1K
10K
100K
HELLO POSTGIS
2.18K
79.12K
2.31K
62.8K
2.2K
56.27K
1.21K
10.18K
542549
rocket aiohttp tower warp actix
$ cargo run --release

$ wrk -t20 -c500 -d30s

More Related Content

PDF
Modern Static Site with GatsbyJS
PDF
MEAN Stack - Google Developers Live 10/03/2013
PDF
Web Assembly (W3C TPAC presentation)
PDF
MongoDB and the MEAN Stack
PDF
Intro to Front End Development with Angular + Firebase
PDF
NetflixOss Stack
PDF
JS Lab`16. Андрей Колодницкий: "Разработка REST сервисов на SailsJS"
PDF
NodeSummit - MEAN Stack
Modern Static Site with GatsbyJS
MEAN Stack - Google Developers Live 10/03/2013
Web Assembly (W3C TPAC presentation)
MongoDB and the MEAN Stack
Intro to Front End Development with Angular + Firebase
NetflixOss Stack
JS Lab`16. Андрей Колодницкий: "Разработка REST сервисов на SailsJS"
NodeSummit - MEAN Stack

What's hot (20)

PPTX
A faster web
PDF
MEAN Stack
PDF
The MEAN Stack
PPTX
Isomorphic JavaScript with Node, WebPack, and React
PDF
Node.js Introduction
PDF
Introduction to MeteorJS
PDF
Brief Intro to Phoenix - Elixir Meetup at BukaLapak
PPT
Nodejs vs php_apache
PDF
Rapidly Building and Deploying Scalable Web Architectures
PDF
Full stack development
PDF
How to Design Reliable and Scalable Webhooks with RabbitMQ
PDF
Jayway Web Tech Radar 2015
PPTX
Part Two: Building Web Apps with the MERN Stack
PDF
Introduction to go, and why it's awesome
PDF
Browserscope oscon 2011
PDF
Creating Hyper Performant Web Apps with React
PPTX
MEAN stack
PPTX
Part One: Building Web Apps with the MERN Stack
PDF
Firebase and AngularJS
PPTX
web optimizations
A faster web
MEAN Stack
The MEAN Stack
Isomorphic JavaScript with Node, WebPack, and React
Node.js Introduction
Introduction to MeteorJS
Brief Intro to Phoenix - Elixir Meetup at BukaLapak
Nodejs vs php_apache
Rapidly Building and Deploying Scalable Web Architectures
Full stack development
How to Design Reliable and Scalable Webhooks with RabbitMQ
Jayway Web Tech Radar 2015
Part Two: Building Web Apps with the MERN Stack
Introduction to go, and why it's awesome
Browserscope oscon 2011
Creating Hyper Performant Web Apps with React
MEAN stack
Part One: Building Web Apps with the MERN Stack
Firebase and AngularJS
web optimizations
Ad

Similar to The State of Rust Web Frameworks (20)

PDF
Top 10 python frameworks for web development in 2020
PPTX
Most Popular Python Frameworks With Key Features
PDF
10 Popular Python Frameworks for web development.pdf
PDF
Python Web Framework – A Detailed List of Web Frameworks in Python
PDF
What Web Framework To Use?
PDF
Snakes on the Web
PDF
A Brief Introduction to Python Developer Frameworks.pdf
PDF
"Building Modern PHP Applications" - Jackson Murtha, South Dakota Code Camp 2012
PPTX
Python for web development
PDF
A Day in the Life of a Silicon Valley Startup
PDF
Selecting the Right Python Library for Fast API Solutions
DOCX
Python for Web Development Django, Flask, and Beyond.docx
PDF
Web Application Development – Top 8 Frameworks in 2025.pdf
PDF
Rapid Web Development with Python for Absolute Beginners
PPTX
AI introduction to modern web technologies.pptx
PDF
16 Best Frameworks for Web Development to Use in 2024.pdf
PDF
30 Skills to Master to Become a Senior Software Engineer
PDF
Meetup. Technologies Intro for Non-Tech People
PDF
8 Top Web Development Programming Languages in 2023.pdf
PDF
Introduction to Web Frameworks
Top 10 python frameworks for web development in 2020
Most Popular Python Frameworks With Key Features
10 Popular Python Frameworks for web development.pdf
Python Web Framework – A Detailed List of Web Frameworks in Python
What Web Framework To Use?
Snakes on the Web
A Brief Introduction to Python Developer Frameworks.pdf
"Building Modern PHP Applications" - Jackson Murtha, South Dakota Code Camp 2012
Python for web development
A Day in the Life of a Silicon Valley Startup
Selecting the Right Python Library for Fast API Solutions
Python for Web Development Django, Flask, and Beyond.docx
Web Application Development – Top 8 Frameworks in 2025.pdf
Rapid Web Development with Python for Absolute Beginners
AI introduction to modern web technologies.pptx
16 Best Frameworks for Web Development to Use in 2024.pdf
30 Skills to Master to Become a Senior Software Engineer
Meetup. Technologies Intro for Non-Tech People
8 Top Web Development Programming Languages in 2023.pdf
Introduction to Web Frameworks
Ad

Recently uploaded (20)

PPTX
Sustainable Sites - Green Building Construction
DOCX
573137875-Attendance-Management-System-original
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Geodesy 1.pptx...............................................
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Welding lecture in detail for understanding
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPT
Mechanical Engineering MATERIALS Selection
PDF
PPT on Performance Review to get promotions
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
web development for engineering and engineering
Sustainable Sites - Green Building Construction
573137875-Attendance-Management-System-original
UNIT 4 Total Quality Management .pptx
Foundation to blockchain - A guide to Blockchain Tech
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Model Code of Practice - Construction Work - 21102022 .pdf
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
additive manufacturing of ss316l using mig welding
Geodesy 1.pptx...............................................
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
CH1 Production IntroductoryConcepts.pptx
Welding lecture in detail for understanding
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Mechanical Engineering MATERIALS Selection
PPT on Performance Review to get promotions
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
web development for engineering and engineering

The State of Rust Web Frameworks

  • 1. ARE WE WEB YET? THE STATE OF RUST WEB FRAMEWORKS
  • 2. BACKGROUND THREE DOMAINS ▸ Microservices: tiny single-purpose services; often linked via HTTP ▸ APIs: backends that typically interact with a database and handle a wide range of requests ▸ Web applications: more complex applications that typically utilize things like cookies, input forms, and a templating engine
  • 3. BACKGROUND CHALLENGES ▸ Way too many framework choices ▸ Database libraries still don’t support async that well ▸ Few blog posts etc. talking about real production usage ▸ Lack of adoption means that best practices haven’t really emerged in many areas (DB connection pooling, for example)
  • 4. BACKGROUND FRAMEWORK SHORTLIST ▸ Raw hyper ▸ Rocket ▸ Warp ▸ Tower-web ▸ Actix-web
  • 5. BACKGROUND FRAMEWORK EVALUATION CRITERIA ▸ State of maintenance ▸ Ease of use ▸ Performance ▸ Feature set
  • 6. RAW HYPER: THE GOOD ▸ The foundation of all other good frameworks ▸ Well-maintained ▸ Blazing fast ▸ Futures-based
  • 7. RAW HYPER: THE BAD ▸ Not really a framework so expect to write lots of boilerplate ▸ Learning curve ▸ Futures-based
  • 8. ROCKET: THE GOOD ▸ Nice website ▸ Fantastic documentation (best in class by a wide margin) ▸ Actively maintained ▸ Almost as easy as using a modern Python framework ▸ Resulting code was extremely concise
  • 9. ROCKET: THE BAD ▸ Seems to be largely controlled by a single maintainer who dictates the release cycle ▸ Built on outdated dependencies (most notably hyper) ▸ Performance was anything but rocket-like. Terrible stability under heavy load; save yourself the headache and just use Python
  • 10. WARP: THE GOOD ▸ It’s fast ▸ It’s small
  • 11. WARP: THE BAD ▸ It was basically designed to explore a single concept: everything is a “filter” ▸ It has a fairly steep learning curve
  • 12. TOWER-WEB: THE GOOD ▸ Supports macro-based route definitions like Rocket ▸ Reasonable handling of shared app state ▸ Support for handlebars templating built-in
  • 13. TOWER-WEB: THE BAD ▸ Lacks many basic features like query string binding during the request flow ▸ Parsing capabilities it does have are terribly handicapped (example: not supporting floating point values) ▸ Requires some weird macro wrapping stuff around your application struct
  • 14. ACTIX-WEB: THE GOOD ▸ Good documentation ▸ Still async, but allows you to bring in sync code easily ▸ Probably as close to raw hyper performance as any framework will come soon ▸ Very close to a 1.0 release ▸ 3-8x faster than carefully written Python for non-trivial tasks
  • 15. ACTIX-WEB: THE BAD ▸ Much more verbose than I’d like ▸ Taking a paradigm designed for one language and porting it to another seems odd to me, but they did a great job ▸ Databases seem to be somewhat an afterthought, and the examples don’t really show the proper way to do things
  • 16. CONCLUSIONS ▸ Most frameworks are pretty immature and don’t seem to see serious production use ▸ Not enough attention is paid to developer ergonomics ▸ Rust is a viable choice for APIs and microservices where high performance is critical, but be prepared to put in a lot of upfront work for a larger web app ▸ Futures/async will probably be the thing that trips you up the most, but actix makes things tolerable
  • 17. CONCLUSIONS ▸ Async database drivers are still immature ▸ Even among the frameworks I disliked, most niceties like input parsing are so fast they’re basically free ▸ If you want high performance, Rust can more than deliver
  • 18. OBLIGATORY REQ/SEC BENCHMARK (AVG. OF 3 RUNS ON MY MACBOOK) 1 10 100 1K 10K 100K HELLO POSTGIS 2.18K 79.12K 2.31K 62.8K 2.2K 56.27K 1.21K 10.18K 542549 rocket aiohttp tower warp actix $ cargo run --release
 $ wrk -t20 -c500 -d30s