Monday, 9 June 2008

This time last year...

Well as a recent member of 30s club I decided to compare few things with last year. This time last year I was just starting a new project and a new colleague was insisting on using wicket. We have just finished the JSF projects so everybody in the team was quite familiar with that technology. I was personally very interested in Flex which was version 2 by that time.
That time Wicket has just been moved to Apache and in incubating period.
By that time last year my impressions about JSF, Wicket and Flex were;

JSF is outdated, we must leave it behind and evolve. Ajax and Javascript sucks. I am very keen on trying any technology which will replace Javascript. Meanwhile Netbeans offering nice tools for JSF but i can't even imagine replacing Eclipse. GWT can be a nice alternative.
Wicket is nice, you code and debug in native java platform. The Java and Html code is totaly seperated but still not easy to make a designer and developer work seperately. The learning curve is not so easy eventough it is just plain java code. Although wicket has embedded Javascript features, you still need to code javascript which caused our project not to run on firefox in just the begining of the development. Since wicket is under apache now i think their future is bright.
Flex is fantastic but for a year I have been waiting them to make a leap which they couldn't. I am so afraid that developers are so afraid to leave html behind and work in the flash runtime. News about Flex 3 is everywhere. I believe learning curve is very easy and since Flex builder is just a plugin for Eclipse, it feels so comfortable to code.

JSF is still popular Developers are so experienced about JSF. Sun is making a god progress and version 2 early access is available. My toughts about JSF is changed a lot. I believe it is still a good choice since people are so experienced and JSF and its tools become so mature. New vesion of Netbeansagain offering nice features but still i can't imagine to migrate to Netbeans from Eclipse. We are all waiting for weblets. Several application servers are now JavaEE 5 compatible which indirectly makes JSF stronger. Well my new project will be on JSF, I will miss Flex a lot but corporations still prefer JSF.
Wicket is a disappoinment. One year passed and i don't see any progress, I haven't seen any big projects developed over Wicket and people are concerned about future of wicket. My ex-collagues (all are flex developers) who are joining to my old project doesn't want to lern and use wicket. After flex developers don't find wicket fun, the output is plain, javascript is still on the stage and JSF is much mature and developers are more experinced on it.
Flex is version 3 for over 4 months which was not a major release but still very fun to use. Licence prices of the builder dropped. BlazeDS which is a subset of LiveServices is now open sourced. We had completed 2 successful projects with Flex and the one which is (70% wicket, rest flex) still struggling. The team is quite experinced with Flex now and Flex at last made the leap i was expecting long ago. Version 4 news hits on blogs and the new features are amazing. Everything is really on the way on flex side.

Well when I look back I see my views changed so dramatically so I am not sure what will this year bring. Last month we had a presentation and workshop on Flex with Java backend in which everything went so smooth and we could finish a project from strach. Well next week I will be in caves of JSF again so now I am watching the news of JSF 2.0 with more caution.

As i said before by today now I am officially a member of 30s club, am i considered to be a wise and aged programmer? :)


  1. Hello,

    Thank you for sharing your opinion about BlazeDS.

    I would like to ask you why did you choose BlazeDS and not such other Frameworks like webORB?

    Also was your project using security?
    How did you manage to protect the RIA application.

    Thank you for your comments.

  2. Hi Jose,

    webORB is a nice framework with multi platform support but our serverside is java so multi platform is not a real advantage for us. Secondly blazeDS is a subset of Live Data Services which is a licenced and an expensive product which has Adobe has been getting profit from for long time. Before BlazeDS was open sourced we tried some remoting but we were not completely happy so we were using webservices. Actually i didn't benchmark but i expect blazeDS to be more stable, faster and easier to integrate with spring (but again I did not evaluate webORB) since it is commerical product and also i am expecting better compability and functionality with the future releases of Flex.

    Our ria is secured even when we were using webservices. We used interceptors for security and when we moved into remoting we also preserve the same architecture.

  3. Thank you so much for your previous answers. I understood Live Data Services better in the context of RIA.
    what is in your opinion the advantage of using Spring and BlazeDS together(Note: I don't know much Spring)?
    BlazeDS seems more appropriate for me than WebORB, as it is an Adobe product.
    Well I will develop a RIA web solution soon (Server side will be Java based). Well I have to use Jboss because this is what the production server
    has. But for the rest I am completely free, client will be written on Flex. Therefore I ask you all those questions.

    Thank you for your answers Murat.

  4. Briefly Spring is a lightweight replacement of J2EE but as JavaEE 5 also become lightweight (with the inspration from spring) honestly I don't believe spring offers much more advantage than JavaEE. Basicly both JavaEE and spring offer their own container, context, transaction management, dependency injection... So you will need one of them (actually spring also offers a web framework but since you are using flex, no need to even mention about t). Since you are using JBoss probably you would like to use JavaEE which is perfectly ok too. Actually Yunus and I had a presention on late April in Eclipsist in which we first build a spring project and a flex client and let them communicate with webservices than we replace webservices with blaze and at last we replace spring with EJB3. We could manage to finish a simple project from back end to frontend with all these tecnologies in just 1.5hr. Actually we did this to demonstrate all those technologies are very close to each other and they are all easy to implement.

    When you use blazeDS you need a listener (in this case called a bean both in spring and EJB) on server side. We managed to integrate spring with blaze easily but I don't mean EJB is harder.
    By the way if you want you can just download our presentation projects to see live examples of all those. You may find the cvs information in previous post "presentation available...". Please also feel free to contact Yunus if you have any questions to ask.
    Good luck..

  5. Thank you for your answers Murat.
    I appreciate so much your comments and your point of view about the technologies, that is very interesting.

    Have a nice day.

  6. This comment has been removed by the author.

  7. Honestly, I don't understand why your people like Flex better than Wicket. I am involved in a project that uses both, and though I'm not a Flex guru, I think I've seen enough code by now, and understand the programming model well enough by now to have an opinion about it.

    I don't think Flex is *that* elegant. It's practical, and kudos for that (I find JSF for instance to be both ugly AND impractical). Being a developer on Wicket, I know that I am biased, but I don't find Flex' programming model to be that much terse and it is certainly not easier to navigate and debug and stuff (and we're using all the right plugins).

    Everyone have their own tastes of course, so I can dig it that people don't agree with mine :-) However, developers saying they don't want to learn a technology? That's rather sad. Jebus knows how many technologies I've dug through, including plenty I didn't like; there's always something you can learn from them.

  8. As for being a wise old man... You are trying out different technologies, listen to feedback your developers are giving you, and look back to evaluate choices made in the past. That sounds exactly like what I would expect a wise person to do! Now whether I am wise enough to judge other's wisdom is another question (though I am well in my 30ties myself) ;-)

  9. I respect whatever you say but comparing something which is just html and javascript (a web 2.0 wannabe) with something much more capable and evolved. Flash VM isjust filled the gap which JVM failed with applets. Wicket was a very nice idea and i like the architecture but i am just writing what i experinced. Developers who used flex dont go back or try to learn wicket. Sometimes whether you like it or not old technologies are for old people and they usually fade away... Better to evolve and learn new tecnologies.

  10. Whether we use Flex or Wicket has nothing to do with being old-fashioned or not. We use both technologies in the same project. We use Flex where we want to support things like dragging and dropping, generally functionality that is exposed to administrator type users with recent machines etc, and we keep the rest (the major part of the application) a traditional web application (we're avoiding Ajax for that as well). Most of our regular users are schools and school districts, and they sometimes work with outdated machines, so we want to keep our requirements for running our application light.