Back in February, I met up with James Ward and Jon Rose for a Drunk on Software interview. We enjoyed some good beer and had a great conversation about SOFEA, open source and RIA. See larger video here.
on April 06, 2009 at 10:01 PM MDT
Component development is dead? Interesting... I remember when 2 years ago it was the future. I am taking note -- I am just not crystal clear about the alternative. Sounds like I need to dig out the InfoQ article.
I enjoyed the banter around PHP. If it ain't broke, don't fix it. I used ColdFusion for years and abandoned it for more Java oriented pastures largely because I didn't feel the technology had the sophistication to handle complex problems. Then recently, I saw some nice ui done with CF and some RIAforge packages and had renewed interest. Maybe CF+REST is the next SOFEA implementation?
I am glad you mentioned the "pop" comment. Having worked on Seam+JSF recently, I was disappointed at the lack of pop. It was fairly straight forward to customize and has lots of widgets with nice features like drag and drop, and even looks nice, but it seems slow to me. Click, wait a second, then transition... Uhm... On a LAN, this pales in comparison to an old fashioned CF front end... Go figure. I am hoping that JSF2 makes some giant improvement, but am also considering experimenting with Seam+GWT (or Seam+Flex).
My latest interest is Scala... I have heard that Java is dead for years and didn't quite get it. Sure, Groovy looks very interesting, and I have used it, but I still didn't think it replaced Java -- more of a complement. And then I discovered Scala. Unfortunately, it is still young, and the tooling shows it, but I earnestly believe that Functional + OO is the next big thing, and Scala is a natural evolution for us Java programmers (much like how many of us evolved from C++). The reduction in line count, overall simplicity and power of the language -- it is hard to explain, but definitely is the one to watch for me.
Big fan of your blog. Cheers!
on April 06, 2009 at 11:34 PM MDT
It's good to see such a conversation take place. It's really refreshing since it's hard to find a few 'Geek's that are willing to sit down and talk about these idea's and not go into a Flame war.
I also 100% agree with your point about component based web applications are pointless. i.e., JSF or Wicket. I still believe that web based frameworks have a long way to go.
Matt, you look like you're a hardcore drinker. :D
Richard L. Burton III
Richard L. Burton III
on April 06, 2009 at 11:41 PM MDT
David L. Whitehurst
on April 09, 2009 at 08:48 AM MDT
David L. Whitehurst
on April 09, 2009 at 10:03 AM MDT
Hello Matt. I have just finished watching the video. What I found
interesting is that I can see that ideas I previously had, are mentioned in the
video (like the SOFEA way of developing webapps). They are
"confirmed" by other people.
I think it is clear that SOFEA is not quite appropriate for some sort
of web "pages". For example for Wikipedia or a newspaper, or a site
providing content in general. Those are, well, pages!
As a software engineer my main concern, or what occupies my mind the
most, is how to build "enterprise" applications which mimic or
provide desktop-like responsiveness and functionality. Very importantly -
these applications have to eliminate page refreshes as much as possible. I
just want to state that of course NOT every application needs to behave like
this. But rather, which is a good way to go WHEN you need to build a webapp
with these requirements?
So, for some time now, I have decided not to use component oriented
frameworks (like Tapestry, Wicket, JSF) because of the complexity they entail.
It's not that I like simple things. The matter is that they put the complexity
where it doesn't have to be.
I believe now that the best approach is to make things happen
"where they need to happen". The code that needs to run in the
browser does not have to be "pushed"/"controlled" by the
server side. No, it has to be developed specially for that platform by UI
experts (having knowledge of XHTML, CSS, Js and associated frameworks). And
the UI collaborates with the server-side (which provides services). For this,
obviously, request oriented frameworks are ideal (like SpringMVC or Struts2).
Regarding what a Java dev is now: well I quite agree that probably
there won't be a "pure" Java guy in many shops going forward. This
would make sense for people working in banks or in industries where there are a
lot of business processes but not many UIs. For people building webapps, it
will be necessary to understand XHTML, CSS, Js and other front-end
Well to wrap up, the technology stack I chose for the last webapp I
worked on was: XHTML, CSS, Yahoo UI (for page layout and widgets) and jQuery
for DOM manipulation. This combined with Struts2, Spring and mySQL. Worked
like a charm! The team composition in our case was 2 front end devs, 1
Cheers, keep up producing this kind of material, it's very
on April 17, 2009 at 01:24 PM MDT
on April 17, 2009 at 02:18 PM MDT
Hi David, thanks for your answer, it's definitely valuable!
Perhaps what can be extracted the most from previous post is: I don't know, or it's blurry right now, which is the best "frontend/backend" combination. But, what I do know for sure, is that I don't think component based (therefore server-side based) applications are the way to go for more responsive "web20/RIA" applications. That's a big call I had to make a couple of months ago, and I am happy with my decision: it was hard for me to come to that conclusion at the time (I had to read and study a lot on the approaches and frameworks available).
Regarding "what can be done" of course probably we Java guys can do a lot in other areas other than Java, but what I found is that when you have time constraints and a real project with deliveries and challenging requirements it is better to utilize experts rather than try to do all (in this case I refer to UI devs).
I understand this matter is not "simple" to analyze but at least exchanging ideas is helpful!
on April 17, 2009 at 02:35 PM MDT