OT: Choosing an RIA platform: Microsoft's XAML (WPF) or Adobe's MXML(Flex 2)

J

JDeats

A little about my background: So I've been involved in web development
for about eight years now, since the early todays when ASP 1.0 was hot
technology and middle tier development meant compiling code in VB6
COM .dlls. watched Microsoft really treat their loyal web developers
very well over the years the evolution of ASP.NET has been fantastic.
I know for some of you think information will be old hat already, but
it's shocking how many people are still using plan ole- WebForms as a
catch all technology for any web development.

Now for my short exposé

THE EVOLUTION FORWARD TO RICH INTERNET APPLICATIONS

As we move forward it seems Internet based applications are destine to
split. Presentation-driven web sites that exist for the purpose of
advertising a product or service will eventually become unthinkable to
be built using the same tools one would to create an on-line
application (think: gmail, bootcamp and other "Web 2.0" applications
today). Productivity enhancers always drive development tool
technology forward and it's just not conducive to try and force one
set of tools to do it all. The success of Adobe Flash over the years
shows us this has already proven to be true. Yet we have programmers
and designers out there using ASP.NET WebForms to build everything
from article driven/blogging sites, Hollywood blockbuster movie promo
sites and Intranet/Extranet corporate applications.

But one shoe does not fit all and with better we could boost
productivity.

It seems what's most popular today is to rely on heavy client-side
scripting to create stateful applications (AJAX) and technologies such
as RoR (Ruby on Rails) push this concept forward as the future of web
UI. Microsoft of course offers excellent AJAX tools as well. But AJAX
isn't the answer long term, in fact I see it as a very short term
solution. The problem with any AJAX implementation is that the stack
of technology is still there under the hood and the stack of
technology is clutter. It's taking up system resources and ultimately
giving us more complexity than we need. With a good AJAX code library
these applications may seem easy to built, but expanding upon these
libraries becomes a daunting, somewhat expensive task. The most
important thing is we have this stack of what in context, becomes
legacy technology that we're having to appease to make AJAX
applications possible.

NEXT GENERATION TECHNOLOGY TODAY

So where do we go beyond AJAX? Many companies have been working on
this problem a long time. In 2005 I got very excited about a new
markup language Microsoft had made available to private beta. This was
before the Windows Presentation Foundation branding, back then it was
simply called XAML and it was an awesome concept. Instead of building
on HTML, give us a successor (or counterpart depending on your
perspective) that caters to desktop application UI and then give us
the same power visual design tools we have for WebForms.

XAML was an awesome idea, but it didn't make its way out of beta until
Microsoft Expression Designer was launched in April 2007 and it didn't
make it's way until the hands of Visual Studio developers until
November of 2007. It's very hard for me to understand how Microsoft
could sit of a technology this important for so long. The answer I
believe is that Microsoft feels confident in loyal developer base.
They know corporations will be slow to transition away from them and
so they feel it more important perhaps to get it right before release
instead of putting it out there early. That all makes sense, but it
doesn't account for competitors stepping in and building a better
product to do the exact same thing.

So while XAML was "cooking" in Microsoft's labs to give Microsoft
developers a more robust design tool; Macrovision (Adobe) realized
Flash designers were trying to build desktop like applications and
needed a more robust set of tools for this purpose. So Adobe hired/
stole a very important player from Microsoft, Mike Anders. If you
don't know who Mike Anders is; Mike Anders is considered one of the
fathers of ASP.NET. This guy was one of the big creative wheels at
Microsoft leading them to build better tools for developers. Mike went
to work for Adobe and he became the lead architect on what became
Adobe's competitor to XAML, Flex 2.0

So since I stay so busy writing code I took a long break from
SmartClient/RIA tools. I was waiting for them to grow a bit before
jumping on the bandwagon, but in January of 2008 I began to research
my options. I took a close look at VS.NET 2008 and it's new XAML form
designer, I looked at Mozilla's XUL and lastly I looked at Adobe's
Flex 2.0. Having tried to program ActionScript 2.0 using Flash 8 many
moons ago I figured Flex would be my least favorite option, but what I
found really blew me away.

I'm not sure if it had anything to do with Mike Anders involvement or
not (I suspect it had everything to do with his involvement) but what
I found in Flex 2 is the most robust, well designed, scalable and
adaptable RIA framework today. In it's structure and syntax it caters
to C# and Java2 developers and it integrates seamlessly with .NET and
Java 2 back end technology. I haven't been this excited about a new
technology since I wrote my first ASP.NET application years ago, but
Flex really has that much potential. I was worried about having to use
Flash designer to create Flex apps and Adobe handled that as well (all
Flex development can be done by hand in notepad with their free SDK
for professional development a reasonably priced Eclipse IDE plug-in
provides a visual forms development environment with intellisense on
both the XML code and ActionScript 3 syntax) all of this reasonably
priced and very easy to work with for C# programmers.

With Linux and Mac OS gaining market share every year I think Flex 2
is a great choice. I didn't create this thread to create a flame war
or to try to push those already happy with XAML away from it. What I
am hopping for is that those of you looking to move to XAML consider
also looking into Flex 2, you'll find a very robust technology that
shares nothing with Flash other than a run-time and scripting language
and you'll find Adobe has really ramped up developer support for this
technology.

http://www.adobe.com/devnet/flex/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top