Book: Tapestry 5: Developing Web Applications

Discussions

News: Book: Tapestry 5: Developing Web Applications

  1. From Matt Shaw: I ordered "Tapestry 5: Developing Web Applications" with a lot of trepidation. I have been disappointed by Tapestry and related things in the past and I wasn't really keen on setting myself up for more disappointment despite my interest in the progress of this framework. I actually feel a little bad for the authors of previous Tapestry books because they've been shortchanged so often in the past. Every time someone takes the time to write a book on Tapestry, HLS and friends pull the rug out from under them, completely change it from ground up, break backwards compatibility and make any existing publications irrelevant in a modern context. It almost feels pointless to review a book that has such a high chance of being sentenced to irrelevance on a whim. Developing Web Applications starts off with the usual tech book fluff followed by the usual 'get up and running' information. This is a bit drawn out as the author provides information on how to use Maven to pull a skeleton project, set things up in various IDEs and use Tomcat for your deployments. In such a small book this space probably could have been better used with a quick, terse focus on one prescribed build environment leaving more room for information about the framework itself. This initial slow build leads to a fast-paced run up the learning curve for the rest of the book, quickly jumping through basic and advanced component chapters and then landing on a chapter about localization. Wait a second, localization? I'm all for language support in web frameworks, but this seems a bit out of place in a chapter on its own smack dab in the middle of chapters about using and building UI components and doing input validation. In such a short format book I was hoping to get some more detailed information about Tapestry's guts and would have preferred to have i18n stuff relegated to a short appendix. The chapters are painted in pretty broad strokes and focus a lot on the 'how' rather than the 'why' of things which leaves a lot of the book feeling like an extended demo that you have to write yourself. A very common Tapestry complaint (from my perspective) is that the learning curve is quite steep and I don't feel this book addresses that. The meat is found in the component chapters where you can find a brief introduction to a lot of the basic and some of the advanced components. The author guides us through the creation of a reasonably simple CRUD application that you could use for a jumping-off point to do more complex stuff. The book does a reasonably good job of ramping up through the increasingly complex components while creating this app, but is a bit sparse when it comes to details for more abstract concepts like Application State Objects and value persistence. The book closes with a chapter about creating your own components which is a must. Tapestry has been plagued with complaints about how difficult it was to write custom components in the past and it's obvious that they have taken steps to remedy these complaints. Unfortunately, it's still quite a complex task and the space dedicated to it in this book doesn’t really do the topic justice. Given the information the author has to work with and the intended audience, Building Web Applications is not a bad first book to describe the latest reinvention of Tapestry. It should get the average developer up and running with framework basics quite quickly but is not much good as a desk reference. Such a short book on such a broad topic really just ends up being more of a teaser than a definitive guide and I think Tapestry is in desperate need of a long thoughtful volume on the subject.

    Threaded Messages (72)

  2. Is this a review of the Tapestry book, or a screed against Tapestry? The author's introduction gives every impression of having an axe to grind, but I was able to keep an open mind until "how difficult it was to write custom components" ... seriously, WTF? Tapestry has long been the gold standard for writing components, the only framework where creating new components is a normal part of the development process strong it's so easy. I thought it was interesting and ambitious that T5:DWA launched right into developing Ajax-enabled client-side components and managed to do so in just a few lines of Java and XML (by wrapping existing JavaScript client-side libraries).
  3. Maybe great for you to create componments but for me tapestry sucked. Maybe its different now, the reviewer says its rewritten? Isn't serverside written with tapestry?
  4. 4 or 5?[ Go to top ]

    Are you guys who go all "don't look at my sister like that" over Tapestry defending Tapestry 4 or the quite different re-implementation called Tapestry 5? You cannot say that "Tapestry has long been the gold standard for writing components" in reference to the youngster Tapestry 5. Anyway, IMHO a framework is not mature until a "X in Action" book is published. I love those books.
  5. Re: 4 or 5?[ Go to top ]

    I think it is quite fair to say; the improved component support in T5 builds on the ideas, if not the code and implementation of Tapestry 4. Those core concepts have had several years to be fleshed out and to mature, and the clean slate of Tapestry 5 makes it so much easier than ever before. Those core concepts are a unified model for pages and components, the idea that parameters are a bi-direction update to a container property, and that way components have templates that can integrate into the container template. Again, Tapestry 5 takes those ideas an just makes them work better, but it will be familiar (and far simpler) for anyone experienced in Tapestry 4.
  6. good book[ Go to top ]

    book is cool. tapestry component is cool. this book better than EWDW is better than wicket in action. -Hari Sujathan. http://www.freedownloadsoftware.com/
  7. The book is Good. Yet is the tapestry framework good? Or is it sort of jumbled up code that will need refactoring next release because its all cluttered together trying to fit in lot many things. -hari sujathan
  8. I think the framework founder knows it. its difficult to expand on already existing tapestry code base. So technology is used as an excuse to write code from scratch up. Stick to solid frameworks like Seam which is headed by person who developed highly succesful product. Outjection- yes its clear seperation of concern.
  9. I read the book, It is well written and have a lot of info to start quick and keep up running with Tapestry 5, If you want more advance topics look somewhere else as the author of the book said because he didn't have enough space. Tapestry 5 website have great documentation also, everything is there. Tapestry 5 is a great web framework, HLS said that the next Tapestry version's will not broke backward compatibility because Tapestry 5 is designed now with that in mind. Actually JSF 2.0 the coming spec is a lot based on Tapestry 5. So yes in the past Tapestry had backward compatibility problems but in that way it got mature and I think now Tapestry 5 is one of the best component based frameworks, simple, easy to use, compact and flexible. 2c.
  10. Actually JSF 2.0 the coming spec is a lot based on Tapestry 5.
    How did you come to that conclusion? I'm on the JSF 2 EG, and while it's certainly possible I've missed something, I don't think Tapestry has been mentioned at all in our discussions. While there are likely things to glean from Tap5, and there may be similar approaches in the two frameworks, the JSF 2 spec is *not* based on it in any way that I've seen.
  11. ... I'm on the JSF 2 EG, and while it's certainly possible I've missed something, I don't think Tapestry has been mentioned at all in our discussions....
    Now we know why JSF is so moronic - they are too ignorant to study other frameworks. Thanks for the insight!
  12. ... I'm on the JSF 2 EG, and while it's certainly possible I've missed something, I don't think Tapestry has been mentioned at all in our discussions....


    Now we know why JSF is so moronic - they are too ignorant to study other frameworks.

    Thanks for the insight!
    Don't be a moron. The JSF EG has people on it who've got lots of experience in a lot of areas - including me, and I *have* used Tapestry. Just because it's not been mentioned doesn't mean that the EG members are ignorant, nor is Tapestry all there ever was to doing components well.
  13. ..Don't be a moron. The JSF EG has people on it who've got lots of experience in a lot of areas - including me, and I *have* used Tapestry.
    Whatever the people were the result - JSF 1.x was nonsensical monstrosity. It was so bad that I do not even look at JSF 2.0 despite my love of component oriented frameworks.
  14. Smeets[ Go to top ]

    Eelco, Smeets has been an annoyance for some time, under various user names. He's stepped over the line. His childish writing style is easily recognizable. He's stirred up FUD several times, including claiming a private chat with me about an incompatible Tapestry 6. His antics are very close to the shit Marc Fleury used to pull a few years ago around JBoss.
  15. Now we know why JSF is so moronic - they are too ignorant to study other frameworks.

    Thanks for the insight!
    Joe's exactly right. We have all used other frameworks, and we ARE looking at what they're doing for inspiration, but as to the statement that JSF 2 will be *based* on Tapestry, that's just flat out false. JSF 2 *will* be *influenced* by other frameworks, though. In fact, Ed even invited some devs on other frameworks (Wicket, Stripes, and, yes, even Tapestry) to join the EG, but all declined. And, as an aside, your insipid personal attacks do little to lend your opinions any credence, of which, IMO, they are in sore need.
  16. The Tapestry community is a little testy lately; a persistent Wicket-troll, Rob Smeets, keeps dropping into the Tapestry lists to insult and annoy us. I attended a JSF 2.0 kick off session last year, at JavaOne. My work schedule has precluded me participating since then.
  17. The Tapestry community is a little testy lately; a persistent Wicket-troll, Rob Smeets, keeps dropping into the Tapestry lists to insult and annoy us.

    I attended a JSF 2.0 kick off session last year, at JavaOne. My work schedule has precluded me participating since then.
    Right. I should note that I don't fault any of those alluded to for their decision. While their (direct) input would have been awesome, I can certainly understand the various reasons the overture was declined. Just want to make that clear. :P
  18. The Tapestry community is a little testy lately; a persistent Wicket-troll, Rob Smeets, keeps dropping into the Tapestry lists to insult and annoy us.
    If you do a search in the list archives of the Wicket lists you see exactly 0 entries for Rob Smeets. Howard, will you please stop throwing out public statements that makes it look like people from other frameworks are conspiring against your brain child? It is simply not true. We've had this discussion before, and every time you accused someone of being a Wicket troll, it turned out to be someone completely unrelated to the framework. If you have a problem with Rob Smeets on your list, tell him so and treat him for what he is: some individual venting his own opinions.
  19. Yes he is venting his own opinions, he goes by many names. It's not "every time". It's the same guy. He always makes a case for "wicket", so what kind of label would you attribute to him than the one which he claims for himself over and over again? There is such a thing as leading by example Eelco, which is what you've just witnessed in this thread now. Maybe you would do well to try some of the same.
    ..Howard, will you please stop throwing out public statements that makes it look like people from other frameworks are conspiring against your brain child? It is simply not true. We've had this discussion before, and every time you accused someone of being a Wicket troll, it turned out to be someone completely unrelated to the framework. If you have a problem with Rob Smeets on your list, tell him so and treat him for what he is: some individual venting his own opinions.
  20. Yes he is venting his own opinions, he goes by many names. It's not "every time". It's the same guy.

    He always makes a case for "wicket", so what kind of label would you attribute to him than the one which he claims for himself over and over again?
    So you think there is one person out there who adopts different names and likes nothing better than to spoil a mailing list by being a troll for another framework? Sorry, but I have a hard time believing that, and a quick search in Tapestry's archives doesn't reveal that either. Can you point to a specific thread please? That said, I know how annoying it can be to have 'vs' questions over and over again on the list. We have plenty of examples on the Wicket list where someone lost his patience over such a question. We typically have to defend ourselves against JSF or GWT. But I have never had the idea that such emails were sent with malicious intentions.
  21. Yes he is venting his own opinions, he goes by many names. It's not "every time". It's the same guy.

    He always makes a case for "wicket", so what kind of label would you attribute to him than the one which he claims for himself over and over again?

    There is such a thing as leading by example Eelco, which is what you've just witnessed in this thread now. Maybe you would do well to try some of the same.

    ..Howard, will you please stop throwing out public statements that makes it look like people from other frameworks are conspiring against your brain child? It is simply not true. We've had this discussion before, and every time you accused someone of being a Wicket troll, it turned out to be someone completely unrelated to the framework. If you have a problem with Rob Smeets on your list, tell him so and treat him for what he is: some individual venting his own opinions.
    Guys, Don't associate me with anyone. I'm Jan. If Jesse, you are the one doing the association, then we all know you're dumb so you need not be taken seriously. I've said it in the past and I'll repeat it here once again:
    For the records I want to make it crystal clear that I niether belong to the Tapestry nor Wicket community. My colleagues and I are developing an in-house web framework. We think we could learn from Wicket and Tapestry’s experience and come out with something very beautiful. Because of this I follow these 2 frameworks very closely. I don’t and have NEVER used any of these frameworks except some little playing with both. Just for the record.
    Jan
  22. My colleagues and I are developing an in-house web framework. We think we could learn from Wicket and Tapestry’s experience and come out with something very beautiful.
    Why don't you develop a JSF3 from those two frameworks? OK, you are not JCP!
  23. My colleagues and I are developing an in-house web framework. We think we could learn from Wicket and Tapestry’s experience and come out with something very beautiful.


    Why don't you develop a JSF3 from those two frameworks?

    OK, you are not JCP!
    theserverside:~ jlee$ make sense make: *** No rule to make target `sense'. Stop.
  24. The Tapestry community is a little testy lately; a persistent Wicket-troll, Rob Smeets, keeps dropping into the Tapestry lists to insult and annoy us.
    So I did a quick search on his messages on the Tapestry list. What I read there is that Rob Smeets is/ was looking for ammunition to 'win' a framework battle where he was representing a Tapestry team against another team that represented Wicket. He actually states that he is sad that his team seems to losing the race. I don't see why you would label him to be a Wicket troll; quite the contrary it seems to me. If you search the Wicket list, and probably the lists of any active framework out there, you'll see plenty of people asking for framework A vs B vs C type of questions. Such questions are typically written in an annoying, demanding fashion. "If you don't tell me exactly why your framework is better is than the other, I'll pick the other one". I wish people would just do their own home work, and keep technical discussions limited to sites such as these. But they don't, and you can either ignore such messages or deal with them in another way you deem suitable, but blaming other frameworks is the dumbest thing to do.
  25. Rob has made other appearances besides the single thread you looked for already. The users list has also caught on to "Rob"s particular writing style and choice phrases, so he is usually singled out as troll fairly quickly these days no matter what name he is using. People asking for comparisons that aren't this particular person are normally answered very civilly. I'll stay away from your "what is dumb" remark as my opinion of you in this regard is probably best kept to myself.
    ...blah blah... you'll see plenty of people asking for framework A vs B vs C type of questions. Such questions are typically written in an annoying, demanding fashion. "If you don't tell me exactly why your framework is better is than the other, I'll pick the other one". I wish people would just do their own home work, and keep technical discussions limited to sites such as these. But they don't, and you can either ignore such messages or deal with them in another way you deem suitable, but blaming other frameworks is the dumbest thing to do.
  26. Rob has made other appearances besides the single thread you looked for already.

    The users list has also caught on to "Rob"s particular writing style and choice phrases, so he is usually singled out as troll fairly quickly these days no matter what name he is using.
    That sounds ridiculous. So you think Jan de Jonge and Rob Smeets for instance are the same guy posing under fake names? Proof it and go after that person then.
    I'll stay away from your "what is dumb" remark as my opinion of you in this regard is probably best kept to myself.
    Can't stay away from personal attacks can you?
  27. Tapestry is useless[ Go to top ]

    A convoluted spaghetti pos, steer clear if wise.
  28. Yes, sorry for this. Competing technologies need not bring hostility to this level. It's all just a technical discussion in that area, nothing more. That being said, I do think it's entirely possible that some of the other component oriented frameworks wouldn't exist in their current form (or at all) - if not for Tapestry being created. (which is why I say current form, as it seems inevitable that other people would want it coming from web objects / etc) Whether one is an improvement over the other doesn't matter as much as which framework developers enjoy working with. We're perfectly happy with the slice of whatever developer base there is for us currently. Mass adoption has never been a goal as far as I know.
    Now we know why JSF is so moronic - they are too ignorant to study other frameworks.

    Thanks for the insight!

    Joe's exactly right. We have all used other frameworks, and we ARE looking at what they're doing for inspiration, but as to the statement that JSF 2 will be *based* on Tapestry, that's just flat out false. JSF 2 *will* be *influenced* by other frameworks, though. In fact, Ed even invited some devs on other frameworks (Wicket, Stripes, and, yes, even Tapestry) to join the EG, but all declined.

    And, as an aside, your insipid personal attacks do little to lend your opinions any credence, of which, IMO, they are in sore need.
  29. Yes, sorry for this. Competing technologies need not bring hostility to this level. It's all just a technical discussion in that area, nothing more.
    Agreeed.
    That being said, I do think it's entirely possible that some of the other component oriented frameworks wouldn't exist in their current form (or at all) - if not for Tapestry being created. (which is why I say current form, as it seems inevitable that other people would want it coming from web objects / etc)
    That's certainly possible. I had a college professor tell me years ago, "Never be afraid to steal a good idea." I have a suspicion that if you're not doing that, you're causing yourself more trouble then you need to. ;)
    Whether one is an improvement over the other doesn't matter as much as which framework developers enjoy working with. We're perfectly happy with the slice of whatever developer base there is for us currently. Mass adoption has never been a goal as far as I know.
    Again, no argument here. :)
  30. In fact, Ed even invited some devs on other frameworks (Wicket, Stripes, and, yes, even Tapestry) to join the EG, but all declined.
    Oh, I thought Howard agreed to join the EG. FWIW, I remain unconvinced that we need a standardized web framework driven by a JSR. I'm a staunch believer of free markets, and JSF is basically subsidized product development. JSF 1.x is the Lada of the Java web frameworks* Of course, now that JSF already exists, this stance isn't very relevant. But that, together with that I think I wouldn't be able to make much of a difference in such a large and diverse group, was my main reason for not joining the EG. * Lada is working on shiny new competitive models nowadays. Maybe they'll take over the world by storm.
  31. Oh, I thought Howard agreed to join the EG.
    No, I don't think any of those did, which is a shame, but understandable.
    FWIW, I remain unconvinced that we need a standardized web framework driven by a JSR. I'm a staunch believer of free markets, and JSF is basically subsidized product development.
    And that's a fair stance, I think. I waver on that point, personally, but, standard or not, I like it, use it and work on it. :)
    Of course, now that JSF already exists, this stance isn't very relevant. But that, together with that I think I wouldn't be able to make much of a difference in such a large and diverse group, was my main reason for not joining the EG.
    I don't know about that. I would have loved the extra input, but, as I noted, I can understand your reasoning, and we still get the competition that drives better products from everyone, even if the input isn't direct. :)
  32. Spirit?[ Go to top ]

    Hi all, I was enthousiastic to get some news about Tap5; it had been a while... And then this.... A depressing intro, and a fish market that followed. Guys... People like Lewis take the time and spare no effort to drive the business. It's an example. It's through framework evolution that the Front-end matures. Also other standards like JSF. I'm a long time JSF user but boy what a pain it can be, I have to admit. Anyone using JSF will know what I'm talking about. Often too complex configuration before all works, the complex component dev (certainly compared to Tap5). I've been using MyFaces Core, Tomahawk and Trinidad (JSF 1.2) + Facelets and I have come across quite some inexplicable bugs...(and yes, I posted them and mailed to the user list, it's all the help I can afford, timewise, unfortunately). It made our project lag behind to the extend we are considering IceFaces this time, hopefully this brand will give us less pain and be more accountable. (no offense meant to the hard working MF contributers, many of which were very kind and helpful on the mailing list, all in the little free time) [sorry for the wine - point being -> ] It's refreshing other FWs exist and can offer an alternative. Isn't this what the Java space was/is(?) all about? I will likely not use Tap; I have to follow Stds (company policies...) but I applaud JHS and hope that he will get his community revived. You need a community to create momentum. Fine products deserve credit. Not FUD. If you don't like it, give JHS your arguments so that he can further improve the FW. But I'd like people here to stop these childish discussions. Mr Ship... I'd ask a new thread dedicated to Tap5. After this you deserved it. Perhaps you could start by bulleting out for us what's new and what you think is cool about this version. And -without that begin hostile- perhaps pointing out some diffs with JSF as I guess everyone is curious about that in particular (I am at least). But I'll leave that last aspect to your discretion. Good luck with the FW and let all this not hurt your great sense of humor. -Wolf Ps If this Rob guy exists(which I can actually imagine) and does what is claimed he does: try to get attention in a positive way, man. You'll see it's much more rewarding. The gutter has no glory.
  33. Re: Spirit?[ Go to top ]

    And then this....
    A depressing intro, and a fish market that followed.
    Maybe because many people have no interest in a framework who's creator is so insecure that he constantly feels the need to publicly pat himself on the back, and so arrogant that he is blind to the fact that there are better frameworks than his out there. And those frameworks are not only better, but they didn't have to start over FIVE TIMES to get there, either.
  34. In fact, Ed even invited some devs on other frameworks (Wicket, Stripes, and, yes, even Tapestry) to join the EG, but all declined.
    Does that tell us something about the nature of JSF? Hibernate would not decline the opportunity to join EJB3 or JPA.
  35. Does that tell us something about the nature of JSF? Hibernate would not decline the opportunity to join EJB3 or JPA.
    I don't think it does at all. Hibernate was already fairly close to what JPA ending up looking like, and, as I'm sure you know, Hibernate is a JPA impl, so you code to the JPA interface and use Hibernate transparently. The same is not true for JSF (or any other web framework today). The EG wasn't designing some abstract interface that would have multiple implementations. We're designing (modifying) a spec that describes a *concrete* framework. You can't code to a JSF "interface" and let Wicket, Tap, RIFE, Stripes etc be the "provider" like you can with JPA and, say, Hibernate and TLE. The devs/leaders of the other frameworks had too much on their plates already, or failed to see how working on the JSF EG would help them, their projects, or JSF. So I don't think your question makes any sense at all.
  36. HLS said that the next Tapestry version's will not broke backward compatibility because Tapestry 5 is designed now with that in mind.
    This is the exact same thing he said when going from Tapestry 3 to 4. So watch out, man. Jan
  37. I think this criticism of Tapestry is pretty harsh. Tapestry has been pushing the envelop for Java web development for a long time. Its had its issues and HLS has attempted to address these with improved versions and design patterns over time. How you handle improvements to a framework is difficult. You can freeze your design, which Struts 1.x effectively has done, and be left with a stable but arguably very basic framework. Or alternatively you can evolve the framework, and introduce new concepts which may break old design patterns. Its your choice. We should also give Tapestry and Howard credit for leading the way in bringing component oriented architectures to the Java web world (inspired by Apples WebObjects). Wicket and Click have arguably been inspired by the work that Howard has done. regards Malcolm Edgar http://click.sourceforge.net
  38. no surprises[ Go to top ]

    I would say that you (Joe) should be ashamed of yourself for posting this kind of article, but I think we all know that you stopped pretending this was a place for genuine technical discussions of important topics in our community a long time ago. It's a pay for play gig, and we're not paying. It's ok though, hopefully only a small minority will be fooled by this drivel masquerading as a technical review for a framework and book that the author has likely never used.
  39. Re: no surprises[ Go to top ]

    my my.. Amongst Howard and Jesse tapestry sure has a bunch of loons championing it..
  40. Re: no surprises[ Go to top ]

    I would say that you (Joe) should be ashamed of yourself for posting this kind of article, but I think we all know that you stopped pretending this was a place for genuine technical discussions of important topics in our community a long time ago.

    It's a pay for play gig, and we're not paying. It's ok though, hopefully only a small minority will be fooled by this drivel masquerading as a technical review for a framework and book that the author has likely never used.
    Jesse, not quite sure what you mean by this.. are you suggesting that Matt does NOT feel what he feels about the book? If so, I'd suggest taking it up with him - email me and I'll give you his email address. Pay for play? Who paid for this? Why do I not have some of the toys I want to have if this is a pay for play gig? Who's being paid? I haven't noticed you suggesting "important topics." Incidentally, Matt *does* have the book, because I've discussed it with him, and he wouldn't have described things in it the way he did had he not had access to it - just as I have a copy here in my grubby little hands. Perhaps instead of spending your time griping about how someone didn't like a ... product RELATED to something you're associated with, you could actually work on making the entire ecosystem around your pet projects a little stronger, so that Matt's point of view seems less common?
  41. Re: no surprises[ Go to top ]

    Perhaps instead of spending your time griping about how someone didn't like a ... product RELATED to something you're associated with, you could actually work on making the entire ecosystem around your pet projects a little stronger, so that Matt's point of view seems less common?
    +1 This is one of the areas where T5 can improve a great deal - building the community. A new "Tapestry in Action" book or something like that would be a great start, once T5 has been completed.
  42. Re: no surprises[ Go to top ]

    I haven't read the book, but I have been using Tapestry for 3 years, and own the HLS Tap 3 book and the Kent Tong Tap 4 book. I don't know that Tapestry was "plagued" by complaints that components are hard to write. Simple reusable components are actually quite easy to write, and that is one of the strongest points of Tapestry for us. (Nothing wrong with simple components.) On the other hand, the criticism that this book is too brief sounds pretty reasonable to me. Complex applications will need to hook into Tapestry in complex ways, and the more reference info and examples we get, the better. I still find HiveMind pretty perplexing. I believe HLS stated that it is more a framework for frameworks, rather than a framework for applications, or something to that effect. Maybe that's why I find it so difficult. Anyway, I believe HiveMind is "out" with Tap 5. So it goes. The compatibility issues are well-known. We had a small amount of Tap 3 code when Tap 4 came out, so it was no big deal to convert. It was even quite fun because Tap 4 did improve things a lot. But I seriously doubt we'll be able to look at Tap 5 for our current applications. Regards John Hurst Wellington, New Zealand
  43. I am not pushing an agenda here. I am normally a silent happy user but there appears to be a program of anti-tapestry promotion going on. So I have decided to voice my positive view of Tapestry. My experience with Tapestry having used it on multiple projects - one of which is still very actively developed and sold as a commercial product (600+ tables) over the last 6 years (very early Tapestry user), is a totally positive one. Tapestry has many many strengths one of which is the Component model. Each revision has improved the model and processes in using the framework. I assure you, it is very easy to create and use components. The ability to easily create components is the key to getting the best out of a component framework. T5 has refined this process further resulting in it being even easier to create components, write pages etc. The up grade path between major versions is no way near as hard as some have suggested. I do agree with Howard's approach that Tapestry 5 being a major version upgrade does not need to be fully backward compatible. I fully support the changes. As a long time user, I am pleased that the framework is not stagnating. Total backward compatibility forever is a chain around your neck - limits you way to much when technology is moving forward. We do intend to move our product(s) to T5 once it has been released. I have never met Howard (or any of the Tapestry team) I am (mostly) a silent happy user. I am of the view that you should use the framework that works best for you and your team. Forget the FUD - Try Tapestry out and judge for yourself.
  44. +1 Tapestry is getting an unfair amount of FUD these days. I've bought the book, read it and found it quite informative. We also have been users of the Tapestry framework from version 3, and did a couple of projects last year with version 4. I'm currently in the process of evaluating T5 and although I'm critical of some aspects of the framework I think for web development it is still a hard one to beat.
  45. Thanks for this comment; a vast improvement over the FUD, trolls and accusations that are flying around.
  46. +1

    Tapestry is getting an unfair amount of FUD these days. I've bought the book, read it and found it quite informative. We also have been users of the Tapestry framework from version 3, and did a couple of projects last year with version 4. I'm currently in the process of evaluating T5 and although I'm critical of some aspects of the framework I think for web development it is still a hard one to beat.
    If somebody talks about Tapestry (even trying to say it is bad) then it means that Tapestry is good competitor on the Web component framework market. And eventually it is a great news ;-) But I have some message to the people who are creating Web Component Frameworks (Tapestry, JSF EG, etc.). Maybe it's a time of collaboration? For example let's look at JSF EG - they are producing JSF standard. Of course, it is very important but look around guys there is no developer who is looking for specification. Developers is looking for a TOOL - A Web Component Framework with a large set of components. Right now on the market I see a lot of implementations of JSF specification. But very often these implementations doesn't compatible as the result it's a huge pain to create simple web application using JSF. Besides don't forget about issues which are exists in these implementations. Now about Tapestry. It's so easy to create components in this framework but at the same time we can see that very often there is no components and because community is not big there is not enough fundamental documentation. I personally can see the benefits of Tapestry and it is true it's easier and powerful in general rather than JSF. But at the same time JSF has also great ideas. I'm thinking that it would be great one day we will have just ONE framework to build web application easy. Like in .NET developers don't think what to choose - they just use it. And there is no Web Framework fights! It would be great if Tapestry community and JSF community and maybe others communities produce something amazing with rich set of components together (but unfortunately these communities have different goals). Look at the past there is one example - Borland Delphi (everyone know they produced a huge component library and people use it and it was so easy to build applications). Thanks, Yura.
  47. I'm thinking that it would be great one day we will have just ONE framework to build web application easy. Like in .NET developers don't think what to choose - they just use it. And there is no Web Framework fights! It would be great if Tapestry community and JSF community and maybe others communities produce something amazing with rich set of components together (but unfortunately these communities have different goals). Look at the past there is one example - Borland Delphi (everyone know they produced a huge component library and people use it and it was so easy to build applications).

    Thanks,
    Yura.
    Dude. Java will NEVER have "one framework" to use, nor should it. Part of what makes the Java enterprise community strong is the variety of choice. Microsoft gets to say "use this today" and "use that tomorrow" - and nobody CAN argue. What you're advocating is a horror.
  48. Dude. Java will NEVER have "one framework" to use, nor should it. Part of what makes the Java enterprise community strong is the variety of choice. Microsoft gets to say "use this today" and "use that tomorrow" - and nobody CAN argue.

    What you're advocating is a horror.
    You didn't get my point. I'm not asking for "one framework", I'm asking for "one web component framework". Besides who you think I am? Am I Microsoft spy? No, I'm just software engineer. And I'm (I'm sure that millions engineers too) looking for one Web Framework but the rich one. In Java world before do some enterprise application I need to do many researches and one of them is "Choosing web framework". And believe me it's not trivial task. And sometimes wrong choice can be a bottleneck of innovation of software. I would say there is no many people in the world who can say me when I should use Tapestry, when GWT or JSF and when XXXXXXXX. The problem of choice - that's the biggest pain of java developers. And in the .NET world engineers don't need to make such a hard choice because they don't have a choice. But is it really bad? Does customer of software is care what framework did you use during implementation? Does TSS readers cares that TSS is using Tapestry (maybe this information is old)? I'm do care about final result and extensibility in future and not about frameworks. Thanks, Yura.
  49. You didn't get my point. I'm not asking for "one framework", I'm asking for "one web component framework". Besides who you think I am? Am I Microsoft spy? No, I'm just software engineer. And I'm (I'm sure that millions engineers too) looking for one Web Framework but the rich one. In Java world before do some enterprise application I need to do many researches and one of them is "Choosing web framework". And believe me it's not trivial task. And sometimes wrong choice can be a bottleneck of innovation of software. I would say there is no many people in the world who can say me when I should use Tapestry, when GWT or JSF and when XXXXXXXX. The problem of choice - that's the biggest pain of java developers. And in the .NET world engineers don't need to make such a hard choice because they don't have a choice. But is it really bad? Does customer of software is care what framework did you use during implementation? Does TSS readers cares that TSS is using Tapestry (maybe this information is old)? I'm do care about final result and extensibility in future and not about frameworks.

    Thanks,
    Yura.
    Why would one web component framework be better than "one framework" or "one web framework?" What you're talking about is the tyranny of choice - it's a real problem, but it's a better problem to have than the alternative.
  50. Dude. Java will NEVER have "one framework" to use, nor should it. Part of what makes the Java enterprise community strong is the variety of choice. Microsoft gets to say "use this today" and "use that tomorrow" - and nobody CAN argue.

    What you're advocating is a horror.


    You didn't get my point. I'm not asking for "one framework", I'm asking for "one web component framework". Besides who you think I am? Am I Microsoft spy? No, I'm just software engineer. And I'm (I'm sure that millions engineers too) looking for one Web Framework but the rich one. In Java world before do some enterprise application I need to do many researches and one of them is "Choosing web framework". And believe me it's not trivial task. And sometimes wrong choice can be a bottleneck of innovation of software. I would say there is no many people in the world who can say me when I should use Tapestry, when GWT or JSF and when XXXXXXXX. The problem of choice - that's the biggest pain of java developers. And in the .NET world engineers don't need to make such a hard choice because they don't have a choice. But is it really bad? Does customer of software is care what framework did you use during implementation? Does TSS readers cares that TSS is using Tapestry (maybe this information is old)? I'm do care about final result and extensibility in future and not about frameworks.

    Thanks,
    Yura.
    Jeez, then go to .Net. Having to choos from several good choices IS NOT A PROBLEM for anyone but the terminally lazy. If you think that choice is difficult, then software development may not be the career for you. These frameworks have different strengths and weaknesses, no different than a programming language. Don't want to do html markup? GWT is a great choice...unless you have 508 compliance issues. You don't like choices, fine. Act as if you are in .Net and use it warts and all. It doesn't do something you need, but another framework does? Forget the other framework and power-through. Don't ask that the rest of us suffer because you find options distressing.
  51. I'm sorry, I think I didn't explain my self well, the problem is my english is not so good. I wanted to said yes JSF 2 *will* be *influenced* by Tapestry because HLS almost joined the EG but I didn't know they all declined. My opinion is that is not so good for JSF 2 because I was excited JSF will be influenced by Tapestry because Tapestry 5 really is a master piece of software. People talking bad things about Tapestry I think they didn't try Tapestry 5 yet, you really should try it and see how a component based web framework should be. I don't want to attack the JSF people but JSF sucks big time and is a monstrosity, For example to create a component in Tapestry 5 you need just 1 POJO and the template. To create a component in JSF I need a 500 book page explain me how to create one, I still now after 1 year trying JSF not understand how to create a component with it, it is to complex. I really I don't know where is heading JSF after listening to this news that JSF 2 will be not influenced by Tapestry or other framework, anyway good luck with it. For me I will keep with the open world and not standardized specs. Regards.
  52. I really I don't know where is heading JSF after listening to this news that JSF 2 will be not influenced by Tapestry or other framework, anyway good luck with it.

    For me I will keep with the open world and not standardized specs.

    Regards.
    Note that the "open world" benefits by standardized specs... and JSF has component models that are very clear, if you choose. Facelets, for example, is able to create components with very little work. One of the driving factors of JSF 2 is cleaning up the creation of new components. I think it's a little premature to write off the efforts of the EG just because it doesn't slavishly follow Tapestry 5's model.
  53. I'm sorry, I think I didn't explain my self well, the problem is my english is not so good. I wanted to said yes JSF 2 *will* be *influenced* by Tapestry because HLS almost joined the EG but I didn't know they all declined.

    My opinion is that is not so good for JSF 2 because I was excited JSF will be influenced by Tapestry because Tapestry 5 really is a master piece of software.
    Fair enough. I *think* you'll be quite pleased with JSF 2. I freely admit a bias, but I think JSF 2 will be really, really nice.
    I don't want to attack the JSF people but JSF sucks big time and is a monstrosity, For example to create a component in Tapestry 5 you need just 1 POJO and the template. To create a component in JSF I need a 500 book page explain me how to create one, I still now after 1 year trying JSF not understand how to create a component with it, it is to complex.
    We're fixing that in JSF 2. The current direction is that you will be able to have 1 UIComponent class describing the component interface and a (most likely) Facelets-like template telling how to render the component. Annotations will be available to "register" your custom component, so no XML should be required. All of this is subject to change, but that's where we're headed right now. For what it's worth, Ken Paulsen and I detailed a method for using a very similar approach right now using JSF 1.2. You can read more about that here: http://blogs.steeplesoft.com/jsftemplating-and-woodstock-component-authoring-made-easy/
  54. For what it's worth, Ken Paulsen and I detailed a method for using a very similar approach right now using JSF 1.2. You can read more about that here: http://blogs.steeplesoft.com/jsftemplating-and-woodstock-component-authoring-made-easy/
    Oops. I didn't mean to plug my blog (bad form! :). I meant to link directly to the article. :) http://java.sun.com/developer/technicalArticles/J2EE/jsf_templating/index.html
  55. Jason Lee Thanks for the article, it looks interesting. Well I hope JSF 2 go into the right direction. I hope it will be the web framework of choice for Java developers, Just I wish you can take a look to Tapestry, Wicket and Stripes or another opensource framework so you can learn new things about those frameworks so the EG can influence little bit in the design of JSF 2, But looks like JSF2 will be a better world. Please to some guys stop trolling around, Tapestry 5 is a great framework as is Wicket and others.
  56. Finally, I can find someone who agrees with me about the craziness going on in the Tapestry world. With Tapestry, each new major release is a whole rewrite from scratch. In the past I've been mentioning this but then people label me a troll. I'm glad you've also noticed this and acknowledged. I've downloaded the source and looked at it. Tapestry 5 has it's own embedded IoC container. Look around, we have Spring, Guice, and Hivemind IoC containers, the last written by howard himself and was used in Tapestry 4. Why is any of this not suitable for his framework? Even if it's not suitable for your needs, these are all open source frameworks that one could download and modify to suit his needs. But what does Howard do best? Start all over again from scratch with all the consequences that come with it, including the risk of backward compatibility. Tapestry 5 is the most over engineerd webframework I've seen. Web development is hard but don't personally think Tapestry 5's approach is the way to go. I know Howard would read this and disagree with me now. But in a year to come he'll come to agree and then what? He'll throw away Tapestry 5 and start with a new Tapestry 6 from scratch with absolutely zero regard to backward compatibility. He'll again leave users in the cold. By the way, I've heard rumors that Tapestry 6 is already in the works and is again not backward compatible. Personally I think Tapestry belongs to the classroom, where people always want to learn and experiment with new and different things. Students have abundance of time and don't need to invest hard dollars to come up with a system. If you are a serious organization with serious future ambitions, I would seriously question your choice of Tapestry, unless you want to experiment with it in your labs. Or write a little bit advance Hello world application. Jan
  57. Tapestry's reboots has been the #1 reason why I never tried it. I looked it over back during the 3.0 days. Tap4 broke Tap3 and Tap5 broke 4. And all the while it has stated that Hivemind was better than Spring and then proceeded to replace Hivemind with something else. My concern was that I couldn't trust that upgrades were going to be backwards compatible. Four was supposed to be the new foundation for future growth and now five. For me, I would need to see two consecutive non-breaking releases before it made its way back to my consideration list.
  58. Time to move on...[ Go to top ]

    Good god, I'm amazed Tapestry has any real users left (beyond Howard and Jesse and the people foolish enough to get them on consulting gigs). Surely it's time to stop flogging that poor dead horse and move on? Sure, it's fun kicking them on their way to irrelevance, but really, the sooner we all move on and forget this sordid little project, the better everyone's life would be (and maybe Howard can finally channel all that creativity and talent into something useful where he's managed by someone competent).
  59. Re: Time to move on...[ Go to top ]

    Heh, ..and you speak from experience of having made meaningful code contributions to a project before right? Just a little man with a big voice...
    Good god, I'm amazed Tapestry has any real users left (beyond Howard and Jesse and the people foolish enough to get them on consulting gigs). Surely it's time to stop flogging that poor dead horse and move on? Sure, it's fun kicking them on their way to irrelevance, but really, the sooner we all move on and forget this sordid little project, the better everyone's life would be (and maybe Howard can finally channel all that creativity and talent into something useful where he's managed by someone competent).
  60. Re: Time to move on...[ Go to top ]

    and you speak from experience of having made meaningful code contributions to a project before right
    in the case of hani that would have to be correct. I worked with a number of products he contributed code to
  61. Re: Time to move on...[ Go to top ]

    Heh,

    ..and you speak from experience of having made meaningful code contributions to a project before right?

    Just a little man with a big voice...
    Is this your adult technical discussion online persona, or your autistic real life person speaking? I get the two confused sometimes.
  62. Re: Time to move on...[ Go to top ]

    Hmm.. That's a good question Hani. Perhaps you can take that hideous looking UI fail that you created for visualizing testng report data and try to graph out my common phrases and words and see if there is a way to develop an algorithm that can take a given string input and tell you which persona you are talking to - if such a persona exists. Or - you could go to your local library and research the social habits of people and what kinds of events might influence one to talk in one way in one instance and another in a different instance. Such as going from talking to an adult peer to children. Those might be some good places to start. Hope that helps.
    Heh,

    ..and you speak from experience of having made meaningful code contributions to a project before right?

    Just a little man with a big voice...


    Is this your adult technical discussion online persona, or your autistic real life person speaking? I get the two confused sometimes.
  63. Re: Time to move on...[ Go to top ]

    Jesse, Behave yourself, little boy. If you have anytime left, you should use it to fulfill your slave master's (Howard) wishes instead of coming here to throw shot at decent people. Your slave master has decided to create the bugs and incompaibilities and you go solve them with some kind of divine intervention which unfortunately doen't rain yet on you. Jan
  64. Re: Time to move on...[ Go to top ]

    Jesse, Is this kind of back and forth really necessary? I have been using Tapestry for years and have found the community helpful, and the framework useful, but this leaves a sour taste in my mouth. I mean really, Hani insults you and you have to respond? It's par for the course with him. If you don't take the high ground or just let it go, you end up looking petty and the framework suffers as a result. Which in turn makes it harder for me to sell as a choice to clients. And also undermines my own faith. It really doesn't take much to take the high ground, despite whatever trolls might be out there. FUD may suck but these kinds of responses are equally damaging in the long run. I still can't in good faith recommend JBoss to clients after all that nonsense went down in years past.
  65. Re: Time to move on...[ Go to top ]

    Heh,

    ..and you speak from experience of having made meaningful code contributions to a project before right?

    Just a little man with a big voice...

    Good god, I'm amazed Tapestry has any real users left (beyond Howard and Jesse and the people foolish enough to get them on consulting gigs). Surely it's time to stop flogging that poor dead horse and move on? Sure, it's fun kicking them on their way to irrelevance, but really, the sooner we all move on and forget this sordid little project, the better everyone's life would be (and maybe Howard can finally channel all that creativity and talent into something useful where he's managed by someone competent).
    Jesse, with all due respect, SHUT UP. Hani's written more code than you have. I've used it; I've seen it. He's a better coder than most of the people I've met, and in my line of work, I've met a LOT of people. But for the grace of... some people, we'd be using Hani's code to run TSS right now.
  66. @Yura Tkachenko: I'm thinking that it would be great one day we will have just ONE framework to build web application easy. Like in .NET developers don't think what to choose - they just use it NO, NO, NO. JSF IS the OFFICIAL path much like is in .Net world. If you want to have a closed mind don't worry about any other option, they don't exist, follow the official path and of course only use the reference implementation (JSF is diverse too). But if you aren't comfortable with the official approach and want "to cute the edge" you have MORE options. Development styles is SO important, we discussed about this here and here. There are different approaches to the same objective, pick the one you feel more comfortable (and fits with your problem). Tapestry, Wicket, GWT, Echo, wingS, IT Mill... and of course my own framework ItsNat ... the world is diverse, complex, but is so amazing ... umm this is starting to seem an Aquarius ad :) Tapestry cannot be so bad when so many people have been using it for years. Yes HLS doesn't care very much about backward compatibility but this is the problem of the innovation: innovation is not conservative. You can say: "fine but we are stuck in an old frozen release and can't benefit of innovations without redoing all again". Ok, the ugly question... how much money has received Howard from you? The problem is the following, the "free beer" strongly promotes innovation: new books, training, and independent consulting need "new" things if the software is 100% free. May be we need to meditate about the business model of open source, if old releases of Tapestry were money backed in some way they will be improved too (of course they never will be "cutting edge" anymore because big innovations usually need to reinvent all).
  67. I purchased the book about a week ago and am about half way through it so far. It's definitely lacking in detail, but it's a good introduction to the framework. I'm in the process of evaluating it and Spring MVC for redesigning some old servlet and Struts 1.x web applications as well as some new applications. I'd like to see more sample applications, or a step-by-step guide which starts with user login and security through database access, query and display techniques. I think the author just skims the surface on the core concepts, leaving much discovery to the user through trial and error. I'd also like to see less emphasis on setting up your new Tapestry 5 application using Maven and dedicate more on how to do this from scratch. I dislike Maven and won't use it, but since both the Tapestry 5 website and this book only refer to Maven for setting up your project, it's difficult to understand how to do this yourself, and what exactly Maven did for you that is important to understand for yourself.
  68. Maven usage: A bit less. Starting with 5.0.11, the binary download includes both code JARS and source JARs for Tapestry and all the third party dependencies, so you can set things up very quickly. The Maven archetype is useful because: - It creates a package layout - It creates a web.xml - It creates a "default" AppModule (which is optional but useful) - It creates a template Index.tml and Index.java - It allows you to immediately run the app in Jetty w/o packaging or deployment So if you've seen the screencasts (even though they are a year or more out of date) you can see the advantage of truly being up and running in 15 seconds (as long as you already have Maven on your box).
  69. Howard, do you have a link that describes in detail exactly what AppModule does and why we may or may not need it? Also, I personally favor Tomcat over Jetty (and Ant over Maven), so it would be nice if you could provide some alternative documentation to Maven and Jetty configurations.
  70. flex being one of best RIA technlogy, integration with flex will be nice. exadel put their code here : http://code.google.com/p/exadel-flamingo/. Tapetry seems powerful. Wicket seems like - I am writing lot of servlet code in java constructor. Tapestry - back button/rewind issue looked bad. Wicket - those inner classes, class/html inheritance seemed powerful. Two thumbs up for Karthik's post here : http://karthikg.wordpress.com/2008/01/24/developing-a-custom-apache-wicket-component/ . I am confused. I am using wicket for my new project.. Hari Sujathan hari_sujathan at yahoo dot com (http://www.nomarriage.com)
  71. Because Tapestry 5 uses redirect-after-action, browser-back is not a bother. Also, the tricky rewind concept was retired for Tapestry 5, which uses a very different, more powerful, and more resilient method to sort out what occurs when a form is submitted.
  72. Howard, do you have a link that describes in detail exactly what AppModule does and why we may or may not need it?

    Also, I personally favor Tomcat over Jetty (and Ant over Maven), so it would be nice if you could provide some alternative documentation to Maven and Jetty configurations.
    Yes, there's extensive documentation about all of this on the Tapestry web site. Basically, AppModule takes the place of the kind of the XML-based customization/extension documents that Tapestry 4, and most other web frameworks, use.
  73. I have written a comprehensive review of the book including notes on some of the changes between 5.0.6 when the book was written and 5.0.10 and 5.0.11 which have extensive changes. Please check out my review and notes here http://javaevangelist.blogspot.com/2008/04/book-review-tapestry-5-building-web.html