Building RIA using web standards? You bet.

Since we - Adobe - officially announced the decision to move the flex SDK and related tools to the Apache foundation to focus on web standards, I have seen many reactions from the flex developer community, including frustration, anger, but mostly skepticism.
As a long time freelance flex consultant, I can understand those reactions. The very reason why I became a flash / developer is because I was sick of web standards limitations. But now, I'd also like to tell you this: I think now is a good time to re-evaluate this whole situation and see what technology best fits your needs.
I joined Adobe about a year and a half ago, and since then, I spent most of my R&D time on this very question: are web standards a viable alternative for real life, enterprise scale web applications, whether inside or outside the browser? Of course, the answer very much depends on many important factors, including what is your target audience, and what you mean by web app / RIA and by "enterprise scale".
But if I dared answering this highly sensitive question now, I'd say that for the most part, web standards are ready for the job. I'd go as far as to say that the vast majority of flex applications I've seen so far would be done just fine with today's web standards. Some would not be doable at all, others would actually benefit from the technology change. Most would take more time (hence more money) to build, because the ecosystem is still rather immature.
But the important thing to keep in mind for now is that, as a web application developer, you simply can't dismiss web standards anymore. Javascript is fast, and despite its lack of strong typing, there are really elegant patterns out there. There are also very decent ways to get around the limitations of the DOM and CSS to create a good application layout. Heck, even the often mentioned non readiness of newest standards (HTML5) is not such an issue, especially on mobile.
In the near future, I hope to have the time to share some of my findings and opinions more in depth. In the meantime, please keep in mind that I'm not telling anyone to quit using flex right now. My goal here is just emphasize the fact that you should at least seriously consider web standards for your next projects.
And now some little ponies.


Anonymous (not verified) on December 07th 2011
Can you give more info/elaborate on your reasearch based on which you came to the conclusion "I'd say that for the most part, web standards are ready for the job. I'd go as far as to say that the vast majority of flex applications I've seen so far would be done just fine with today's web standards. Some would not be doable at all, others would actually benefit from the technology change. Most would take more time (hence more money) to build, because the ecosystem is still rather immature. "
I've not done any specific research, but from whatever little knowledge I have had on javascript(+ diff framework) projects I think majority of flex applications fall in the last category(more time and more money) if not the second category.
I would like to know how you concluded(or going to) that they all are very much possible now to do in webstandards.
david_deraedt on December 07th 2011
This is precisely what I'm going to try to show in my upcoming posts. :)
Nicolas Bousquet (not verified) on December 07th 2011
"Javascript is fast, and despite its lack of strong typing, there are really elegant patterns out there. " How, honnestly, can a pattern be elegant without strong typing? Somehow, I'm glad flex and flash move slowly out of the web (but still do hate your employer for such lame PR). Why? because finally Flash ain't just the thing we use to play youtube video (for some) or the thing that crashes all the time and Steve Jobs said it was evil, so of course I have to agree (for most). Flash is becoming something everybody use everyday in many applications and apps without even knowing they're using it. Fine to me. Users and clients sure don't need to know what I'm using to do the job. Fact is, I've been moving slowly out of the web myself for a few months, to gather skill and strength in video game development. And I can affirm that I will never ever come back to web development without a strong typed, design pattern compliant language to do so. I want packages. I want abstraction. I want interfaces, and namespaces. I want javaDoc. I want a compiled binary. JS can be fast and effective, it still looks like a baby language to teach kids how to do code. (I used php for my classes, but JS would have done the trick nicely as well). So kuddos to web standard, fast, secure, compliant and open sourced. As far as I know, we're not quite there yet - and IMHO, we'll never be. *ooooo ponies !!!* Thanks for clarifying this mess anyway David :)
david_deraedt on December 07th 2011
And thank you for this very passionate comment ! :)
Daniel Freeman (not verified) on December 08th 2011
I'm looking forward to your future blog posts.
I've earnt a good income from freelance Flex work - but I don't like Flex, and I don't mourn its demise. The concept of Flex was ok - just a pity that Flex was so badly implemented and so bloated. It under-acheived so dismally compared to good pure-actionscript development and libraries. If JavaScript was clockwork, it would still look good next to Flex.
I think it IS time for a fresh approach. I hope that Google get their way with Dart, despite Microsoft's opposition to it.
But is Adobe up-to-the-job of building the development ecosystem? Can they compete when they don't control the plug-in intellectual property? For example, the AXDT guys had to strip all the AIR stuff out, for fear of Adobe's lawyers pouncing on them. Without the walled garden -what's to stop a competitor building a better content authoring tool?
I don't care too much what happens in the browser or desktop - but I DO CARE about AIR on Mobile.
It scares me that FB4.6 was touted as being able to export to consumer app stores. Bloated mobile Flex was tolerable in its enterprise niche. But Flex consumer apps will turn public perception away from AIR on mobile and lose the entire AIR mobile war. The harder Adobe's marketing people try to push Flex as a consumer app solution - the more they risk losing the whole mobile war.
As long as Adobe don't screw up Falcon, I'd expect compiled AIR ActionScript to outperform interpreted JavaScript in a webview. So I still see value in the Flash Platform for years to come. AIR apps on mobile devices. Hopefully coming to more platforms too. WP7, etc.
As long as Adobe don't screw it up.
Yohan (not verified) on December 14th 2011
Hello David,
How can you say that we can do RIA with web standards ? RIA are used for enterprise applications. You really think that HTML5 works on IE6, IE7 or IE8 which are the major web browsers deployed in enterprise ? HTML5 is probably best for new mobile devices that support this new standard, but not for older browsers witch are still mainly used...
Then, I don't talk about Tools that missing to build professional applications. Actually, with HTML5 It's like try to build a Stradivarius with a Swiss Army Knife !! But I'm sure Adobe will address this lack ;-)
Best
david_deraedt on December 16th 2011
Hi Yohan,
You're absolutely right about the fact that mobile devices are far more advanced in terms of adoption of the latest web standards. However, on the desktop, we have more and more workarounds that are, in my opinion acceptable.
More importantly, HTML5 should not be taken as whole monolithic technology. That's one of the reason I almost did not mention "HTML5" in my article, but rather web standards in general. I think most of the solutions and techniques I will talk about in my upcoming articles will not be related to the latest standards, but rather best practices.
So stay tuned ;)