You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by kr...@k2d2.org on 2009/06/26 20:40:28 UTC

Tapestry 6: Famous last words?

I saw the following comment on Howard's blog and felt compelled to comment:
"I just felt the need to reiterate that I don't see there ever being a T6; I see a stream of backwards compatible updates to Tapestry 5.1. In fact, I think the 5.0 -> 5.1 transition was a little rougher than I'd like for future releases."
"The overall approach in T5 was to eliminate the root issues that caused the backwards compatibility problems in earlier Tapestries."

Aside from the fact that there is an admittance to things not going as planned in the very first version 5 iteration, Howard, I think you are sincerely wrong. For based upon your resolve to never have a version 6, I see only two possible outcomes:

a) All innovation on the web stops and we continue using T5
b) Innovation on the web continues and Tapestry becomes obsolete.

To further my argument, assume that T5 had been developed in 1995 for use on the web. Do you really see T5 honed for the web as of 1995 being able to seamlessly take on, without change in architecture, the following:

- CSS
- Javascript evolution
- Ajax
- IoC
- Persistence frameworks

The problem with backwards compatibility is introduced at some point in every framework for one of two reasons:
a) The framework decides to adopt a new architecture to support essentially the same end goal and platform for gains in productivity, stability, scalability, etc.
b) The framework is forced to adopt a new architecture to support innovation in the marketplace (HTML5, offline storage, desktop-web-apps, RIA, osgi/java modules/bundles, language improvements, who-knows-what).

The technology community is accepting of (b) as a necessary side effect of rapid innovation. It is far more skeptical of (a). However, companies are free to attempt (a) since in a free market, the market decides. Open source is not immune to that.

So while I find your goal sincere given the v3 -> v4 -> v5 migration history, I see it as neither a realistic nor intelligent goal to pursue. In fact, quite the contrary, it dissuades people who are evaluating Tapestry. Instead of defending your decision to make T5 with the cloak of eternal future compatibility, why don't you admit to your error and move on? A little humility would be of great benefit and would complement your intellectual prowess, which is self-evident in your works.

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


Re: Tapestry 6: Famous last words?

Posted by "Thiago H. de Paula Figueiredo" <th...@gmail.com>.
Em Fri, 26 Jun 2009 15:40:28 -0300, <kr...@k2d2.org> escreveu:

> In fact, quite the contrary, it dissuades people who are evaluating  
> Tapestry.

During Tapestry's long history, most people complained about the lack of  
backward compatibility. Some even chose to not use Tapestry because of  
that. It was the source of many negative comments and even trolls on this  
list.

> Instead of defending your decision to make T5 with the cloak of eternal  
> future compatibility, why don't you admit to your error and move on? A  
> little humility would be of great benefit and would complement your  
> intellectual prowess, which is self-evident in your works.

I see the situation in a different light: Howard had the humility to stop  
doing what he done four times (Tapestry backward-incompatible versions 2,  
3, 4, and 5) and listened to the community, that wanted more stability.  
IMHO, the "no T6 ever" statement is more about saying that T5 was built  
 from the ground up to be very flexible and to not need  
backward-incompatible changes to support new features. For example, I  
guess the whole AJAX, CSS (@IncludeStylesheet) and Javascript  
(@IncludeJavascriptLibrary) support could be removed and readded to T5  
without changes in the public APIs. Of course, maybe Howard could have  
made it clearer.

-- 
Thiago H. de Paula Figueiredo
Independent Java consultant, developer, and instructor
http://www.arsmachina.com.br/thiago

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


Re: Tapestry 6: Famous last words?

Posted by "Thiago H. de Paula Figueiredo" <th...@gmail.com>.
Em Sat, 27 Jun 2009 05:34:09 -0300, Piero Sartini <li...@pierosartini.de>  
escreveu:

>> I expect the T5 IOC to live well beyond the web framework portion.
>
> T5 IoC is very powerful.

Yes it is. And it's a pleasure to use.

