Il 28/12/2009 06:53, Kalle Korhonen ha scritto:
> Hey Alessandro, I have to say I agree with pretty much everything
> you've said. I notice the tone from the committers is a bit "fatherly"
> - i.e. "just learn the framework and do it yourself, it's easy". Don't
> worry about it, sometimes it's just difficult to see it from newbies'
> perspective for those who are experienced with a particular
> technology. 

Do not worry about this topic, Kalle. I understand very well their
position. If I had a good knowledge of Java and Tapestry, I would just
do what they suggest. I see that it is the "right way".

I'm just trying to let them (and you) know how an absolute beginner
feels when it meet Java and Tapestry for the first time. I see it is
hard to explain my position, even using examples (Drupal) and
metaphores. Nevertheless, I do think the Java/Tapestry community have to
face a few of the challenges I'm describing here. See below for the reasons.

> I think your comparison to Drupal is spot on. Sure it's
> uglier to customize Drupal if it doesn't have a module available for
> it but it does heck of a lot of things out of the box, much more than
> Tapestry or any little add-on module to it at the moment. Tapestry
> architecture is great for delivering drop-in add-on modules, but what
> you see is just the state of things as they are right now. Tapestry5
> is still a new web framework and there are relatively few people using
> it. 

Yes, you are right. Tapestry and Tynamo are still new and we have to
give them the time to grow up. I do hope to can be of some help in the
future.

As you said, Tapestry is very good at delivering a reliable drop-in
module technolgy and this feature could/should be used to develop an
even more developer-friendly tool, like Tynamo. Arguably, this is the
right way to evolve it and I see you are already doing so.

> I fully agree that security is critical - sure it's easy to
> protect your pages "the right way" with a few annotations, but real
> world projects need integration to existing authentication sources,
> smart remember me -implementations, url protection, adaptive
> permissions etc. 

You have got the point. Actually, I would be happy to implement a
annotation-based security system if I just know how to do it (BTW: any
docu around?). Unfortunately, this security system will also have to be
compatible with a few other tools (in our case, at least with a legacy
OpenLDAP-based directory). Maybe I'm wrong but I still have the feeling
that using a widely diffused tool, like ACEGI, could be a simpler and
better way to get this job done.

> Regarding Tynamo, in time we'll offer proper Apache
> Shiro integration (currently there are a few good "starter" Shiro
> integration libraries available) with most of these features but we
> are not there yet. But in any case, being an Apache Shiro committer
> myself I should be in a pretty good position to deliver it.

Good news to hear! :-)

> One of the main issue with Java web frameworks has always been that
> while people generally acknowledge the advantages of Java, starting
> costs are so much higher than hacking up something with a few lines of
> PHP and its existing frameworks already deployed by ISPs that Java is
> often considered only later when (and if ever!) complexity,
> scalability and maintainability become more of a concern. 

That is exactly what happend to us. We decided to pass to Java (and to a
few Java-based technologies) only when Python, PHP and other tools begun
to show their limits. It was much more a matter of
scalability/manageability than a matter of language expressiveness. You
can do with Python, Ruby or PHP everything that Java (or even Groovy and
Scala) can do /but/ you cannot have anything like the smooth development
process allowed by a few "modules" of Java (Hibernate, ACEGI, etc) and
by its process management tools (Maven, Hudson, etc.).

We knew (and still feel on our skin) that the Java world is a complex
one. You have to study and dominate the basic language (that is the easy
part of the job, coming for Python), a few programming paradigms like
IoC and AOP, a few tools (Maven, etc), and finally a few frameworks
(Tapestry, the ubiquitous Spring and Hibernate, etc.). It is a lot of
stuff and a lot of work.

This was the reason why we looked for a good framework to be used as a
starting point. Of course, the framework has to supply us with a good
set of tools and has to act as a set of reliable guidelines, as well.

> However,
> Java-based frameworks and tools have made steady progress in recent
> years and lowered the starting costs to reduce the gap. Tapestry can
> be and has been the forerunner in Java Web frameworks, now we just
> need to show the world all that is possible - and especially *how* to
> do it.

That is exactly the way things are! Java do supply the developer with an
impressive set of impressive tools but the entry ticket is still very
high (not only for web developers, unfortunately. Just ask to Swing and
SWT news users...).

Frameworks like Tapestry and Tynamo are what is needed to lower this
ticket (and to make the dev process even more smoot and more
manageable). Unfortunately, it is not enough to have a good web
framework like Tapestry. The new Java user needs a wide range of tools
(resulting in a full-stack framework, eventually) and a reliable set of
guidelines, as well.

Anyway, I see that you and the other guys who are working on Tynamo have
already understand all of my "complains" so I'm confident we will have a
good full-stack framework (or whatever you wants to call it) in the near
future. As I said before, it is just a matter of time.

In the meantime, I will keep on studing Tapestry and its underling
technologies.

CU
-- 

Alessandro Bottoni
Website: http://www.alessandrobottoni.it/

Government big enough to supply everything...is big enough to take
everything you have. The course of history shows that as a government
grows, liberty decreases.
     -- Thomas Jefferson

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

Reply via email to