I agree that distributed configuration is great. But, it's not equivalent to tapestry-ioc. There are lots of ready-made solutions for distributed configurations already. You can also easily build one on top of ready-made CDI implementation, if you really want to (I don't think there is a need)
To get back on topic, yes, you need to learn at least one IOC framework. The two popular ones are CDI and Guice. Both very well documented. Chances are most developers who have kept up know at least one or the other. And knowing one, they can learn the other very easily. Tapestry-IOC, is very different from either. Uses different concepts and naming conventions. It's just different, and it's requisite to know it to use tapestry Web Framework in any meaningful way. I am not trying to start a religious war here. Just stating my opinion, and one of the few frustrations I had when using Tapestry. On May 15, 2013, at 5:34 PM, Thiago H de Paula Figueiredo wrote: > On Wed, 15 May 2013 17:30:17 -0300, Lenny Primak <lpri...@hope.nyc.ny.us> > wrote: > >> using the CDI spec. I am not even sure that what you are calling >> Distributed Configuration is even needed for the Web Framework. > > Just take a look at Tapestry (the web framework) itself. Look at how a new > coercion, request handler, validator, bean block override, etc is added. It's > quite easy to do it and it involves no source changes, no configuration > files. Now imagine that before distributed configuration. The only workaround > I can think of is, for every *single* service that wants some kind of > distributed configuration, to create another one so anyone who wants to > contribute would inject this configuration service and add stuff to it. For > each service that needs distributed configuration, we'd need another. More > code. Lost of it. Argh. Distributed configuration is a huge code saver when > you want to have flexible code. > > For background on why Tapestry-IoC was created, read > http://tapestry.apache.org/ioc.html, specially the "Why not X?" sections. > >> If you are implying that this is all so important, why isn't every project >> on the planet using Tapestry-IOC? > > Few people know it, unfortunately. And fewer people knew that it could be > used without Tapestry-the-web-framework. Of course, the name doesn't help > here. In addition, many of the best options for problem X aren't used because > some other option is not as good but it's more popular. Damn, until few years > ago people still used Struts 1, which is awful, even when other way better > Java frameworks could be used for production sites. A similar question: why > isn't everybody using Mac OS or Linux instead of Windows? > >> I would be very happy using the Web Framework without Tapestry-IOC, using >> just plain beans for configuration, >> or even using CDI events to gather configuration. > > I didn't know about CDI events. I'll read about it. Thanks for the tip. :) > >> Given the history of Tapestry, CDI wan't there and popular enough at the >> begging to be used for this, but now it is. > > CDI as a separate entity from Seam, which is/was tied to JSR, barely existed > at that time. It was first proposed in May 23rd, 2006 with the first approved > version in December 10th, 2009. Tapestry 5, including Tapestry-IoC, was > started around > >> I also know that no way in hell would HLS give up Tapestry-IOC, but it is >> indeed , in this day and age, >> is a barrier to entry to learning Tapestry (Web Framework) > > As I said in another thread, you're suggesting replacing Tapestry-IoC with > CDI. If that was done, people would still learn one IoC framework in order to > learn Tapestry. CDI has a broader reach (in termos of concepts and features) > than T-IoC. Not much people use CDI now (I may be wrong, of course). Given > all that, I don't think replacing Tapestry-IoC with CDI in Tapestry would > turn Tapestry much easier to learn, if at all. And you'd need to rewrite a > lot of Tapestry code, which would need to get bigger. I don't think that's > worth the effort at all. > > -- > Thiago H. de Paula Figueiredo > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org