On 4/6/07, Iordanov, Borislav (GIC) <[EMAIL PROTECTED]> wrote:
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.
And I don't find it a problem to remember that a component called "graphicImage" will give me a graphic image. If you wanted to, you could just use xhtml, and use facelet's jsfid attribute to connect <img> to the component. I think your fundamental lack of knowledge of JSF and Facelets is evident in this area, and I fail to see how it qualifies you to be a detractor of the technology. 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 ;)
Component state management is well defined in the spec. Myfaces Tomahawk gives you even more power with saveState. There are technologies which fit on top of JSF, like Seam, which give you even more power, like conversational and page scoped components. In any case, your statement is flawed: you do not _have_ to save component state. You _can_, by simply using the Session scope, but that is bad design. 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.
Actually JSF and Facelets allows for reasonable separation of developer roles, as far as this ideal is practical. The UI designers can write pure XHTML, and simply connect to the corresponding beans using jsfid. Way more separation than what JSP gives you... with JSP, your UI folks have to understand JSP.. 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.
I assume you can back this up, and have extensive experience with extending the API. Please feel free to discuss it in the developer's mailing list (myfaces-dev). 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"> <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
-- Grant Smith

