Programming with JSF: it’s not just an onion
So here I am, about a month into my foray into the world of Java web programming. For this project I am using Java Server Faces (JSF) with the new “standard” (ahem) toolkit of “visual design” web controls called Woodstock.
Yes, Woodstock. Let’s just forget for a second that what they’ve done here is take the worst part of Microsoft’s web technology, ASP.NET, and copied it. Let’s forget that they’ve done this in a tool that, in order to launch a simple editor, requires about 2 gigabytes of memory, plus swap, to run. Forget all that. Forget that it requires more or less coding blind and “hoping that things work”. It’s called Woodstock. If you search (say, in Google) for Woodstock components, by the time you hit the second page you’re about half buried in furniture and unrelated stuff. And it sounds totally hippie-esque. It’s hard to search on, and the name makes me think of people hanging around in a muddy field tripping. Actually, that doesn’t seem totally out of line when compared to understanding data binding to the Table component, so maybe the name isn’t so far off base, after all.
It’s just that the Beans framework with the JSF layers feel so huge and clunky. It’s like driving a rental truck with a manual transmission. If this is enterprise software, why do I have to double-clutch every time I shift? Why do I have to restart Glassfish every hour to clear out memory? Why does it require two gigs of RAM to run the most minimal CRUD application possible?
Next time I start a project, I’m going to spec it in pure Javascript and PHP. (Yeah, right.)
There are layers on layers. Blah blah pattern blah blah nother pattern built on blah library blah blah enterprise session container blah blah blah. This makes it difficult to learn and understand, and slow. There are a lot of layers. It’s not just an Onion, it’s a Great Big Onion. JSF, the GBO.
January 6th, 2009 at 4:10 pm
Sounds like JSF is like a lot of other “enterprise” software. It’s full of features but, in fact, is not designed for use. Very little software these days, save for embedded systems, is actually designed for use – rather, it’s all part of someone’s big science project. Gee – I hope we win at the Science Fair this year! The first prize is a 1 TB drive which would provide me with enough swap to support three drop-down text windows in my calendar applet!!