Flex on Java from a Domino point of view

I have just been to the Skills Matter 1-day conference for Flex on Java.

The venue was very industrial (deliberately so, as I saw them decorating it months ago), can’t fault the facilities, fresh coffee, brownies, desks in front of the presentation screen with power and wifi, all you could wish for. Conference attendees were a mixed lot, from students to grey-beards even older than me.
It was a very very full day, packed to the gunwales with high powered tech stuff from quite serious names in the areas of Flex and Java. You had to concentrate to keep up (if you were a beginner in either Flex, Spring or Java then it would have been a bit of overkill, but personally it was great to not be falling asleep with boredom at a training session),

I think a list with a justification paragraph for each statement is the way to go, as my main readership is still overwhelmingly Domino-based, this report is slanted for that audience:

1) SpringRoo and in particular its plug-in for Flex, is something to watch, powerful and looks VERY easy for a Domino person to pick up and use.
One of the things that lots of other platforms don’t do that domino does is easy data field insertion. When using Domino you just bung a field on a form and that’s that. I have missed it a lot with the Java and Flex stuff I mainly do now, SpringRoo gives you this back for Java and Flex projects, so I recommend you go on to Spring Source and download it as well as follow @SpringRoo and @jeremyg484 as the code is not gold yet.

2) As far as a back end to Flex goes, Grails has little to offer over Domino at first sight (I’m open to someone proving me wrong).
Now I’m not disrespecting Grails which is rather good and new web 2.0, but if you’ve already got domino, then I don’t think you need to get excited. If you have not then it is a definite contender from an app dev point of view. In the 60 mins that it was described to me I did not see anything to make me want to drop Domino (except maybe for the price).

3) Spring for Action Script and Parsley is one abstraction layer/IOC too far, I think I’ll give it a skip (opinion updated see below).
There were 2 presentations on this subject, one on Spring for action script, one on Parley; all the way through the presentations nothing grabbed me as “Oooo that would save time” (although its handling of asynchronous calls to the server was quite nice). The Flex file is seldom as complex as the back end Java app for the apps I’m working on, perhaps my front ends are too simple, but the overhead for these layers did not seem to justify the time savings. I should point that I’m not an expert in this area, so I might have merely missed the point (after talking to other people it has appeared that I HAVE missed something, but I still don’t know what 🙁 So I might revise my opinion. In the meantime I’m going to look up Parsley from Spice Factory and learn formally what IOC is {rather than merely using it when convenient})

4) Light touch auto-code generation is quite rightly in vogue.
A lot of the stuff we were shown contained auto-generated code, but it is very light touch code, in that it will work stuff out for you if you leave it to, but the second you touch a section (for example put getters and setters in for a specific field, then it defers to your code without taking ALL of its toys home in a sulk or just ignoring your changes (IBM rad and Domino are both very guilty on this as are the Microsoft boys). It was a welcome change and made you more inclined to try the tools to start with as you can override them without a load of hard work.

5) Spring Security seems to be the best security for java.
Not only is it very mature and well supported and integrates well with other systems, but looks very very familiar to those of you who are used to Domino (particularly the roles), and takes hardly any learning (feel a blog entry coming on).

6) To stop your Flex apps just ending up like round-cornered classic notes apps, we have to change how we look at applications and look at them in the way the RIA lot do.
This was learned from www.riagora.com @mchaize, who has done some of the most amazing apps I have seen of any sort, web or not, with little tips such as that fancy effects can have a hidden use, e.g. while people are watching a fancy screen fade, they are not actually waiting for your data to transfer, so your apps feel quicker. The crux of the lesson was that you should build your app from a users’ needs point of view rather than as the developer sees it from a system point of view. I know this seems obvious, but I suspect most of us make that mistake (personally I wonder if this change of view point is why people like Bruce can design notes apps that make my apps look like trash).

Things for you (and me) to go off and learn:

  • Spring – face it you just need it (and related projects, Spring Integration, SpringRoo, Spring Security
  • Blaze DS is worth looking at if only to see if the performance boost of AMF (Action Message Format) which is used for type mapping between Java and Flex is as efficient (compared to to things like json) as it’s made out to be, credit must go to Mark Barton who recomended this to me months ago

    Other stuff:

  • A lot of the funky stuff runs in background command line terminals, don’t expect GUI (all those notes server console hours will pay dividends).
  • A lot of the cool tools are still using Flex 3.
  • A nice touch was that two of the “end of the day” raffle tickets were free attendance to skills exchange courses on HTML5 and Ipad/Iphone dev 🙂

    All in in all, very interesting, a good set of technologies, both a complement to and, if forced to, a replacement for Domino (hence my alternative platform stance to Domino Here), but quite frankly there was nothing I saw that we could not glue to Domino in some way making for a hideously powerful set of tools.

Leave a Reply

Your email address will not be published. Required fields are marked *