Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think that much of your fantasy is already a reality. For example, look at how Dropwizard[1] assembled a best-of-breed collection of modern Java libraries into a small, yet very powerful, REST micro-framework.

So the bits and pieces are certainly there, and even the JCP does good work sometimes (JAX-RS) that becomes good standard APIs with many different implementations.

[1]: http://dropwizard.codahale.com/getting-started/



Ninja web framework [1] is also worth a look. It's similar to Dropwizard in that it's less of a framework and more like a well thought out archetype building upon the best Java libraries. Two main differences I see are Ninja uses Guice for DI whereas dropwizard is manual DI. Dropwizard uses JAX-RS while Ninja has its own Play 1 style routing system.

While I really like JAX-RS, the reference impl Jersey uses HK2 for dependency injection, which makes it odd to integrate into a Guice application (in fact Guice support is still lacking with Jersey 2.x).

[1]: http://www.ninjaframework.org


Dropwizard is a bit heavy by Node standards. The health checks, in the NPM-style system, would be its own package. The configuration class would be its own package. Resources would be their own package. Liquibase or Freemarker wouldn't be built in, nor would JDBI.

I think of Dropwizard much like express for node, and most of the "cool kids" in the node community think that that's just too much for a single library.

I like Dropwizard, don't get me wrong, but it isn't quite a micro-framework by other standards.


I'm sorry, I may have been misunderstood. I meant that Dropwizard exemplifies how you can pick and choose components, those atomic libraries, into a "framework" of your choosing. Dropwizard contains very little code. It's just an assembly of the parts you wished existed, and the proof that those parts already exist.


That makes sense, then. Looking at the source code briefly, it looks very similar to what I mean, especially if the parts are able to be used individually.


Dropwizard is pretty great, but one unfortunate aspect is that it's stuck with Jersey 1.x for JAX-RS and as a result is missing some nice features, like async responses, etc.


I only used it as an example to the fact that modern Java libraries bear little resemblance to those of yesteryear.

I do, however, think that standard JSR APIs are still really nice to have, if they're good.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: