Page Navigation in JavaServer Faces
Subject:   Have these people heard about this "new" thing called "Struts"???
Date:   2003-10-31 05:35:08
From:   sviergn
The assertions in this article, and in everything else I've read, indicate that the people behind JSF have no familiarity with Struts whatsoever--they pretend in their pronouncements that JSF is solving problems that have already been solved in Struts--especially the one described here, that of flexible navigation.

Having said this, I know that my assertion (that these people are not familiar with Struts) is totally untrue--Craig McLanahan, Struts lead developer, is the lead on Sun's JSF project. So why are the JSF proponents pretending that Struts does not exist when touting JSF? Struts is far from perfect--the very feature I talk about is nicely done in Struts but could be more easily configurable by application assemblers. But, in typical Sun fashion (can you say "EJB: the next generation???") they have created a system that does "more" than Struts, but at the cost that the simple things you could have done relatively easily with Struts are now ridiculously overcomplicated. Once again, Sun does not get the maxim "keep the simple things simple!" (Something many open source projects also frequently don't get, of course.) Showing off how "flexible" a framework is while noting that the simplest "Hello World" application is now a complex mess does not demonstrate how good that new framework is--instead, it demonstrates that the forces that got us to where we are today technologically do not get what is really important in the success of a framework.

On the one side, we have Microsoft with their "wizards", making simple things simple, but making anything beyond the simple impossible to implement without sophisticated tweaking. On the other side, we have Sun, demonstrating how amazingly flexible their frameworks are but simultaneously how amazingly difficult they are to use for even the simplest things.

It is possible to build frameworks that keep simple things simple AND allow maximum flexibility. The question is, where are they?

Full Threads Newest First

Showing messages 1 through 8 of 8.

  • Have these people heard about this "new" thing called "Struts"???
    2003-11-01 11:35:39  anonymous2 [View]

    Actually, the guy that created Struts also created JSF, so I'm sure he's heard about it.
    • Have these people heard about this "new" thing called "Struts"???
      2003-11-01 11:37:15  anonymous2 [View]

      My bad, I didn't read past the first paragraph :)
      • Have these people heard about this "new" thing called "Struts"???
        2003-11-03 15:09:59  sviergn [View]

        That's OK, sometimes my fingers type faster than my eyes can read, too. :-)
  • Have these people heard about this "new" thing called "Struts"???
    2003-11-03 08:11:50  anonymous2 [View]

    Keeping simple things simple is one of the reasons I'm using Tapestry for my application.

    I was ready to drop Java for my next project. I intended to still use it on the backend, but have ASP for the presentation layer. The fact is, implementing a good JSP solution has become an incredible amount of work, even when using Struts.

    One of the things I've come to realize is JSP is a horrible standard. Mostly because they want to be like ASP, but they also compile into Servlets. This is the sort of bastard standard the Java community doesn't need.

    Tapestry allowed me to keep everything in Java, at least where it's important to me. I write the pages in HTML with 'hooks' into the framework. Page specifications are done in XML. ALL of the backend code is Java. It seems too good to be true, but it works. The learning curve is steep, documentation is still being written for it. However, I have found that the more I play with it, the easier it gets. Building components is a snap. Throwing out a simple page with some basic functionality is not the headache it used to be. It truly understands the concept of "reusable"

    I don't blame Sun of JSF for unnecessary complexity, because that seems to be the way of the entire community. It seems to me that too many Java developers pride themselves in how many levels of complexity they can add to their projects. How many design patterns and how many technologies seems to be how they measure success.

    I'm trying to get "back to basics" with my design. Use design patterns where they make sense, avoid anti-patterns as much as possible. Keep the applications as simple as possible while compromising on functionality as minimally as possible. With my current design using Tapestry, I can load up HTML templates in most HTML IDE's, including WYSIWYG editors, and any user familiar with HTML can edit them. A promise we've had with JSP's that I have yet to see delivered in over 4 years of JSP development.

    I sure hope this fascination with complexity is going to end soon.
    • Have these people heard about this "new" thing called "Struts"???
      2003-11-03 15:08:37  sviergn [View]

      Very well put--"fascination with complexity!" I'm concerned that it's described equally well as "aversion to simplicity." As if developing a "simple" framework was "beneath" some people. It would make them--horrors!--like Microsoft, and we don't want that, do we? Imagine, making a template framework that could be used by an HTML designer directly, without developer intervention for every little page tweak! Why, it would allow developers to concentrate on working on CODE rather than on fixing presentation layer issues that arise because putting JSPs in the hands of page designers is a recipe for disaster! But we wouldn't want THAT, would we? Think of what it would do to "job security" (through "job obscurity?")

      I haven't played with Tapestry yet, but it sounds like a good idea, judging from what you've said. You shouldn't dismiss JSP yet, though. Never mind the bloated JSF--the JSTL standard tag library gives you the kind of power you really want in a JSP framework. And it plays well with Struts already. Foreach iteration and conditional constructs plus XML processing and SQL queries.

      Why is it scoffed at? I guess it's not complex enough! Plus, it resembles the dreaded COLD FUSION, a template framework known for... making simple things simple. The horror! How dreadful! We can't have SIMPLE frameworks, we "need" baroquely ornate code that not even the original developers can document properly, flexible enough to do everything but incapable in the end of doing anything. :-(
    • Have these people heard about this "new" thing called "Struts"???
      2003-11-03 20:38:05  anonymous2 [View]

      I think you need to spend little more time to understand what exactly is JSF doing and how powerful it will be in case of huge project say containing 2000 files in presentation layer.
      • Have these people heard about this "new" thing called "Struts"???
        2003-11-03 21:02:05  sviergn [View]

        I'm very much aware of what JSF can do. I understand that its notion of renderkits theoretically allows for a single target "view" that can be rendered in multiple formats. I say again: it doesn't need to be as complex as it is. Frankly (and don't take this personally) I am tired of API and framework advocates who tell us "just take a little more time to understand our complex framework, because once you've gotten your doctorate in using it over a period of several years (at which point it will have been replaced by the next generation) you will agree it's really powerful and wonderful!" Phooey! A framework should facilitate the implementation of simple tasks in a simple way, and only if you WANT to dig deeper, you should be able to THEN learn the guts of the framework to do more sophisticated things. Unfortunately, the people who are building these APIs and frameworks honestly don't seem interested in making simple things simple, and this is not only alienating us developers who want tools that make our lives EASIER (not harder), it is also thwarting acceptance of genuinely advanced ways of doing things.
    • Have these people heard about this "new" thing called "Struts"???
      2003-12-20 21:42:40  anonymous2 [View]

      I agree with most readers here. I dont see how JSF will simplify the view ?? I still like Struts, and I think Craig M. should spend more time perfecting Struts :)