The assertion is: beginning with year 2000, every serious programmer knows the value components, modularity, pluggability etc. Also, nearly every serious programmer is perfectly capable of coming up with a UI component framework of their own (be it only because UI component frameworks have been the big hit of object-orientation, they epitomized object-orientation for a long time). There's nothing special about the idea, or the architectural principles. What differentiates then one component framework from another is the ease of use, the intuitiveness, the applicability, the moto that I mentioned "simple things should be easy, and complex thing possible" etc. In other words, it's the myriad of details one has to pay attention to in order to make the whole feel right. I deliberately chose the most idiotic example of a detail, the incongruous naming of perhaps the least important tag. You would expect 'img' or 'image' because _everybody_ has one or the other, but no it's 'graphicImage'. I just find it funny.
Now, two quick substantial issues since you insist (and I'd be more than happy to be proven wrong, I might have misunderstood the spec or myfaces, for that matter): 1) Component state management: all component state needs to be saved, even static state that is defined at compile (or jsp translation time). This is bad architecture. And I hope you are not going to argue that this is fine, because we have so much computing power now ;) 2) No clear definition of development roles within the framework. Being a complex and all encompassing webdev framework, one would expect that it provides well for labor division between programmers and UI designers. But what I see from a UI designer perspective is a new set of tags to learn with not much control over how the output looks, with sometimes unpredictable behavior and no more expressive power than regular HTML. Having an extra layer on top of HTML (the JSF tags) is an opportunity to insulate looks from behavioral logic. JSF didn't cease that opportunity. The components mix appearance and functional attributes. Finally, the whole API is designed around fat classes, not interfaces. This is a serious and in my opinion unnecessary constraints on code that extends JSF in one way or another. Cheers, Bolerio ________________________________ From: Grant Smith [mailto:[EMAIL PROTECTED] Sent: Friday, April 06, 2007 11:59 AM To: MyFaces Discussion Subject: Re: New to MyFaces Then you shouldn't have posted such garbage to begin with. I'm sorry if that sounds harsh, but when you post to a public forum such as this one, you expose yourself to public criticism and review. If you cannot back up your assertions with substance then your assertions are likely to be rejected. I have been through the pain of writing huge servlet-based systems, then JSP, then JSF with JSP, and finally settled happily on JSF with Facelets. This a key element to being a programmer - moving with and keeping up with technology. If you find that this is too burdensome, you may wish to question your chosen profession. On 4/6/07, Iordanov, Borislav (GIC) <[EMAIL PROTECTED]> wrote: You've missed the point. Unfortunately, I don't know how to explain it more clearly. Sorry ;( -----Original Message----- From: Mike Kienenberger [mailto:[EMAIL PROTECTED] ] Sent: Friday, April 06, 2007 11:30 AM To: MyFaces Discussion Subject: Re: New to MyFaces On 4/6/07, Iordanov, Borislav (GIC) <[EMAIL PROTECTED]> wrote: > tag, you have to use <h:graphicImage>. A "graphic image" as opposed to what? > To a linux distribution CD image? To a "mental image"? Naming & API design > is a serious problem, I'm not joking! Obviously having a component > framework, any not completely idiotic component framework, is good. But then > the details matter a lot when it comes to usability. How dull and trivial :-) Just change it if it bothers you :-) <?xml version="1.0"?> <!DOCTYPE facelet-taglib PUBLIC "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN" " http://java.sun.com/dtd/facelet-taglib_1_0.dtd <http://java.sun.com/dtd/facelet-taglib_1_0.dtd> "> <facelet-taglib> <namespace>http://java.sun.com/jsf/html</namespace> <tag> <tag-name>img</tag-name> <component> <component-type>javax.faces.HtmlGraphicImage</component-type> <renderer-type>javax.faces.Image </renderer-type> </component> </tag> </facelet-taglib> -- Grant Smith