actix_mark1
After writing rusty-blog-webapp with Tera templates and server-side rendering, i wanted to go the other direction – a pure API backend in Rust. No templates, no HTML, just JSON in and JSON out.
Actix-web was the obvious choice. It’s fast, mature, and the ecosystem is solid enough that you’re not fighting the framework every five minutes.
What’s in it
- Clean route organization with Actix’s scope system
- Middleware for logging and basic auth
- JSON request/response handling with Serde
- Error handling that doesn’t make you want to throw your laptop
The Rust tax
Every project in Rust has that phase where you spend more time fighting the borrow checker than writing actual logic. This one was no different. Lifetime annotations on request handlers, Arc<Mutex<>> for shared state, trait bounds that read like legal documents.
But here’s the thing – once it compiles, it works. Not “works most of the time” or “works unless you hit a race condition at 3 AM.” It just works. That’s the trade-off with Rust and i’ll take it every time.
Why mark1
Because it’s the first iteration. The “let me figure out how Actix works” version. Not production-ready, not trying to be. It’s the foundation for building something bigger later – same way ex-mark1 was the foundation for a proper Express backend.
The naming convention is a habit now. mark1 means “first attempt, expect rough edges.”
Loading comments...