From Ryan Stewart, "CNet on Adobe as a Microsoft Killer"...
The key word there is application. We're building a platform with Flex that is meant to compete head on with robust client side applications. You can do so much in the browser now and Flex lets to build applications that are feature-wise generally the same as any other app. The kicker is AIR. We understand the benefits of the desktop and if that's what you need to leverage, we want you to be able to do so. But we're coming at it from a web background, from the browser world. I think that allows us to strike a unique balance between browser and desktop that no one else can do as well.
(emphasis his).
Read one of the blog posts from CNet here that inspired Ryan's post.
Adobe has something very interesting on their hands. Flash, although steeped in a long history of performance problems and an animation background was completely rewritten for Flash 9, which powers the latest Flex platform. ActionScript, once a mockery of developers (and designers) everywhere, is now a robust, object-oriented, developer friendly, and JITed language. I've experimented a little lately with it, and it feels enough like C/C++/Java/C# that I'm easily at home. The latest beta of Flex Builder 3 is quite solid and provides for a very decent editing and debugging experience. It may not be up to the latest of Visual Studio 2008 in some respects, but it's not far away (and they're making rapid improvements in what seem to be a much faster time table than Microsoft).
MXML, the markup language for the UI of Flex, is a sibling (or first cousin) to WPF's XAML representation. I found myself quickly learning it and looking for the similarities (and finding many) between MXML and WPF in features and behaviors (and there are many).
Why might I consider Flex over WPF? Deployment, hardware requirements, platform availability, runtime adoption (Flash), developer experience, and platform maturity. Sure, I know that Silverlight 1.1 will have many of the same features of Flex, yet, if you look at the feature lists, many things will be left on the cutting room floor of Microsoft, for a 'future' version.
Flex also can be ported to the AIR platform -- which really has no equivalent in Silverlight. WPF is similar, but it's tied to a Windows Operating system, and installation on a PC with plenty of horsepower. (AIR being a technology that allows a Flash/Flex application to run stand alone, outside of the browser).
I think there's a bright future for Flex right now. The browser delivered application (with zero install), is the next big thing. Web 2.0 is all about using HTML/DHTML and more Javascript than you'd ever thought possible to make some applications web friendly (enough Javascript to give you heartburn!). The web is ready for something new. Macromedia is said to have introduced the world to "Rich Internet Applications" (RIA) in 2002. I'd suggest though that we're just about there Adobe (and Microsoft).
RIA is no longer in beta, it's RIA 1.0.
RIA 1.0: It's cross platform; cross browser; ditching the woes of HTML and CSS incompatibilities; crushing the browser; extending our experiences; and empowering users with the full gamut of useful applications without the boundaries of HTML/DHTML/AJAX.
Welcome to the future. It will be arriving any day now. :) I'm looking forward to it. How about you?