> But at this point I am not so sure if Tapestry IoC is the best answer to
> flexibility. Take a look at Struts2 - they are able to switch their DI
> implementation by configuration.

I would agree if Tapestry-IoC wasn't flexible enough to support  
integration with other IoC/DI frameworks, but it is. Hint: take a look at  
the T-IoC' ModuleDef interface and how it's used in tapestry-spring.

> This brings them a lot of possibilities and integrations with third party
> frameworks / products that I do not see for tapestry.

Could you give us some examples of what possibilities and integrations  
with third-party frameworks or products that you do not see for Tapestry?

> One could argument that this is a much more flexible approach than  
> relying on one DI container.

I don't think so. Look at how Spring is supported in Tapestry: it's  
absolutely transparent. When I need some Spring bean in my page,  
component, mixin or service, it is injected as if it was a Tapestry-IoC  
defined bean (service). My projects are built with Tapestry and  
transactions are handled by Spring-TX. In the future, when the Tapestry  
project will have it's own transaction support, my only changes my project  
will need are changing the Spring's @Transactional annotation for the  
corresponding Tapestry-TX annotations (which I guess will be the EJB 3  
ones). Anything that needs my services/beans will not change.

Tapestry very flexible architecture needs an IoC framework. Otherwise, it  
would lose a lot of power, simplicity, convention over configuration and

-- 
Thiago H. de Paula Figueiredo
Independent Java consultant, developer, and instructor
http://www.arsmachina.com.br/thiago

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


Re: Tapestry 6: Famous last words?

Posted by Piero Sartini <li...@pierosartini.de>.
> I expect the T5 IOC to live well beyond the web framework portion.

T5 IoC is very powerful.

But at this point I am not so sure if Tapestry IoC is the best answer to 
flexibility. Take a look at Struts2 - they are able to switch their DI 
implementation by configuration.

This brings them a lot of possibilities and integrations with third party 
frameworks / products that I do not see for tapestry. One could argument that 
this is a much more flexible approach than relying on one DI container.

	Piero






 







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


Re: Tapestry 6: Famous last words?

Posted by Daniel Jue <te...@gmail.com>.
Heh..the first release of Windows NT was v3.1, so I guess there is
nothing sacred with version numbers.  Not to mention Sun marketing.
;-)

I imagine once the paradigms shift enough because of new
innovations/evolution of standards, a new product will have to emerge
to support it.  It just won't be named "Tapestry". (TapestryNT? Magic
Carpet? Berber? Astroturf?)  I'm talking about far into the future.  I
expect the T5 IOC to live well beyond the web framework portion.

On Fri, Jun 26, 2009 at 4:11 PM, Thiago H. de Paula
Figueiredo<th...@gmail.com> wrote:
> Em Fri, 26 Jun 2009 17:03:13 -0300, Michael Gentry <mg...@masslight.net>
> escreveu:
>
>> "I just felt the need to reiterate that I don't see there ever being a
>> T6;..."
>>
>> Simple: T5.0 => T5.1 => ... => T5.9 => T7.0
>
> hehehe :)
>
> Another path would be T5.0 => T5.1 => ... => T5.9 => ... T5.10 ...
> (supposing backward-compatility is kept besides for minor things, of course)
> Or do it the Sun way: T5.0 => T5.1 => ... => T5.4 => ... T9 :P
>
> --
> Thiago H. de Paula Figueiredo
> Independent Java consultant, developer, and instructor
> http://www.arsmachina.com.br/thiago
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

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


Re: Tapestry 6: Famous last words?

Posted by "Thiago H. de Paula Figueiredo" <th...@gmail.com>.
Em Fri, 26 Jun 2009 17:03:13 -0300, Michael Gentry <mg...@masslight.net>  
escreveu:

> "I just felt the need to reiterate that I don't see there ever being a  
> T6;..."
>
> Simple: T5.0 => T5.1 => ... => T5.9 => T7.0

