diff --git a/index.html b/index.html index 3d69f44..f2792d3 100644 --- a/index.html +++ b/index.html @@ -73,6 +73,7 @@
Synchronous programming is much, much easier to understand, debug, profile etc..
+Benefits (performance/throughput) of async handling are mostly void in Java 21, with introduction of Virtual threads. Yay!
Only bummer for now is that Undertow doesn't still support them.. :/
+But undertow is performant in the current shape too, so for most use cases it will be enough.
Too much focus on purely functional programming and (mostly unnecessarry) math concepts.
+Easy to get lost in that and overcomplicate your code.
Too much annotations, autoconfigurations, dependency injection and complexity.
+I was looking into these, but then sharaf would have to depend on Servlets API,
+use @Inject
and gazzilion of god-knows-what-they-do annotations just to configure OAuth2 for example...
Not in a classical / "dependency container" / Spring / JEE style.
+Not in a classical / "dependency container" / Spring / JEE style.
Not in a purely-functional-monadic style.
Yes in a direct, context functions (implicit functions) scala 3 style.
If you ever used PlayFramework, Slick 2 and similar you might be used to this pattern:
Simplicity and ease of use is the main focus of Sharaf.
+Simplicity and ease of use is the main focus of Sharaf.
It is built on top of Undertow.
This means you can use awesome libraries built for Undertow, like pac4j for security and others.
You can leverage Undertow's lower level API, e.g. for WebSockets.
Web frameworks do handle query params with various mechanisms:
+Web frameworks do handle query params with various mechanisms:
Web frameworks do their routes matching with various mechanisms:
+Web frameworks do their routes matching with various mechanisms: