Tapestry Making Web Development a Breeze? 268
An anonymous reader writes "IBM DeveloperWorks has an interesting article on how to simplify your Web-based development with Tapestry, an open-source, Java-based framework that makes developing a breeze. The article shows you around Tapestry, from installation to file structure. See for yourself how Tapestry facilitates servlet-based Web application development using HTML and template tags."
Rapid web development getting out of hand? (Score:3, Insightful)
I suppose this is just the next step in the constant progression toward appeasing laziness; no matter how easy an interface becomes, there will always be demand for something or someone to fill the gap of applying actual effort to learn it.
Re:Rapid web development getting out of hand? (Score:5, Insightful)
Scaffolding is a tiny portion of Rails, only a few dozen lines of code out of thousands. There's more code wrapped up in pluralization than scaffolding yet for some reason everyone's remains fixed on "scaffod :foo". DHH has said time and time again that scaffolding is there just so that you can get a quick way to get you running, by the time you're done the scaffolding code should be long gone.
Think of it as the 'genie' effect in OS X: easily recognizable but mostly for show. People may not 'get' things like Unit testing, database agnostic schemas, MVC patterns, domain specific languages, duck-typing, or any of the other things that make rails really productive but they sure as hell get "1 line of code and I've connected to a database to perform CRUD functions." Once you've got them with the scaffolding hook people are receptive to the things that really make Ruby on Rails cool.
Scaffolding makes for a nifty screencast but the real joy comes when you actually learn how to use the language and framework.
Re:Rapid web development getting out of hand? (Score:2)
Re:Rapid web development getting out of hand? (Score:2)
What the Rails crowd seem to forget is that the issue of whether domain specific languages and duck typing really lead to long-term productivity has been a matter of hot debate for decades. It is all to easy to state that they are productive as is this was some established and universally acknowleged fact. It isn't. They certainly happen to be fashionable at the moment, as they were 20 years ago.
Re:Rapid web development getting out of hand? (Score:3, Interesting)
I have been programming since the 70s. I remember in great debate between dynamic languages and statically types languages in the 80s (it was Smalltalk vs C++ in those days).
I always learned that the best programmers "write programs that write programs".. you don't agree?
I strongly disagree. This can lead to 'clever tricks' co
Re:Rapid web development getting out of hand? (Score:2)
Re:Rapid web development getting out of hand? (Score:2)
Re:Rapid web development getting out of hand? (Score:2)
And lets be realistic - not using a framework isn't going to cure la
Re:Rapid web development getting out of hand? (Score:3, Insightful)
Re:Rapid web development getting out of hand? (Score:2)
We have lots of experience with this kind of thing (Score:2, Interesting)
What separates a good web page from a crummy one is not so much the tools that get used but the talent and knowledge of its author. The sad truth is that there are many hacks out t
Re:We have lots of experience with this kind of th (Score:2)
These are the same kinds of people who can tell the difference between normal high-quality copper cables and gold plated, revsered ionising, high-molecular partical charged, $10,000, copper audio cables.
Re:Rapid web development getting out of hand? (Score:3, Interesting)
I steadily advise anybody to run screaming in the opposite direction whenever they are approached by somebody trying to sell them a tool to "magically make all of the inherent difficulty in making computers do awesome thing vanish instantly!" Anybody who can fall for this pap the 100th time they've heard it also thinks there's a $0.02 pill they can drop int
Re:Rapid web development getting out of hand? (Score:5, Insightful)
Meaningless tautology.
Language doesn't matter at all.
Baseless assertion.
There's difference in functionality between one language and another, true. That's because different languages were built to different specifications and purposes:
And here you contradict your own baseless assertion.
no first-person shooters written in assembly,
Ok, here is a good example. Lets say all you had was assembly language and perhaps FORTRAN to perform some "high level" math operations. Lets say someone asked you to create an FPS. Now, it could probably be done. You'd have to figure out how to interact with the graphics hardware at the register level. You'd have to write almost every single function by hand from aside from whatever math functions you can utilize from FORTRAN. So 6 months into development someone comes along an says, "Hey, here is this new language called C and a library called OpenGL. These will make your FPS development a whole lot easier. It solves the really hard problems of dealing with hardware and makes your code work on many different kinds of graphics cards." Are you saying that you would run screaming from this offer because it couldn't possibly make your work easier? Unless you are some really f'ing hardcore assembly programmer, I bet you coudl cut your development time by an order of magitude at least. You could probably even afford to complete dump that previous 6 months of development in the trash and STILL come out ahead because you found a new tool/language which makes a perviously hard program relatively easier.
Contrary to your initial baseless assertion, language DOES matter. Frameworks matter. Libraries matter. There are, in fact, all kinds of things that can make a particular project easier.
-matthew
Re:Rapid web development getting out of hand? (Score:3, Interesting)
Re:Rapid web development getting out of hand? (Score:3, Interesting)
Re:Rapid web development getting out of hand? (Score:3, Interesting)
Aw, they're so cute when they're bewildered! How can I resist? Hey, I'll spare this much for you: I know a secret. It's a secret you only find out after programming for a while. It's one you obviously don't know. You might as well have included a screen shot a couple posts back showing you googling for "programming language". Congratulations, you now know the names of several.
There is this public perception, unanimous in use
Re:Rapid web development getting out of hand? (Score:2, Insightful)
when you study programming, it shapes your mind. when building software, it shapes the universe in which you model your target system. not to mention realities of software development in real life (here on earth, may be on your planet its different). you have to train people, you have to get people to work together. and different languages and environments have different devices to support (or, frankly, to discourage) these things
Re:Rapid web development getting out of hand? (Score:2)
A typical "text editor" might have cut and paste, but it sure as heck doesn't have macros in it. When you start adding that in, you're not terribly far away from being either an IDE or a "Word Processor".
Re:Rapid web development getting out of hand? (Score:2)
Re:Rapid web development getting out of hand? (Score:2)
Re:Rapid web development getting out of hand? (Score:2)
What I WOULD worry about is management cracking out on every new buzzword that comes along. Perhaps you can't get a project done using only "buzzword X." That I worry about, but, interestingly, introducing new buzzwords really doesn't change the situation.
Relax. Why do you care what a bunch of web developers are doing anyway? If they have their fun with whatever to
Re:Rapid web development getting out of hand? (Score:2)
And what is wrong with a "database browser" web application? If you have a perfectly good database model that you want people to interact with, why not use a database oriented framework? Why should anyone have to reinvent a framework every time they want to write a database driven web application? I'll tell you
Re:Rapid web development getting out of hand? (Score:2)
Because when you get above a certain size and complexity of application you soon realise that a web application can end up as
Re:Rapid web development getting out of hand? (Score:2)
-matthew
Re:Rapid web development getting out of hand? (Score:4, Interesting)
SQL database IO is all that the Rails ActiveRecord ORM is capable of doing 'as shipped'. You may be able to write (or find) wrappers for ActiveRecord to deal with other methods, but that is not the point. A good framework should provide all this for you.
When I use Java I use the JDO 2.0 persistence API. I can read and write objects to SQL-based relational stores, XML, CVS, Text files, LDAP and many other stores without changing a single line of my source code. I also have a rich query language (JDOQL) that I can use on any of these persistence mechanisms - even Text files! Why should I go backwards to Rails/ActiveRecord, which provide less than this?
Re:Rapid web development getting out of hand? (Score:2)
Where did I suggest that you should?
-matthew
Re:Rapid web development getting out of hand? (Score:2)
Most people don't need that capability though.
Re:Rapid web development getting out of hand? (Score:2)
And anyone who works in web development is that the vast majority of applications are CRUD. Anything that keeps me from having to duplicate all the hoops I have to jump through to get CRUD working on PHP or ASP.NET is wonderful.
True, but irrelevant to Tapestry. (Score:5, Insightful)
What Tapestry is emphatically not is a whizzy-ooey drag-and-drop autogenerated no-coding-necessary whiz-bang shill. Those are, by and large, a bunch of crap: they usually just make the easiest 90% even easier, and the "last 90%" even harder.
What Tapestry is is a very nice web framework, which has a lot of the same MVC capabilities as Struts and the code reuse possibilities of JSF, with far less configuration and unnecessary complexity than either of those options. The Tapestry team, much like the excellent Rails folks, have looked for ways to reduce redundancy, boilerplate code, and messy configuration -- especially in this 4.0 release. Roughly speaking, Tapestry is about 80-90% of the streamlined simplicity of Rails, but with a much richer framework underneath and all the existing libraries and machinery of Java at your disposal. It has the best mechanism for HTML fragment reuse I know of.
What the Tapestry team has not done is try to make an app that thinks for you. You've still got to code. It's just a lot less tedious than with most other frameworks.
My two latest webapps have been all Tapestry 4, and it's great how little code/config I have to write that isn't conveying useful information. I'm really quite impressed with the framework.
So yeah, I agree with your rant, but it's not appropriate to Tapestry.
Re:Rapid web development getting out of hand? (Score:2, Insightful)
Re:Wearing grandfather's clothes getting out of ha (Score:2, Insightful)
Because they work.
KFG
Re:Wearing grandfather's clothes getting out of ha (Score:2)
Re:I agree (Score:3, Informative)
This gets modded Informative? What crack are the mods on and please cant I not have any of it?
In this day and age, real men write HTML by integrating several streams from databases, RSS feeds, and all manner of other things, and passing the resultant XML through an XSL transform on the fly.
Fair enough, you probably write your XSL in a text editor.
Oh, the irony (Score:3, Informative)
This gets modded Informative? Oh, the irony... it hurts.
Mods, just bogart that joint! My post (above) wasn't Informative [reference.com] . At best it was (dubiously) Funny [reference.com] . Arguably it was either Flamebait [catb.org] or Troll [catb.org] ; and it is now certainly Overrated [reference.com] .
See, these funny little words in the moderation menu, they all have semantic content [slashdot.org], you know? Like, they actually me
Re:I agree (Score:3, Interesting)
Here is an example, so you can say that you have 'seen' such a project. Sometimes it is useful to generate XML because it can be selectively transformed by XSLT to a variety of report formats
Re:I agree (Score:2)
Re:Verizon known for crippling phones (Score:2)
Oh yea? Well... (Score:2)
Re:Oh yea? Well... (Score:2)
Re:Oh yea? Well... (Score:3, Funny)
Re:Oh yea? Well... (Score:3, Funny)
Written backwards (Score:5, Insightful)
REAL web based tapestry making (Score:2, Funny)
Tapestry Making Web Development a Breeze?.... (Score:2, Informative)
The post looks like an ad.
I have used Tapestry several times since its firsts versions (pre-Apache). It sucks.
Yeah is much better than Struts and others, but is really complicated... a lot of XML
Why other frameworks like Seaside http://www.seaside.st/ [seaside.st] doesn't receive the attention of Slashdot?
Seaside is technically superior, it uses continuations to mantain state and this make it really transparent...
Maybe because Seaside runs in Squeak http://www.squeak.org/ [squeak.org], is open source and...
Wait is not sponsore
Re:Tapestry Making Web Development a Breeze?.... (Score:3, Insightful)
Seaside is technically superior, it uses continuations to mantain state and this make it really transparent...
Maybe because Seaside runs in Squeak http://www.squeak.org/ [squeak.org], is open source and...
Wait is not sponsored by any big name (like IBM, or Sun)... mmm both IBM and Sun publishes its ads in slashdot...
Ahhh now I see why
No, it is because systems like Squeak, no matter how technically wonderful it is (and it i
Re:Seaside Making Web Development a Breeze?.... (Score:2)
Well Squeak may be, but since Smalltalk is Smaltalk. Dolphin Smalltalk is commercial grade software used...commercially. The problem is more marketing and mindshare than any technical deficiencies.
Dolphin Smalltalk runs only on Windows. There are high-quality cross-platform Smalltalk versions, but the really good ones (such as VisualWorks), are either exp
Re:Tapestry Making Web Development a Breeze?.... (Score:2)
Rapid Development Framework is not enough (Score:3, Interesting)
Don't be put off (Score:4, Insightful)
Easy web development with Java? (Score:3, Interesting)
I just finished reading an interesting comparison [pythonmac.org] of Java, PHP and Python over on Bob Ippolito's weblog. It talks about the implementation of a simple web service in the three languages. To summarise:
That's to implement the same web service.
Re:Easy web development with Java? (Score:5, Informative)
* 117 lines of very liberally spaced Python code, or
* 138 lines of insecure PHP code, or
* 3004 lines of Java code in 45 files, 29 lines of SQL, and 246 lines of XML configuration in five files.
Which is complete nonsense, as with Java you can use JSP tag libraries, which will are secure (compiled, so no code injection at run-time) and can be used in exactly the same way as PHP, so will require about the same size of code.
Re:Easy web development with Java? (Score:2)
Especially the XML configuration file can't be much bigger than 20 lines.
It should be something like:
140 - 200 lines of JSP/Java (for imports, package declarations, typed variables etc.)
29 Lines SQL
20- 30 lines XML Config file
angel'o'sphere
Re:Easy web development with Java? (Score:2)
Please, for the love of GOD..... (Score:5, Insightful)
Look, these flagships specs like J2EE and EJB are designed to solve problems of writing massively distributed apps that need to have transactions spanning multiple servers running different OSes -- horrendous problems that you never, ever, ever want to have to solve. And if you do have to solve them, Java is the best way -- but if you take all that machinery and try to write a "hello world" webapp, of course it's going to take 30 bazillion lines of code.
Somebody writing the webapp he describes in 3000 lines of Java is either (1) utterly ignorant of how to use the Java frameworks (like Tapestry) that are appropriate for the task, or (2) deliberately spreading FUD on behalf of Python.
That is not to slight Python or the framework he's using. Python is very cool. I'm just sick of people complaining about "Java" when what they're really complaining about is "Java abuse."
Re:Please, for the love of GOD..... (Score:2)
Re:Please, for the love of GOD..... (Score:2, Insightful)
my main point is to do with things like distributed transactions, etc.
the comment on scalability and thread-safety was in response to a post way up above implying you needed to be an "uber-organization" to have those requirements.
Re:Please, for the love of GOD..... (Score:3, Insightful)
Re:Easy web development with Java? (Score:5, Informative)
Don't get me wrong: I love Python. But it doesn't need flawed statistics. Heck, I'd think a maintenance programmer would love the PHP code easily over that Python mess. (K)LOC don't count people, your use of commenting and clear code does!
Re:Easy web development with Java? (Score:2)
Java based web apps take longer to code in my experience. I dislike php and haven't found time to play with ruby on ra
French is a far more compact language than English (Score:3, Insightful)
- Uninformed comment near the top? check
- Pointless flamebait modded to Score 5? check
- Disingenuous and patently ridiculous to boot? check
- Complete ignorance to the turing equivalency to all languages? of course
Wow. I'm making a study. Apparently in french:
"Voulez-Vous Couchez Avec Moi?"
In English
It has come to the attention of my biological subsystems that I find you sexually fit and attractive, and thus would like to engage in procreative attempts in order to further the expan
Re:Easy web development with Java? (Score:2)
-matthew
Way too many HTML frameworks. (Score:3, Insightful)
I am aware of the dangers associated with poorly designed rich clients, but rich clients work well, as long as you use some discipline in the system architecture. I know some rich client architectures exist, such as Curl, but in general, it appears there is very little activity in this arena. I wish this industry would focus a little more on interesting GUIs, instead of beating the same horse over and over again.
Re:Way too many HTML frameworks. (Score:2)
Just because a new article shows up it does not mean a new framework shows up.
Tapestry is an old one.
angel'o'sphere
Re:Way too many HTML frameworks. (Score:3, Insightful)
But most frameworks try to go along the route of plain actions and boilerplate mvc on top of it without any event
TANSTAAFL (Score:5, Insightful)
I've worked with Tapestry. Is it a decent framework? Yes. Did we end up choosing it over JSF for our project? Yes, we did. Did it make development "a breeze"? No.
In my experience, Tapestry simplifies some complex tasks and helps you write reasonably clean, well-structured code. This is, I think, all anyone should realistically hope for from any framework. However, it isn't a magic bullet and we did find that things became a little gnarly as soon as we tried to do stuff that the Tapestry developers hadn't really anticipated or designed for (and the things we were trying to do weren't really very exotic).
Of the frameworks I've seen lately, Ruby on Rails is the one that bends the curve the furthest in the trade-off between 'what you can do' and 'how easy it is to do it'. Tapestry is a way behind that, but it's nevertheless a solid addition to anyone's toolkit, so long as you don't have unrealistic expectations of what it can do for you.
Interesting, I found the opposite (Score:4, Interesting)
That's not to say that I haven't had some wrangling with Tapestry, but it was for genuinely unusual stuff. And it's a heck of lot more concise than JSF.
The Tapestry docs are rather mediocre; they're still a holdover from v3 in many parts, and make some things sound harder than they need to be. I wonder if you used Tap 4 on Java 1.5 to their full potential?
Comment removed (Score:4, Funny)
Survival of the fittest (Score:2, Interesting)
Sun's java studio creator (Score:3, Informative)
well though out way to created database backed web pages. I wonder if tapestry works with this or eclipse.
Sun is definetly feeling some heat from eclipse and starting to make it development tools significantly better.
If I wasn't using php I would definetely look into thses.
http://developers.sun.com/prodtech/javatools/jscr
http://developers.sun.com/prodtech/javatools/jscr
Let me see... (Score:2)
Section: Classic mistakes
"There are no silver bullets"
Check. As long as I can build entire sites over the weekend, I'll keep developing with a framework that I know.
Re:Great another web framework (Score:4, Insightful)
I'd love to say "amen to that". I hate frameworks.
But the thing is, there are often classes of problems to which these things apply. It's just that you and I dont have them. A framework is a tool; use it when it suits.
Re:Great another web framework (Score:2, Insightful)
A framework is less a tool than it is an entire toolbox and a methodology for using said tools.
Re:Great another web framework (Score:2, Interesting)
On the plus side, they can possibly (and sometimes live up to the promise of) saving you the trouble of writing boilerplate code (e.g. db access, ....). They're far better than what would be hand-coded at shops wher
Re:Great another web framework (Score:5, Insightful)
Not necessarily. The right framework can produce the HTML for you, and can save you a lot of time because you can use components that generate things like fully-tested portable JavaScript. Some frameworks allow a lot of re-use. JavaServer Faces (JSF) will allow the possibility of rendering HTML, XML, WML or a range of other client presentation technologies from the same tags.
The solution may only be more involved that the problem is simple, and it is hard to tell when a problem will grow to be complex. Using a framework can not only save time but can be a form of insurance against future growth in complexity of the website.
Re:Great another web framework (Score:3, Interesting)
paragraph.pl: Replaces "\r\n\r\n" with "</p%gt;\r\n\r\n<p%gt;" to properly paragraph text.
image.pl: Let's me issue a command like "add madness.png 4 right" to add an <img
Re:Great another web framework (Score:3, Informative)
If you like Perl, you might be interested in Jifty [jifty.org], a new open-source Perl-based Web framework. It's only a "developer release" right now (ie. don't use it to run your banking site), but it's pretty useable all the same. It's got a lot of the shiny AJAX stuff people have come to expect, and it makes setting basic things up ri
Re:Great another web framework (Score:2)
The main problem is, t
Re:Pathetic. (Score:5, Informative)
Hm. Tapestry is an open source project; from the FAQ [apache.org]:
So I'm not sure that this really qualifies as an ad. More of a "free, informative article", especially since the author (Brett McLaughlin) is quite a Java guru.
Looks like Tapestry uses annotations a lot; I've found them to be pretty handy things [blogs.com] as well...
DeveloperWorks is supporting open source community (Score:5, Informative)
As the original author of Tapestry (but not the article on DeveloperWorks, which caught me by surprise) I can say that IBM doesn't have any secret agenda on this. In fact, given that IBM is selling a commercial product that competes head-to-head with Tapestry (their JavaServer Faces, built on top of their WebSphere proprietary Eclipse IDE) it is enlightened of them to cover Tapestry.
Of course, what's going on there is two fold. First, IBM is big enough that different areas of the organization will have different and occasionally competing goals. Primarily, all on-line magazines are constantly hunting for new material to keep the eyeballs looking (and the click rates clicking). IBM doesn't solicit authors to write on particular subjects, they accept existing authors efforts, with the authors pursuing their own interests. Here, Brett happened to be into Tapestry and did a great job providing additional documentation in the form of this article.
I make my living off of Tapestry, so I'm happy to see this kind of coverage, but the framework itself is open source and free, with a very, very liberal license (ASL 2.0). I make money by providing Tapestry support and training [tapestrysupport.com]. There's your ad.
In even newer news, Tapestry 4.0 final release [apache.org] is now available.
The Original Author of Tapestry? WebObjects. (Score:3, Interesting)
Please don't take offense with this, but Tapestry seems to be an open source version of NeXT's - then Apple's WebObjects [wikipedia.org] web application development system. Even the Tapestry documentation acknowledges this.
WebObjects performed poorly in the marketplace due to Apple's stunning inability to market it's strengths - the exact same strengths the article is describing. Many people, including Apple employees - (myself in the past) - lobbied for WO to be made open source. We failed. Good to see that the ideas
Re:The Original Author of Tapestry? HLS (Score:3, Informative)
Although I freely being influenced as a user of WebObjects back in the day (circa 1998 and 1999), that's about as far as the lineage goes. I certainly built Tapestry with a different set of expectations and compromises than WebObjects, and that has evolved further of the years.
However, I will stand by declaring myself "the original author of Tapestry". That clearly describes Tapestry design and implementation; the flavor might inlcude a little WebObjects spice, but the meat is pure Java + Servlets + Howa
Re:The Original Author of Tapestry? WebObjects. (Score:2)
WebObjects performed poorly in the marketplace due to Apple's stunning inability to market it's strengths - the exact same strengths the article is describing. Many people, including Apple employees - (myself in the past) - lobbied for WO to be made open source.
Yeah. I remember 5 years ago telling my manager and 50 other people in the room that WebObjects needed to be free, and the $700 that they had just dropped it to wasn't going to help. Amazingly they declined to take bu
Re:The Original Author of Tapestry? WebObjects. (Score:2)
I agree you have to give
Re:DeveloperWorks is supporting open source commun (Score:2)
Re:DeveloperWorks is supporting open source commun (Score:2)
in the FAQ (section 1.6) offers a little hope, but I could find no other info on alternate (lightweight) deployment methods. After readi
Re:DeveloperWorks is supporting open source commun (Score:2)
Re:DeveloperWorks is supporting open source commun (Score:2)
Re:Pathetic. (Score:2)
Re:Easy web development with Java? (Score:4, Insightful)
Rails has a lot going for it, and the entire Ruby concept of focusing on code has influenced many frameworks, including Tapestry. Tapestry uses abstract properties combined with annotations (or auxillary XML files) to do the kind of meta programming that is done using class methods in Ruby, but nonetheless.
In terms of dependencies, being an Apache project causes some distribution problems w.r.t depenencies, especially when you use non-Apache projects like OGNL [ognl.org] and Javassist [jboss.org]. The next major release of Tapestry will build using Maven, which will make nearly all of part 1 of this article irrelevant (or at least, standard). I'm looking forward to part 2 myself, which should identify why Tapestry is so special.
Finally, within the Java community, Tapestry is fairly well known, though a regrettably small percentage have used it. The majority of the targetted readers of this article would have objected to wasting too much space describing Tapestry and its goals, just as others in this thread have objected to the lack of that introductory material. You can't please everyone (exception on Slashdot, where you can't please anyone).
Re:PHP seems to work fine (Score:2)
Re:PHP seems to work fine (Score:2, Insightful)
I can understand why people choose Java and do J2EE. I've studied J2EE and liked it.
But as I do work in LAMP enviroment, can't fathom why I should move to Java application servers in the web.
They're far too complex, many are still buggy and costs are high for then. Jsp doesn't offer much more than does PHP, infact I think to effectively use it, one needs to do lot more.
It's not that Java is hard or difficult, using it just create lot more work than using PHP. Unless you have some uber organiza
Re:PHP seems to work fine (Score:2)
Buggyness, not very buggy at all, most of them are very mature.
Complexity: Unfortunately yes it is there, but they cover a lot of domains, some of them have even integrated databases, security, clustering, messaging, remoting, webservices etc... you get this all out of the box
JSPs only are a small subdomain of J2EE JSP in fact ist the only thing very close to PHP and nowa
Re:PHP seems to work fine (Score:2)
Also with those languages probably nmost I learned php in 20 days and stuck with it people will get huge problems, you run in
Re:Thank God I Learned Java/Eclipse (Score:2)
Re:High learning curve (Score:2)
No need to leave Java to do this - JSP has the same capabilities.
Re:High learning curve (Score:3, Insightful)
Not really. There can be nothing as confusing as dozens of JSP/PHP pages with lots of repeated code and no central map of how the navigation is done.
Often structure gives clarity.
Re:what is the business model for these promotions (Score:2)
Re:More DevWorks (Score:2)
You must be new around here. Either that, or you mean the fossilized bones of the shark that Slashdot jumped over and over years ago. At least it's still entertaining.
Re:Tapestry drawback myths (Score:4, Informative)
1. Complicated. Uneasy to learn.
Just different. People trying to find Struts++ get confused because Tapestry is a completely different beast.
2. Does not support unit testing.
Wrong. This was doeable in 3.0 with an add-on; an improved version of the add-on is part of Tapestry 4.0.
3. The "Model" component of MVC is closely tight to "View"; you cannot have many views of the same page (for instance: web page, web page for printing, WAP page).
Ultimately, your model is really DTO, not your page or component class. Tapestry components don't care where data comes from, thanks to OGNL. So, there's no reason you can't have multiple pages for different formats. However, Tapestry does not address the myth of one page / multiple views. A desktop HTML application and a WAP application are completely different beasts and should be treated as such. You should not be coding applications inside a big case statement.
4. Adding your own JavaScripts suxx. You have to map component names etc.
Because HTML output is componentized, JavaScript generation for that HTML must be componentized. This is an annoyance for simple cases, but means that complex cases just work. You can have as many DatePickers or Palettes or validating fields and forms per page as you like and it all just works with everything wired together properly, and all client-side elements (JavaScript variables and function names) generated free of naming collisions. Tapestry was born to do Ajax.
5. If you want to validate form field, you have to use special components (ValidField). Some components do not have their validated counterparts. Client-side validation is very basic (e.g. cannot check if entered date is in the future).
You haven't looked at Tapestry 4.0. Paul Ferarro did a complete rewrite of the validation subsystem to make it more powerful and more flexible; all the form control components now support input validation, ValidField has been deprecated.
6. Changing one line of code/template requires you to redeploy whole application; that is, pack it into .war archive, send to web server, perform refresh. When used with Apache Tomcat, leads to memory leaks.
So you're blaming Tapestry for your bad development model? I deploy into Tomcat, but do all my development inside my IDE using Jetty. No redeploy, and I can bounce the Jetty instance in a few seconds.
7. The page pool model is said to scale well, but can be very error-prone. For instance: if you forget to reset some variable, it can be displayed by some other user when he happens to pull it from the page pool.
This I find an amazing observation; Even Tapestry 3.0 supports transient and persistent properties for you ... meaning you write an abstract class and let Tapestry provide the code to implement the property along with the compliance code to work well with the page pool. Management of transient and persistent page state is an application concern that you should be delegating to Tapestry. Just define abstract getters and/or setters, rather than instance variables (and getters and setters). Tapestry writes the code for you (at runtime).