The Artima Developer Community
Sponsored Link

Java Buzz Forum
JavaServer Faces first impressions

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Norman Richards

Posts: 396
Nickname: orb
Registered: Jun, 2003

Norman Richards is co-author of XDoclet in Action
JavaServer Faces first impressions Posted: Dec 31, 2004 9:46 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Norman Richards.
Original Post: JavaServer Faces first impressions
Feed Title: Orb [norman richards]
Feed URL: http://members.capmac.org/~orb/blog.cgi/tech/java?flav=rss
Feed Description: Monkey number 312,978,199
Latest Java Buzz Posts
Latest Java Buzz Posts by Norman Richards
Latest Posts From Orb [norman richards]

Advertisement

OK, I was wrong. I've sort of gone along with the crowd with my dislike of JavaServer Faces. You know: It's hopelessly complex and only usable with by tools dumbed down for VB programmers. It's a web framework that only Struts users could love. I just sort of accepted the blog pundit party line. It's easier to criticize something than to promote it, especially when you haven't really taken the time to look at it. All I had seen was a few confusing and poorly-written articles which seemed to reinforce those ideas.

I've been sitting on a review copy of Core JavaServer Faces for quite some time and decided to finally dig it out over the holidays. Armed with that and the reference implementation I put together a few simple web applications.

Much to my surprise, JSF is really quite simple and intuitive. I loved the simplicity of the model objects and actions, and navigation is incredibly easy to string together. I found getting started to be an order of magnitude easier than with struts, and surprisingly I found it even easier to get started with than Tapestry. As an emacs die-hard, I don't mind a bit of a learning curve with my tools. But, I do mention just because everyone consistently points out how confusing and complex JSF is. It's not. It's dead simple. The deployment descriptors are straight forward and the pages are easy to understand. I've been doing JSTL for quite some time, so it all felt quite natural me.

What's good and bad? The programming style is similar to Tapestry and dead on intuitive. Besides the fact that I detest the IClassName naming convention that Tapestry uses, I don't see them as being that different. JSF seems a bit simpler to me, but I've only done toy applications with either one so it's hard to say. It's certainly a world of difference from older frameworks like Struts. I hope I never have to manually generate a URL, extract a request parameter or touch a javax.servlet class again.

On the bad side, I think that Tapestry has a leg up on JSF in terms of page creation. I've had a love-hate relationship with Tapestry here. On one hand, I love the idea of being able to embed default values and make pages that an HTML guy can come in and edit. On the other hand, I hate writing HTML. JSF naturally appeals there because you aren't needing to bother with the details of HTML to create your application. I think abstracting out HTML generation is a much better way to go, but I'm not sure that that is practical or realistic. In other words, it's a nice theory, but the Tapestry way of doing things seems to work well for people in practice. I'll have to work with JSF a bit more before I'm convinced that it does work.

My goal here isn't to praise JSF beyond saying that my first impressions were incredibly positive. I'm definitely looking forward to getting into it a bit deeper.

Read: JavaServer Faces first impressions

Topic: Jdeveloper 10.1.3 preview Previous Topic   Next Topic Topic: [Dec 16, 2004 11:57 PST] 11 Links

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use