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

Reply via email to