Acknowledgements
Itsi has a long list of critical dependencies and strong influences.
Key Dependencies
-
hyper Hyper is a fast, correct and memory-safe HTTP1 & 2 Implementation in Rust. It is an absolutely essential component of Itsi.
-
tokio Tokio is a fast and featureful asynchronous runtime for Rust. It is the backbone of all asynchronous IO in Itsi.
-
rb-sys and magnus, two essential libraries for building Ruby extensions in Rust.
-
and many more essential Rust crates!
-
hugo and hextra - generating this very page and allowing me to put together this website with minimal effort.
Inspiration
-
Puma is a long-standing industry heavyweight and the current leading choice of web server in the Ruby ecosystem. It’s mature, stable and rock solid. Many features and interfaces of Itsi have been inspired by Puma.
-
NGINX is a popular open-source web server and reverse proxy server. It’s highly scalable and a great choice for high-traffic websites. Many of Itsi’s proxy and static file server design decisions and features have been inspired by their NGINX equivalents.
-
The Async ecosystem and Falcon, championed by @ioaquatix - a fellow Kiwi. These tools and efforts in driving forward Ruby’s cooperative multitasking have been a great inspiration and source of learning for Itsi’s async IO design.
-
Iodine, Agoo. Two class-leading options when it comes to blazing fast Ruby servers written in native code.
-
Caddy An open-source web server and reverse proxy server, with a huge feature set, great performance, and arguably the first tool to popularize automated ACME certificate management.
-
RubyLSP An open-source language server for Ruby, built by engineers at Shopify making it easy to significantly enhance the Itsi developer experience.