Pros and Cons of Various Java Web Presentation Lay

2019-01-17 04:15发布

I'm currently working on a web app that makes heavy use of JSF and IceFaces. We've had some discussions of moving to another presentation layer, and I thought I'd take the discussion out into SO and see what the experts think.

I'm curious if anyone could weigh in on the pros and cons of the various Java presentation layer technologies. If you've only worked with one, say why you love it or hate it. If you've worked with several, give your impressions of how they stack up against each other.

Our technologies under consideration are:

  • IceFaces
  • JSF (without IceFaces)
  • GWT (Google Web Toolkit)
  • Wicket
  • Tapestry

And if I'm missing anything from my list, let me know.

Thanks!

8条回答
趁早两清
2楼-- · 2019-01-17 04:51

The biggest question I'd ask is why are you changing presentation layer? That's a very expensive cost and I can see the benefits of one technology outweighing the others by as much as the cost to change...

查看更多
迷人小祖宗
3楼-- · 2019-01-17 04:51

What about Stripes?

查看更多
Ridiculous、
4楼-- · 2019-01-17 04:53

My pick would be Wicket. Have used it and is gives excellent re-usability. It has one of the most vibrant forum/mailing list. As a question and its gonna be answered in minutes. It has excellent support for AJAX. One of the usual cons attributed to Wicket is the steep learning curve. Well those were one of the old age cons which hold no value anymore now.

JSF: Better stay away from it. Another team which developed a project on JSF is now thinking to shift to Wicket after our success with it.

@Megadix: Like you said the documentation was poor in the beginning, but not any more. There is an excellent book called Wicket in Action written by the developers of Wicket. The sample code provided on the site is also a good place to start and learn

查看更多
5楼-- · 2019-01-17 04:53

See my comparison of Wicket and Tapestry 5: Difference between Apache Tapestry and Apache Wicket.

查看更多
Summer. ? 凉城
6楼-- · 2019-01-17 04:54

I'd wonder if you a have a service layer that's distinct from the web client, something that the web controllers simply invoke to get their work done.

If you do, the choice of web UI technology can be decoupled from the back end. If it's exposed as a contract first web service, you can have different apps share it. As long as your clients can send and receive XML they can interact with your services. Want to switch to Flex? No worries - point it at the service and render the XML response.

查看更多
甜甜的少女心
7楼-- · 2019-01-17 04:57

In short:

= JSF =

PROS:

  • component architecture;
  • many libraries & tools;
  • somewhat good IDE support

CONS:

  • heavy weight, both in CPU/memory and learning curve;
  • when something doesn't work as expected, it's difficult to debug

= WICKET =

PROS:

  • lightweight;
  • sensible templating system;
  • good tutorials;

CONS:

  • reference documentation is not so well organized and deep as are the tutorials;
  • development team had some serious difficulties, especially when becoming and incubated project. This lead to confusion on important aspects of the framework, at that time I had to switch to another framework because of this...
查看更多
登录 后发表回答