hehehe :)

Another path would be T5.0 => T5.1 => ... => T5.9 => ... T5.10 ...  
(supposing backward-compatility is kept besides for minor things, of  
course)
Or do it the Sun way: T5.0 => T5.1 => ... => T5.4 => ... T9 :P

-- 
Thiago H. de Paula Figueiredo
Independent Java consultant, developer, and instructor
http://www.arsmachina.com.br/thiago

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


Re: Tapestry 6: Famous last words?

Posted by Michael Gentry <mg...@masslight.net>.
"I just felt the need to reiterate that I don't see there ever being a T6;..."

Simple: T5.0 => T5.1 => ... => T5.9 => T7.0

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


Re: Tapestry 6: Famous last words?

Posted by Brandon Atkinson <br...@gmail.com>.
I agree.  Breaking backwards compatibility between major revisions is why
developers make a distinction between major and minor revisions.There is
nothing inherently wrong with incompatible major revisions.


The problem occurs when...

1) Major revisions are released too frequently (likely due to archetectural
flaws)
AND (perhaps consequently)
2) Nobody is maintaining and back-porting fixes to the older revisions.

These two conditions, together, make a framework unusable for application
developers.
Who really cares if there is a T6 when they have a working application on
T5?  No one is forcing an upgrade of an application's framework, simply
because there is a new version out.  The major reason for upgrade would be
if there were severe bugs, or productivity enhancements.  As long as there
are maintainers fixing the bugs in revision I'm using, most will be happy.

I think the approach being taken with T5 is the correct one... try as hard
as possible to architect the framework correctly up front, so that the
period between major revisions is LONG.  That doesn't mean there will never
be another major...


On Fri, Jun 26, 2009 at 2:40 PM, <kr...@k2d2.org> wrote:

> I saw the following comment on Howard's blog and felt compelled to comment:
> "I just felt the need to reiterate that I don't see there ever being a T6;
> I see a stream of backwards compatible updates to Tapestry 5.1. In fact, I
> think the 5.0 -> 5.1 transition was a little rougher than I'd like for
> future releases."
> "The overall approach in T5 was to eliminate the root issues that caused
> the backwards compatibility problems in earlier Tapestries."
>
> Aside from the fact that there is an admittance to things not going as
> planned in the very first version 5 iteration, Howard, I think you are
> sincerely wrong. For based upon your resolve to never have a version 6, I
> see only two possible outcomes:
>
> a) All innovation on the web stops and we continue using T5
> b) Innovation on the web continues and Tapestry becomes obsolete.
>
> To further my argument, assume that T5 had been developed in 1995 for use
> on the web. Do you really see T5 honed for the web as of 1995 being able to
> seamlessly take on, without change in architecture, the following:
>
> - CSS
> - Javascript evolution
> - Ajax
> - IoC
> - Persistence frameworks
>
> The problem with backwards compatibility is introduced at some point in
> every framework for one of two reasons:
> a) The framework decides to adopt a new architecture to support essentially
> the same end goal and platform for gains in productivity, stability,
> scalability, etc.
> b) The framework is forced to adopt a new architecture to support
> innovation in the marketplace (HTML5, offline storage, desktop-web-apps,
> RIA, osgi/java modules/bundles, language improvements, who-knows-what).
>
> The technology community is accepting of (b) as a necessary side effect of
> rapid innovation. It is far more skeptical of (a). However, companies are
> free to attempt (a) since in a free market, the market decides. Open source
> is not immune to that.
>
> So while I find your goal sincere given the v3 -> v4 -> v5 migration
> history, I see it as neither a realistic nor intelligent goal to pursue. In
> fact, quite the contrary, it dissuades people who are evaluating Tapestry.
> Instead of defending your decision to make T5 with the cloak of eternal
> future compatibility, why don't you admit to your error and move on? A
> little humility would be of great benefit and would complement your
> intellectual prowess, which is self-evident in your works.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>