Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Tapestry is the best Java framework available today

David Geary:

So what's the best Java-based framework available today? It's a very close call, IMO, but I'd have to give the nod to Tapestry at the moment. I really like Tapestry's pure separation of HTML and components and the ability to create custom components without any Java code. That gives it an edge on JSF, which, like Tapestry is one of what I refer to as 3rd generation WAFs, that support components and a server-side event model.

He goes on to say that he'll likely continue to use JSF (with Shale) because it pays the bills and will dethrone Struts as the most popular - which will obviously lead to more gigs. I especially like this part of his post:

After I get client-side validation and file uploads added to Shale I want to turn my attention to Tiles integration, AJAX support and exploring Tapestry-like views that strictly separate HTML and component definitions. For me, those are the most exciting areas of Shale.

I agree that JSF definitely needs Tapestry-like HTML Templates. Shale definitely sounds cool, but I find it funny that it takes yet another framework to make JSF usable. ;-) Hopefully Shale will prove a lot of ideas worthwhile and end up as features in JSF 2.0.

Posted in Java at Mar 21 2005, 09:00:52 AM MST 9 Comments
Comments:

Everytime I start to look at JSF, it makes my head hurt. Even the excellent series on handwriting that Rick Hightower wrote on JSF for developerworks (http://www-106.ibm.com/developerworks/library/j-jsf1/?ca=dnt-65) didn't make me a believer. It takes far too much configuration just to do really simple stuff for my liking. I also can't completely jive my own experiences with our HTML designers with the vision that JSF lays out for web design. Anytime I don't give them complete control over HTML generation, they get really annoyed. While it might be possible to create apps rapidly (with a GUI builder) I wonder how easy it will be to make them look really good.

Posted by Patrick Peak on March 21, 2005 at 05:26 PM MST #

Wouldn't "Java-based web framework" be more accurate? Unless David is implying Tapestry is a solution for the middle-tier, too :-)

Posted by Keith Donald on March 21, 2005 at 05:47 PM MST #

I'm sure he meant <em>web</em> framework - he uses Spring for the middle-tier AFAIK. ;-)

Posted by Matt Raible on March 21, 2005 at 05:51 PM MST #

Matt, what do you think about the enhancement on the table for Shale that would provide a way to define fragments of the page in XML. I think it has some potential but I'm kind of bias. http://issues.apache.org/bugzilla/show_bug.cgi?id=33752

Posted by Gary VanMatre on March 21, 2005 at 06:03 PM MST #

Patrick, Although it's just adding to the number of other tools required to JSF usable, I found the HTML Layout Tag Library helpful for certain tasks. It does help get rid of all those 'verbatim' tags. I'm not sure how much a full-on HTML designer would like it though...

Posted by Matt Crockett on March 21, 2005 at 09:03 PM MST #

Matt C.,

I looked at the layout tag library and it seems theoretically interesting. I don't know too much about JSF to know if its efficient or not. I think my guys would go nuts if they had to prefix all the regular html tags with htm: though. Anything complex layout wise would be seem to be horrible, espeically if every td, tr and br tag needs a name space in front of it.

Someone more knowledgable about this can correct me here. But another thing I don't get about JSF is the need for entirely new layout rules, what with the panels, panel groups and columns. Html designers are already thinking in tables or CSS layouts. Inventing a third way to do layout, that they will have to learn seems like a great way to take control away from them and leave it to us programmers with our poor UI skills. And since JSF is a programmer oriented tool, you can almost guarantee graphic design capabilites are an afterthough. Think Flash UI's (Designer) versus Swing UI's (Programmers)

Posted by Patrick Peak on March 21, 2005 at 09:32 PM MST #

I also begin to look at jsf - I drop my approach to Tapestry to begin to learn jsf. But I know the view layer points - with html, css, struts, spring etc... It seems to me that jsf is made for people who do not work with a designer - because they don't need one or maybe because they can not afford one or maybe because they just care for usability and not for design. Just like a VB guy whose goal is just to create its app, and he does not care about having a nice html page, or a lightweight page - with xhtml+css. In a sense the no-html rule in jsf is just a choice to concentrate all the responsability of the application in the hands of one tool and one person. The more I learn about jsf, the more I find it interesting, but... not for me. The more I say to myself that the best aspects of jsf - and none of the annoyance, like Yet Another Layer - must be in Tapestry!

Posted by Gabriel on March 21, 2005 at 10:24 PM MST #

I dig David. Near future predictions: Model 2 development has expired (Struts 1.x). It was good. It was valuable but it is dead. Its death started before it was created. Apple WebObjects showed the right way to develop web applications. The Java platform had to catch up. It took a while to get the JVM tuned to support such a model. Tapestry, and JSF should dominate the market for a long time (soon). Tapestry and JSF are web component models. I dig working with web component models. There is a growing third party web component market that will be built on JavaScript, and DHTML. This seem really cool. I love the idea of buying third party components and having richer web applications. So long Struts 1.x.... Long live Shale! Long live Struts 2.0! (Long live in Technology terms is about 5 years or so) It looks like Tapestry will be the Sony Betamax and JSF will be the VHS. The fate seems written on the wall. Tapestry is better. JSF seems like it will dominate anyway. David Geary and Craig McClanahan will lead the way! I was not going to go to JavaOne this year. I am considering going just so I can learn more about Shale. BTW I know people are still using Struts, and there are still Struts projects, but the writing is on the wall. Web Component model frameworks will dominate new projects in 2005 (or maybe 2006). I like JSF a lot. I like Tapestry too. I'd love to work on a Tapestry project. I am open minded.

Posted by Rick Hightower on March 22, 2005 at 08:45 AM MST #

RE: "Everytime I start to look at JSF, it makes my head hurt. Even the excellent series on handwriting that Rick Hightower wrote on JSF for developerworks". Thanks. I am glad you like the series. RE: "(It) didn't make me a believer." It was worth a shot. :o) JSF is not for everybody, and it is not for every project. RE: "I also can't completely jive my own experiences with our HTML designers with the vision that JSF lays out for web design. Anytime I don't give them complete control over HTML generation, they get really annoyed." Assembly programmers never dug C. With abstraction sometimes you loose some control. I like Tapestry HTML templates for components. It seems to be a good mix of abstraction and control. Hopefully this will be an option in JSF. The world of JSF is not perfect. Vendors seem to be jumping the bandwagon, and JSF will improve.

Posted by Rick Hightower on March 22, 2005 at 08:51 AM MST #

Post a Comment:
  • HTML Syntax: Allowed