Which Java Web framework is the best? Or does rival Ruby on Rails take the crown?
In a lively but lighthearted debate at TheServerSide Java Symposium in the US on Friday, advocates for frameworks such as JavaServer Faces (JSF), Spring MVC, Rife, and Rails battled it out in a debate over the merits of the different framework choices available.
"The sweet spot [for JSF is] for applications that require a complex UI that needs to have serious enterprise integration capabilities," said Sun engineer Ed Burns.
"Only the finest patterns and architectures are used," he said.
Standing up for Spring MVC was Keith Donald, a principal at SpringSource. "If you use Spring MVC, you can develop applications in a request-oriented style," and supplement with component-based approaches, Donald said. JSF is a complementary technology to Spring, he said.
For Rife, benefits include still having fun while creating applications and scaling out, said Geert Bevin, creator of Rive and Sun Java champion at Terracotta.
Promoting Google Web Toolkit (GWT) was Dave Geary, a member of the JSF 2.0 expert group. "[The] sweet spot is just killer AJAX applications," Geary said.
"With GWT, you can do something that you can't really do with any of [the] other frameworks and that is you can develop desktop-like applications that run in a browser," and applications not predicated on forms submission, said Geary.
Struts 1 and Struts 2 were advocated by Don Brown, team lead for hosted services at Atlassian. "All these guys are just a bunch of wannabes," he said of his rival panelists.
Struts, he said, has benefits such as having many users and a large mailing list. Its sweet spot is for people who want to build a Web application and understand URIs and want something to perform fast, said Brown.
"Struts is the place to go," he said.
Ruby on Rails, meanwhile, offers developer productivity, said Justin Gehtland, president of Relevance. "The sweet spot is midsized enterprise apps where the requirements are rapidly changing," Gehtland said.
Panelists also advocated technologies such as REST and JSF 2.0.