Open Beta
Pre-release
Pre-release
·
390 commits
to master
since this release
State of the Rewrite
Here we are : the beta is now available !
In the previous thread, I mentioned Add-ons, there are already a few available :
- Chaos: provides a chaos engineering module.
- Firewall: IP allow/block lists, rate limiting, and related telemetry.
- Hosting: if you like the way ASP.NET is initialized as a service, this one is for you.
- Latency: artificially delays HTTP responses in a controlled and deterministic way.
- Razor: if you like the Razor template engine, this one is for you.
- Swagger: provides Swagger / OpenAPI documentation support for the SimpleW web server.
How do you use them ?
I spent a crazy amount of time in writing the documentation, read it!
| Feature / Aspect | SimpleW v16 (current) | SimpleW v26 (in progress) |
|---|---|---|
| NET runtime | NET8 | NET8 but should consider NET9/NET10 for better perfs and RAM usage under heady load (e.g: NET8 400Mo, NET9 100Mo, NET10 70Mo) |
| Core architecture | ✅ from scratch (custom, simple, clean) | |
| Code readability | ✅ | |
| Overall design philosophy | ✅ minimal, custom, fast | |
| Long-term maintainability | ✅ much easier | |
| Performance | ✅ (very high) | ✅ (very high) |
| Middleware | ❌ | ✅ |
| Modules | ❌ | ✅ |
| Extensibility | ✅ midlleware, module, callback, subclass | |
| Response Builder | ✅(status, contentType, headers, body, cookies) | ✅ (status, contentType, contentLength, headers, body, cookies, compression) |
| Handler (Expression Tree) | ✅ sync ❌async | ✅ sync ✅ async + RequestAborted |
| Routing | ✅ (minimal, attribute, querystring, regexp, path, wildcard) | ✅ (minimal, attribute, querystring, path, wildcard) |
| Minimal API | ✅ | ✅ |
| Controllers | ✅ | ✅ |
| SSL / HTTPS | ✅ (SslContext) | ✅ (SslContext) |
| WebSocket | ✅(full broadcast) | ✅ (smart broadcast using "rooms") |
| Server-Sent Events (SSE) | ✅ | ✅ |
| Basic Auth | ❌ | ✅ |
| JWT auth | ✅ | ✅ |
| Unix socket | ✅ | ✅ |
| Static files | ✅ (Cache, FileWatcher) | ✅ (Cache, FileWatcher, Last-Modified, Etag) |
| Cross-Origin Resource Sharing (CORS) | ✅ | ✅ |
| Body parsing (JSON) | ✅ | ✅ |
| Body parsing (form-urlencoded) | ✅ | ✅ |
| Body parsing (multipart/form-data) | ✅ | ✅ |
| WebUser / Identity | ✅ | ✅ |
| Custom JSON engine | ✅ | ✅ |
| HTTP pipelining | ❌ | ✅ |
| Idle Timeout | ❌ | ✅ |
| Request Protection | ❌ | ✅(malformed) |
| Observability | ✅ (traces) & global to all processes | ✅ (traces, metrics, enrich) per SimpleWServer instance |
| Documentation | ✅ | ✅ simplew.net |
| Tests | ✅ | ✅ (more tests) |
| Support | ❌ | ✅ Discord |
| Add-Ons | ❌ | ✅ Chaos, Firewall, Hosting, Latency, Razor, Swagger |