State of webserver development
As a longtime WebObjects developer it is useful to look at current webserver development trends from time to time.
WebObjects/Wonder
Development of Wonder has stagnated for years now. There is one development frontier: a new framework in the spirit of WebObjects got created, but the state is in flux, and long term development hinges on one man.
Apache Tapestry
This old framework is still around, and gets updated from time to time. It has a lot of similarities to WebObjects, especially in the way components are created. Development is done today mostly by a single person only, too.
Spring Boot integration is possible and supported.
Apache Wicket
This framework gets updated from time to time by a very small development team. While there are similarities to the way WebObjects works, a lot of things are different enough to make steep learning curve. Some things in the way components work seem complicated, compared to WebObjects.
Spring Boot integration is possible and supported.
Jakarta Faces
This framework gets updated by the Jakarta team, and can expect more updates coming. Its component model is much more complicated, than the other frameworks (even Wicket seems easy), and this results in a steep learning curve.
The Spring Boot integration is kinda deprecated, and will not receive any more updates. It needs a "real" JEE container.
Jakarta Server Pages (JSP), Spring MVC/Thymeleaf
These are not frameworks but page template techniques. The development way is quite different to component frameworks. It seems complex UIs are hard with these, as all data has to be shuffled through a single controller object, that is responsible for the whole page.
HTMX
This is a small JavaScript library, providing a kind of REST bindings for HTML. It seems mostly useful for pages generated by JSP and similar tools, that need very slight dynamics. Special REST endpoints have to be created that only return page fragments that can then be integrated by HTMX into the existing page.
Angular, React
These are big JavaScript component frameworks, in a way similar to WebObjects, but for the browser land. React seems smaller and more focused, but needs extensions for everything. The components can mix HTML and JavaScript, which makes them better to understand, but they need a preprocessor to work at all.
Angular has a broader core, with more features. The templates are done in strings, which is not quite as elegant as React.
In general both frameworks seem similar, and useful for SPA apps.
Conclusion
There is no one fits all solution for modern web development.
There are still some old server based Java component frameworks, but development has almost halted. One could say they are stable. Component frameworks allow for some very complex applications and UIs.
If simpler pages are enough Spring MVC or similar JSP may be used. They can be enriched with tools like HTMX.
For more complex frontends a JavaScript framework like Angular and React can be used. But those shine in single page applications, and have inherent complexities when used in multi page applications.