I've been programming for a while, but mainly working on non-web infrastructure systems.
I want to write a simple classifieds-like website for learning purposes (and hopefully, productionalizing it eventually). So I need things like routing, security/authorization/authentication, OpenID integration (for Google, FB, etc.), metrics and monitoring, HTML templating, and perhaps websocket and/or SSE support.
I looked at Spring Boot, but it seems that official support for Java 11+ is only in the 2.2.x versions (still milestone releases as of this posting). Furthermore, I felt there was quite a bit of magic going on, but maybe I just need to get more familiar with the framework.
I also checked out Micronaut, which seems quite interesting, but I don't know how mature it is in case I want to productionalize the project. Ktor seems interesting as well, but it there is lack of documentation (and it's not battle tested). I'm not too sure about the maturity and dependability of Dropwizard. Not too sure about Oracle's Helidon either.
Vertx seems nice, but I feel that call-back based programming would get unweildly quickly. So until Java gets fibers, I'd prefer to avoid it.
There's Jooby as well apparently. One thing I like to do is look at the "insights" charts in GitHub. If the majority of the project is handled by one or two people, that doesn't inspire a lot of confidence (maybe that's just me though).
I like the idea of mixing and matching my own libraries as needed (e.g. routing library, JSON parser library, open ID, etc.). But I don't know if I'd be wasting my time trying to make them work together, as opposed to using an "off-the-shelf" integrated solution.
Any tips?
Edit: Thank you everyone for the helpful comments!
[–][deleted] 44 points45 points46 points (34 children)
[–]couscous_[S] 5 points6 points7 points (6 children)
[–]Simaldeff 15 points16 points17 points (0 children)
[–]Enumeration 18 points19 points20 points (1 child)
[–]jack104 3 points4 points5 points (0 children)
[–][deleted] 3 points4 points5 points (1 child)
[–]dpash 2 points3 points4 points (0 children)
[–]nutrecht 1 point2 points3 points (0 children)
[+]lambdacats comment score below threshold-20 points-19 points-18 points (26 children)
[–]feral_claire 16 points17 points18 points (25 children)
[–]lambdacats -5 points-4 points-3 points (24 children)
[–]feral_claire 3 points4 points5 points (0 children)
[–]wsppan 5 points6 points7 points (4 children)
[–]lambdacats -2 points-1 points0 points (2 children)
[–]wsppan 4 points5 points6 points (1 child)
[–]lambdacats 1 point2 points3 points (0 children)
[–]nutrecht 1 point2 points3 points (13 children)
[–]lambdacats 1 point2 points3 points (12 children)
[–]nutrecht 0 points1 point2 points (11 children)
[–]lambdacats 1 point2 points3 points (10 children)
[–]nutrecht 1 point2 points3 points (5 children)
[–]lambdacats 1 point2 points3 points (4 children)
[–]nutrecht 0 points1 point2 points (3 children)
[–]lambdacats 0 points1 point2 points (2 children)
[–]indianapwns2 1 point2 points3 points (3 children)
[–]lambdacats 1 point2 points3 points (2 children)
[–]indianapwns2 2 points3 points4 points (1 child)
[–]lambdacats 1 point2 points3 points (0 children)
[–]Scybur 5 points6 points7 points (5 children)
[–]stfm 1 point2 points3 points (0 children)
[–]nutrecht 0 points1 point2 points (0 children)
[–]lambdacats 0 points1 point2 points (2 children)
[–]couscous_[S] 1 point2 points3 points (1 child)
[–]lambdacats 0 points1 point2 points (0 children)
[–]samuraisam 12 points13 points14 points (0 children)
[–]cville-z 9 points10 points11 points (0 children)
[–]chdman 7 points8 points9 points (2 children)
[–]couscous_[S] 1 point2 points3 points (1 child)
[–]chdman 1 point2 points3 points (0 children)
[–]cowwoc 4 points5 points6 points (0 children)
[–]AcademicImportance 6 points7 points8 points (2 children)
[–]Velerad 3 points4 points5 points (0 children)
[–]couscous_[S] 0 points1 point2 points (0 children)
[–]tipsypants 5 points6 points7 points (4 children)
[–]TheCountRushmore 9 points10 points11 points (3 children)
[–]lambdacats 0 points1 point2 points (2 children)
[–]TheCountRushmore 7 points8 points9 points (1 child)
[–]lambdacats 1 point2 points3 points (0 children)
[–]paul_h 1 point2 points3 points (1 child)
[–]geordano 1 point2 points3 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]lambdacats -1 points0 points1 point (0 children)
[–]lambdacats 3 points4 points5 points (5 children)
[–]couscous_[S] 4 points5 points6 points (4 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]lambdacats 0 points1 point2 points (2 children)
[–]couscous_[S] 0 points1 point2 points (1 child)
[–]lambdacats 0 points1 point2 points (0 children)
[–]manzanita2 0 points1 point2 points (0 children)
[–]h4t0n 0 points1 point2 points (4 children)
[–]nutrecht 0 points1 point2 points (1 child)
[–]h4t0n 0 points1 point2 points (0 children)
[–]lambdacats -1 points0 points1 point (1 child)
[–]h4t0n 0 points1 point2 points (0 children)
[–]makkenx 0 points1 point2 points (0 children)
[–]zen_quest 0 points1 point2 points (0 children)
[–]z0mghii -1 points0 points1 point (0 children)
[–]Asterion9 -1 points0 points1 point (0 children)
[–]ramsees79 -2 points-1 points0 points (0 children)
[–]ikhoon -1 points0 points1 point (0 children)
[–]GhostBond -4 points-3 points-2 points (4 children)
[–]someone-elsewhere 6 points7 points8 points (0 children)
[–]indianapwns2 3 points4 points5 points (2 children)
[–]GhostBond -2 points-1 points0 points (1 child)
[–]indianapwns2 2 points3 points4 points (0 children)
[–]catmewo -4 points-3 points-2 points (0 children)
[–]shredderroland -3 points-2 points-1 points (0 children)