Flex, Spring and BlazeDS: the full stack! (Part 4) [updated]

[UPDATE] This article series has been reedited on the Adobe Developer Connection. For more information, see this post.

In the previous articles in this series, we did the boring stuff of setting up Spring, Hibernate and MySQL on a sample todo list server on one side, and we wrote a small useless Flex UI on the other side. In this article, we’re going to write the final UI and connect it with the Spring backend using BlazeDS. Let’s go!
(more…)

Flex, Spring and BlazeDS: the full stack! (Part 3)

[UPDATE 2] If you are still having version issues with the sample application featured in this article, you can get a fully upgraded version here

[UPDATE] This article series has been reedited on the Adobe Developer Connection. For more information, see this post.

In the previous article in this series, I described the creation and configuration of a classic standalone Flex module built with flex-compiler-mojo. In this article I’m going to describe the creation of our back-end module, made up with Spring, Hibernate and MySQL. I’ll keep the most interesting part for the fourth and last episode, that is how to connect the frontend with the backend using BlazeDS.
(more…)

WaaP? SaaS!

What a cryptic title isn’t it? How about web as a platform and software as a service? Are you still wondering what it means. Well I just have a couple of good examples for you.

Did you imagine that a creative task like image editing would one day possible inside your browser?

What Does it Take to be a good RIA Platform?

Yesterday, I had a very interesting blog debate with a guy named Martin Beeby. He was arguing that Silverlight would eventually crush Flex because Adobe is building its community on Flash developers, who are in fact designers. Of course I couldn’t help demonstrating to him that he was wrong, because Adobe is obviously not trying to transform Flash designers into Flex developers, and is actually trying to add developers to its already existing designer community. But ultimately he made an interesting statement: according to him, RIA’s require both developers and designers, and both Microsoft and Adobe are trying to convince the ones they don’t already have in their community.

I had never thought of it that way. As a matter of fact, if you have a look at most Flex apps available out there, rare are those who use the default theme provided by the Flex SDK. In fact, Flex apps are so easy to customize using themes and stylesheets, that it’s perfectly understandable. Adobe is even pushing us in that direction with tools like Thermo or Flash Component Kit.

Adobe Thermo

But do we really need that level of customization? In fact, in enterprise applications, this themeing mania can even do more harm than good, unless you use a standard WindowsXP-like theme, because they don’t want fancy stuff, they just want transparent software.

He used another argument in favor of Silverlight, the fact that it’s generating more buzz lately. With showcase applications like Beijing Olympic games website, or the new AOL Mail interface, Silverlight is definitely trying to draw the attention on itself. Is it working? Hard to say.

But all of this debate made me think about what makes a good RIA platform. Here is my list:

  • the runtime has to be as widespread and portable as possible: on that point Flex is clearly ahead with its 95%-ish penetration rate, but the Flash runtime still suffers from a bad reputation in IT departments. On the other hand, Silverlight is still far behind but it has a tremendous advantage: Windows Update.
  • behind the fancy stuff, the code has to be simple, clean and state-of-the-art: that’s one of the main reasons why I love Flex, the ActionScript/MXML combination is just perfect, and it doesn’t even require any framework. I don’t know anything about Silverlight code, so I will probably have a look at some tutorials before commenting on that.
  • it has to be supported by a wide variety of development tools: Flex Builder is great but it’s still quite expensive, especially when you’re not using Eclipse at all and it forces you to run two development environments side-by-side. Fortunately, IntelliJ Idea has added support for Flex 3 and it’s becoming great. The last thing it misses is a visual designer. But given their experience with their Swing designer, I’m certain they are working on something (I hope so!). And all of that is possible thanks to the openness of the platform. On the other side, Silverlight is supported mainly by Visual Studio, and I haven’t heard of any openness effort that would allow other .Net development tools to support it.
  • RIA is all about the presentation layer, so it has to be connected to some backend to be useful, and the more backends it supports the better: Flex is really ahead on that one, since it can be plugged on Coldfusion, J2EE, .Net, PHP, Python, Ruby and virtually any platform via its webservice connectivity. But what makes it really powerful now is the extension of Java support thanks to BlazeDS. And apparently, Silverlight doesn’t have an equivalent communication protocol.
  • it has to be deployable on any platform: Flex just produces plain SWF Flash applications, so it doesn’t require any server-side technology. A plain Apache httpd server is enough. I don’t know what are the requirements of Silverlight on that matter.

Now what do YOU think? Do you see anything to be added to the above list? What are your criteria? Have you already had to make a choice and justify it?

The Flex Office Suite is (almost) Complete

Today, I’ve discovered yet another great Flex app that completes my online Flex Office basic suite. It’s called BList and once again, the ease of use of Flex has made ot possible for its creators to be really creative about the way to create spreadsheets. And what I really love is that you are not lost with their new way, since you’re litterally taken by the hand and everything is explained.

So now we have:

What else do we need for it to be really complete:

  • A mail application, like GMail or LaszloMail (that is now GoWebtop) but with a more creative approach of course
  • A good calendar app, something with simple tools to synchronize meetings ala Doodle for example, possibly synchronized with the mail system for invitation
  • And obviously there is a lot of creativity needed in the personal database area

Now imagine if Adobe bought all of the existing startups mentioned above (they have already bought Buzzword) and created the missing tools to build up a great Flex online Office suite, possibly with AIR spin-offs for each application…

What do you think? Do you know of any other Flex app out there that could be integrated in this online Office suite? Would you be interested in such an integrated toolset? Would you or your company be ready to pay a subscription for it?

[edit]
Mike Potter just pointed me to another incredible example of creativity allowed by simple technology. It’s a personal organization tool with a calendar, todo-lists and notepads like I’ve never seen before. I’ve added it to the list above. It misses some meeting synchronization features but it’s really excellent.
[/edit]