Mar 16
Dan Moore has responded to Kris Thompson’s assertion that “Struts will continue to lose industry acceptance as the MVC leader in the J2EE space”.
I definitely see a trend to avoid Struts… it is coming from a few angles:
- People getting frustrated: There are some quirks to Struts, and they get frustrating enough to make you want to try something else. It may not be the right thing to do in the short term, but it could arguably be the right thing in the long run
- People getting bored: Hey, you keep hearing about Tapestry, WebWork, JSF, etc…. and you want to play with the new cool shiny toy. Building web apps themselves aren’t the most fun in the world, so I can see why some people want to try something new
- People want TLA’s for their resume: Nah… never met any of those
- People not wanting to get left behind: A lot of the old Struts crew have moved on to other things…. and people don’t want to be left with the legacy
Now on the flip side there are many people like Dan, who don’t (or don’t think) they have the time to engage in something new, when Struts “works good enough”. There is nothing wrong with this, as you can write solid webapps in Struts just as you can in anything else… the business logic is where it matters.
What will it take for the Dan’s of the world to flip?
- Someone needs to show him that moving to The New Way ™ will save him significant time (more than just saying so on a blog like this)
- Maybe there isn’t a New Way that can even do this yet…. and we are waiting for a bigger leap in the web tier
I think it will be an interesting year for web frameworks, and look forward to see what comes of Tapestry and JSF (since they are very different).
The coupling of: MVC layer -> IoC -> Transparent persistence is a sexy one (e.g. Tapestry -> Spring -> Hibernate).
Mar 09
Hani has a fairly mild bile on “Is good code relevant?”.
It seems to have a couple of main points:
- We are creating successful projects with code that is “good enough”.
- We can create a successful projects using ANY technology (don’t have to use the latest and greatest).
This has definitely always been the case. As a consultant travelling to various dev shops in the US and London, I have found that 99% of projects are a few years behind with respect to the latest and greatest tools/techniques that we talk about on various forums.
This is fairly natural. If you build a fairly complex application using tool X, pattern Y, and library Z, and it works. Why change it? There has to be enough of a gain to refactor to make it worthwhile.
One example is the codebase for TheServerSide itself. We use EJB. We use Entity Beans. We use BMP Entity Beans. Yet it all works. It isn’t as pure as you would like of course…. we would love to get rid of the EJB layer and use a transparent persistence mechanism (and we will). But it works… and quite well in fact.
Carlos Perez also asked How many java web frameworks can you name?. He came up with a lot. Why are there so many frameworks out there in the Java community?
When people migrated to Java, we didn’t have any good frameworks. Everyone was working with a low level layer (Servlets and then JSP) so people started to abstract on top of these layers…. and frameworks were born. Again, at TSS we use our own custom MVC layer (as Struts and co didn’t exist at the time of writing). We would like to move to WebWork/Tapestry, but everything works fine, and it doesn’t give us THAT MUCH…. so it sticks around like a bad smell :)
We also probably haven’t found THE best way to do web development (if there even is one) so people keep experimenting :)
Mar 03
Wow. It is finally here. It really has been “a long road” as Sun said in their JCP ballot notes. Now it is here, is it enough. A lot of heavy hitters have gotten behind Faces (Oracle, Sun, etc) but there has been a mixed reaction in the community. Some people don’t see the need for a layer like this, some see a need but don’t think Faces is “it”, and some think that this is going to be THE way to do web development from now on.
I definitely think we have a ways to go when it comes to being productive in web development. I have seen far too many projects that spend mind blowing amounts of time on the “web layer stuff” compared to the business problems themselves.
We also have to remember that although this is a standard, it is only 1.0. It is not the holy grail. Remember EJB 1.0?
It *is* good to get some good tool support, and work on making the web tier a better place. I hope Faces spurs on the niche. Good luck, and the next few months will be interesting.
Discussion on the JSF 1.0 release
JavaServer Faces 1.0 has been released, but why does it matter?: Kito Mann’s editorial on the new release from JSFCentral.