Should I choose Apache Click or Tapestry 5?

I have to decide whether to use Apache Click or Apache Tapestry 5 framework. Which one should I choose? I am looking for a framework that I could use to build Java EE web applications over the next few years. In the next few days, I will test them as sample samples and user projects, but I would like to know in advance if one of them is not stable or large enough for large-scale enterprise applications. I need it to work without any difficulty with Maven, various AJAX and Eclipse.

Thank you in advance, StackOverflow employee :)

+4
source share
6 answers

OK, thanks to Dragan. I think the main question is that it’s more convenient for you to use the component structure (Tapestry) and the action-oriented environment (Click). The nature of the components, at least the Tapestry path, is that the structure can take on a lot and a lot of work from you; How to create URLs, query parameter names, or session attribute names. Tapestry also has many options for metaprogramming, and a general programming model that focuses on mutable objects rich in data and operations is much more interesting than dealing with typical servlets. I don’t know enough about Click to say how or if it solves these problems, but it’s very convenient for me to recommend the Tapestry for any other structure that I know of.

+9
source

Tapestry is a web environment for complex JavaEE projects. I have been using it for 3 years now and it just does not fail.

You can be effective in Tapestry5 quickly, but if you are new to IOC concepts, etc., it may take you a while to get used to it.

I would say that the tapestry has some moderately steep learning curve, but it does not have any restrictions on what you can do, and almost all things are done quite elegantly, with a frame that helps you in many ways and without kicking.

Greetings

+4
source

I have been using the tapestry for a little over a year, and the following are some points that I thought I would choose that were not mentioned here:

Pros:

  • A tapestry needs a very small xml configuration, so if xml is not your cup of tea, you will be very pleased. For example, no more defining tons of navigation rules in xml, if you want to send your user to a page, just return the page class from the action handler, and you're done.
  • Since you mentioned the Enterprise applications, it’s worth noting that Tapestry 5 goes well with Spring and Hibernate. You can easily insert Spring beans on tapestry pages and Tapestry services in Spring beans. If you need to introduce EJBs, you can connect them as Spring Beans and enter them in the same way you would introduce a Spring bean.
  • The tapestry is very fast , with a response time of tens of milliseconds, even at moderate load.
  • Lots of components from various sources , so you can just plug in and play instead of reinventing the wheel, saving a lot of time.
  • Very helpful and responsive community.
  • Works well with eclipse, and code completion is available for templates when setting is right .

Minuses:

  • It takes a little more effort to learn the intricacies of the frame than to say Struts, but IMO is much simpler than JSF.
  • Rapid development makes obsolete versions obsolete quickly, although promises were made (again) to maintain backward compatibility this time.

I have nothing to say about the click, as I have never tried, but let us know what you decided!

+3
source

I used Apache Click, and was rather disappointed ... simple things were hard to do, and although I initially found the conceptual concept, it actually quickly became something, but elegant to use - the basic state administration of the components was terribly cumbersome neither in what, except for the simplest cases.

I was also disappointed to learn that the requirement of “full JSP support” is simply not true - for example, their Panel component, one of their central components used for layout, cannot be used with JSP templates, it only supports Velocity or FreeMarker (true as of Click 2.3, the latest version I rated). In addition, they are not interested in fixing this issue - I actually introduced a patch to allow panels and other components to work with JSP templates, but they showed limited interest and never accepted it.

I can’t talk well about the Tapestry, but I can say that the day I threw a click in favor of the game! 1.x was happy (although, by the way, now after the release of the disappointment of Play! 2.0, I again looked for a decent statically compiled web framework).

+3
source

I suggest you try both of them. Start by clicking on Apache. It will take several days, if not several hours, to get started and write a request. Having made a small application, now go to the tapestry. It may take some time to learn. you may like it or not. Apache click is very simple and you can go very fast. The tapestry is very complex and may have more features. Between them is the gate. I have more experience with wickets, and I made several applications with it. I tried the tapestry several times5. I refused it, then returned to it later and surrendered again. Now try apache click and it seems pretty good. My point, spend some time with frameworks, and you will choose the one that best suits your requirements. Wicket, tapestry, click and JSF are some of the most popular Java-based java frameworks.

+2
source

Tapestery is such a great frame that I want to go back in time and redo all my web projects using Tapestry. Just try the sample app and play with it. You'll quickly see why Tapestery is so cool!

0
source

Source: https://habr.com/ru/post/905137/


All Articles