Skip to content

Open Beta

Pre-release
Pre-release

Choose a tag to compare

@stratdev3 stratdev3 released this 08 Feb 23:54
· 390 commits to master since this release
e23ca86

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 ⚠️ (tied to NetCoreServer) ✅ from scratch (custom, simple, clean)
Code readability ⚠️ ✅
Overall design philosophy ⚠️ wrapper ✅ minimal, custom, fast
Long-term maintainability ⚠️ harder ✅ much easier
Performance ✅ (very high) ✅ (very high)
Middleware ❌ ✅
Modules ❌ ✅
Extensibility ⚠️ (callback, subclass) ✅ 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