On Wed, 24 Aug 2011 12:25:16 -0300, Lenny Primak <lpri...@hope.nyc.ny.us> wrote:

Thiago,

Hi!

Every product that I know of other than tapestry has a well defined API.
I am not knocking tapestry, it is a great product, but it's the only one that I know of that does not have a well defined API but is a collection of by-convention like injection points,

Tapestry-IoC has constructor injection and annotated field injection, which are also used in other IoC containers. I'm not following you here.

static methods to override,

Java doesn't provide static method overriding.

property collections and ephemeral services.

I really don't know what you're talking about here.

It's very difficult to get your head around these things for a new or seasoned developer.

I think the use of dependency injection is what developers are having difficult to grasp by not being used to it.

There is no central point to go to find out what features are there to solve a particular problem,

I always start by checking TapestryModule.

and it is because there are too many ways to do things.

Examples please. :) Most of the time in Tapestry you have more than one way of doing something but only one is recommended.

In my opinion it's because tapestry overuses injection, annotations and by-convention methods over a plain-and-simple interfaces and APIs.

I disagree, and there's a very clear reason for Tapestry being built like it is: easy flexibility. You can override almost everything easily and without the need to change the Tapestry source. Tapestry is one of the very few frameworks built on the top of an IoC container. Tapestry is built on plain-and-simple interfaces.

Regarding relying in method name conventions: you can avoid that almost completely if you want. Some people like afterRender(), others prefer @AfterRender something(). Relying in annotations is not a bad thing in my book, specially if it avoids code to be written.

I am fairly new to tapestry - about 6 months. But I have been in this business for 20 years and this is the opinion of not just me but a product of trying to explain tapestry to my team members and problems what we have been encountering.

I can see that. :)

I am just trying to make suggestions to improve tapestry from a new developer perspective.

We appreciate that. :)

You know tapestry very well, perhaps too well :). I am happy to try to bring a different perspective to the table.

Please continue to do it. :)

--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org
For additional commands, e-mail: dev-h...@tapestry.apache.org

Reply via email to