While one can disagree about the actual productivity increase offered by an
IDE plugin, you can't deny that it is a major plus for new adoptions. That
said, I think Tapestry is in a unique situation with the incompatibility
between T3, 4 and 5. We've developed some large applications using T3 and
given the direction Tap is heading in, are definitely going to evaluate
other frameworks when we think of upgrading (high barrier to upgrade implies
lower barrier to exit the platform). As it is, I have no incentive to adopt
T4 when T5 is going to be different. By the time T5 matures, there will be
several other frameworks (including Wicket, Echo2 and perhaps even .NET 2.0)
that will be exciting alternatives. At the end of the day, even though I am
a technologist at heart, technology exists because of business and
businesses don't care about how "cool" your internal architecture is, they
care about not spending millions to just upgrade to the latest without a
proportional increase in business functionality or decrease in cost of
operations neither of which are the case here IMHO.
Now before you respond, please note this is my personal experience. I'm sure
others will beg to disagree. I am making this post for those in a similar
situation aware of this being a shared experience (I know people have posted
of how they vouched for Tapestry only to look not so favorable a few years
down the road). With the current trend future compatibility will always be
broken because there will always be the next great thing and so the
temptation to make T6 incompatible. T3 for all its worth gives me enough so
I can weigh options and evaluate trends with leisure.
T3: Judgement day!
----- Original Message -----
From: "andyhot" <[EMAIL PROTECTED]>
To: "Tapestry users" <users@tapestry.apache.org>
Sent: Tuesday, August 29, 2006 8:10 PM
Subject: Re: TapIDEA future, post "Time to move on"
spindle-core (for Tap4) does this way in an IDE independent way.
I was taking a look at it 4 months ago, and I was able to do exactly this.
For instance:
public static void main(String[] args) {
TapestryCore core = new TapestryCore(new TestLogger(),
new LocalCoreListeners(), new LocalPreferenceSource());
ITapestryProject project = new LocalProject();
LocalBuild build = new LocalBuild(project);
build.build(false, new HashMap());
System.out.println(build.problemPersister);
}
All Local* classes where my implementations for the IDE-agnostic
interfaces
that spindle-core provides.
When i first tried it, it did output a few non errors (i think it didn't
understand default-value)
so I don't know what (other) errors currently exist.
I can give the latest version a try in a big project and see how it goes.
Konstantin Ignatyev wrote:
Agreed, but that could be done as build time 'check'
step. Something like JSP compiler task
http://ant.apache.org/manual/OptionalTasks/jspc.html
I think it could be easier to create than full IDE
plugin and such core service might be a very good
foundation for people willing to build IDE specific UI
layer atop of it.
--- D&J Gredler <[EMAIL PROTECTED]> wrote:
I mostly agree with you that current tooling gets us
pretty far, but there's
a lot to be said for turning the most frequent
"runtime" errors into
"compile-time" errors, something that often requires
special Tapestry
awareness.
On 8/29/06, Konstantin Ignatyev
<[EMAIL PROTECTED]> wrote:
My point is that in case of Tapestry/Wicket there
is
no need to worry much about tools, because
existing
ones provide pretty good environment to work
within.
Therefore focus on APIs and conventions seems very
reasonable to me.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr
Tapestry / Tacos developer
Open Source / J2EE Consulting
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]