I am a passionate RIA developer, especially if it comes up to using Adobe’s Flex SDK. It’s so easy to use and one can built great web applications in no time.
The best thing I always liked (and still do) is that everything comes “from one hand”. Which means, that the whole API is made by Adobe and most common use-cases are already build-in.
Ever tried to create a div box with rounded corners and shadows just with html and css? Good luck. Using the Flash Builder, it’s just two clicks and you’re done. In my opinion, this makes Flex a development environment which is very consistent and easy to handle, unlike pure JavaScript-solutions that often rely on multiple 3rd-party frameworks.
Since I started coding RIA applications, I was always wondering what would the future look like? Would Flash-based apps conquer the web or will JavaScript (with a little help from Google) be the next step for the evolution of the www?
To be honest, I haven’t really found an answer yet.
As good as Flex can be used to efficiently write rich internet applications, so bad is its reputation on “real” programmers like C/C++, Java developers and even Webengineers that completely focus on pure JavaScript solutions not only cause of Flash’s serious security issues. Adobe seems to have both hands busy with fixing security holes while only a minority of the internet users runs the updaters frequently enough to be safe from a wide range of potential attacks on the flash plugin.
However, the one big advantage of Flash, which would be fast and easy video playback, seems to be melting down since W3C’s announcement that html5 will support real movie embedding and playback. I can already foresee how Youtube will be completely flash-free one day.
So, what if it is not necessary anymore to use Flash to embed a little video snipped on your favourite website? What is the reason for web developers to decide for the Flex framework instead of trying a pure JavaScript solution?
Yesterday, something funny came to my mind. I was thinking about Java and how great it failed to reach the desktop while becoming the standard technology if it comes up to web backends.
I find it funny, if you compare Java and Flash. Both rely on an own virtual machine that makes applications written for these framworks always look and behave the same, no matter which operating system you use.
You could also compare Javascript with C/C++ pretty much the same way. If you want to code applications in C, you have to keep many platform-specific things in mind. It’s pretty much the same with JavaScript. If you finished developing your brand new killer website, noone’s gonna say that it will work well in the Internet Explorer 6, only cause you tested it in Firefox 3.5. Even other “w3c-compatible” browsers like Safari, Opera or Chrome might give you a headache as a webengineer. To avoid these problems, most people rely on frameworks like Dojo, GWT and/or jQuery but I’d lie if I said that these would guarantee a clean and fluent development of web applications without any problems. On top of this, one needs to learn how to handle these frameworks, which is very often a pain in the a**.
Since the release of the sourcecode of Google’s Chrome OS, I can finally see how web applications could start conquering over classic desktop applications and I’m really exited about it.
Just imagine, you’d had to write an app for Chrome OS, like let’s say an online graphic editor like Photoshop, but on the web. Why’d you choose Ajax over Flash? Remember that using the Flex framework will speed up the development process a lot since so many components already work out of the box like menu-bars, for instance.
I hope Flash will do better here than Java did in the desktop world and become the cross-platform development enviroment for Chrome OS but without the drawbacks of Java like a slow loading time and low application performance.