Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm wanting to build a relatively simple app. Basically, a bunch of RESTful web services that access a database. Basic CRUD operations, a fair amount of search, and some amount of reaching out to third-party RESTful APIs. Yes, my app will have a web front end, but I want it to be as decoupled from the back-end as possible.

Right now, I'm using Hibernate for my ORM, Jersey to handle the webservices, and Jackson to do my serialization. MySQL for the DB. Maven to do my builds.

Thing is, I really, really, really don't want to be reinventing the wheel. There are a number of frameworks out there for doing Java web stuff, but the selection is enormous and bewildering and I don't have any idea which one is most appropriate. I'm one person working by himself, so anything that can help me get a first version working and out the door would be most useful.

So, three questions :

1) Do I even need to use a framework? Remember, I'll be learning something new and will have to deal with the learning curve. If it will take me longer to learn the framework than it would to build my app from scratch, I'd just as soon not bother.

2) Which framework should I use? Why? Why is it particularly appropriate for what I'm doing?

3) If I don't use a framework, are there any other tools that could help me?

Oh, and if your answer is Spring, I'm going to ask that you please get really, really specific about what part of Spring I should use and why/how I should use it. Spring is a huge project that does a whole lot of things, and I'm still not entirely sure what it's good for or why I should use it. It seems pretty suited to a corporate environment, so I'll want to know how it could help me as a one-person startup.

Thanks for your help and suggestions!

share|improve this question
Use Play! – Raynos Jul 21 '11 at 19:09

2 Answers

1) Yes, absolutely, unless your app will only have one page.

2) Either Spring MVC or Google's GWT--both are very widely used with supportive communities. As a new user, you'll get excellent support when you have questions. Each of them takes a different approach to webapps. Pick the one that suits what you have in mind.

3) If you don't use a web framework, you'll probably still want to use many of Spring's modules that ease webapp development.

share|improve this answer
+1 for SpringMVC. It's extremely simple to learn and requires very little configuration for simple cases. The more complex cases are all well-documented with clear examples. – Gary Rowe Jul 21 '11 at 20:24

Yes. Use CXF. Start looking, searching for javax.ws.rs.Path. It will lead you to mostly alive and stable part of mainstream java from the very Java vendor, I believe.

The reason is, that 1 keyword like @Path will save you from 100 lines of typing, dealing with unnecessary jars, abandoned communities, obsolete, 1-time show half working examples.

share|improve this answer
2  
He's already using Jersey. He's not asking for a ReST framework, but an MVC framework. – Ryan Stewart Jul 21 '11 at 18:35

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.