
Well, even with the hype surrounding Silverlight and WPF nowadays, this doesn’t mean it will be edging Adobe out of the graphics and animations market anytime soon, because when it comes down go graphics and animation, Adobe is at the top, they have the best graphics design tools (Photoshop), and have the widest used animation plug-in, Flash, a solid programming model in Flex, and now, AIR which stands for the Adobe Integrated Runtime, to allow web designers and developers that are used to their tools to be able to create desktop applications with the stuff they’re used to, e.g: HTML, CSS, Javascript, Flash, and Flex.
I belive most of you know what WPF is already, but for those of you who don’t know, WPF stands for the Windows Presentation Foundation, and its the graphical platform of .NET 3.0, one of its greatest strengths is that it facilitates the collaboration between developer and designer, allowing seamless integration of coding and design. The GUI is declared using XAML (pronounced as ‘Zammel’), which is a markup language just like XML, and its used to define the whole interface, animaitons, 3D objects, its the presentation layer, which is separated from the code-behind, which could be done using C# or VB.NET
After my “brief” introduction I believe you should have now have a clearer idea on what both technologies are (that is, if you don’t know it already
).
When compared with WPF, AIR edges out in one pretty major area, which is? Its cross-platform, with the brimming growth of the Web industry, more and more Web 2.0 services are introduced, AIR is great in a sense that it allows these services to reach to a wider audience, by wrapping flash applications and make it easier for them to be distributed, deployed, and used by all operating systems as native desktop applications. One thing to note is that AIR 1.0 doesn’t suport Linux, its still under development.
One great example of the usage of AIR is Pownce’s AIR application, which includes all the features of Pownce’s web site, some may feel its irrelevant, but for lazy people like me, I like stuff being sent to me, instead of me going to them, and I do believe most of you agree on this.
WPF on the other hand, has extremely powerful graphics rendering capabilities, its easy to develop, its easy to maintain, managed code like C# & VB.NET could be used, and in many areas, its much more powerful than AIR. But when it comes to usage by the Web industry, unlike AIR, it still lacks that killer edge, which is the capability to work on all desktops.
When I said desktop, its because it has some requirements that prove to be quite an issue if the created application is meant to be used on lots of desktops, one of them is the necessity to have the .NET 3.0 Framework installed, which is already bundled with Windows Vista, and could be downloaded and installed on Windows XP. One more requirement is a good graphics card, and I mean a really good one, else you it won’t be able to render 3D animations and bitmap effects nicely. But even if you have a good graphics card, it will still take up lots of your PC processing power.
That said, WPF is still and extremely powerful platform, and IMO, its just a “stepping stone” technology for Microsoft to enable the creation of user experience centered graphically rich applications, which is an essential requirement to come up with much better products and services.
Some of the examples of the products and technologies that use WPF as a “stepping stone” would be Silverlight (codenamed WPF/E, a subset of WPF), Windows Vista’s Aero GUI, Microsoft Dynamics, Microsoft Surface (which i’ve mentioned here before), and many more, with much more to come.
One thing I don’t understand, why is Yahoo developing their new instant messenger using WPF? I know its a Yahoo IM for Vista, but using WPF means no to Mac and Linux users, which…..just ain’t that practical to me. (Thought there is definitely much much more Windows users)
In conclusion, both WPF and AIR has humongous potential, but when it comes to the desktop, AIR could reach a broader audience, thus it has the edge over WPF, but when it comes to creating extremely high end graphical stuffs, WPF is much better, and much more manageable, each has their ups and downs.
As for the web, unless Microsoft could do something revolutionary with Silverlight, Flash will rock on. But the thing is, Microsoft are focusing a lot of Silverlight lately, which means they definitely have high expectations of it, and IMO it has massive potential to do great, and much better than Flash, but only time will tell.
So What do you guys think? AIR or WPF? Flash or Silverlight? Do voice out your opinions!
Note: These are all my opinion, if I’ve mentioned anything wrongly, please correct me






I have yet to look into AIR, but hopefully, Adobe will be the ones who get “cross platform” right. Java’s “cross platform” is a joke – you still needed to adjust the code here and there for it to work on other OSes.
As for YIM with WPF, Yahoo may use WPF on Windows, and Mac’s Core Animation for the Mac.
I don’t think Adobe will “smart” enough not to implement managed code into Flash. I personally think that Flash has greater potential than Silverlight. Silverlight has great potential and drastic growth but Flash will never lose also because no matter how, Adobe has better experience than Microsoft in this field, I believe.
As for AIR and WPF, just like you said, both has it’s own competitive advantage. If WPF can implement cross-platform capability, I think WPF wins everything. But Microsoft for sure wont do such a thing because in their mind just have the word “monopoly”, indirectly forcing non-windows user to be windows user. No way .NET can be in OS’es other than windows, impossible, HAHA.
Jonathan,
The for the Yahoo IM thingy, it would be pretty inconsistent to come out with different versions, using totally different technologies to develop. Imagine one having certain COOL stuff that just couldn’t be done with the other technology. Imagine when there are patches that need to be done, it has to be rolled out for 2 different versions, for 2 different technologies. Using Mac’s core animation (which I’ve no idea on), would mean it would work for Mac, but what about Linux users? They wouldn’t want to be left out, and should be a market Yahoo should also be targeting.
Teng Foung,
With Flex, Adobe has a managed code for flash, and a powerful one indeed, and now it has AIR, which drastically increases the value of picking up with Flex, and further increases the “market value” of web developers that are attuned to Adobe’s technologies.
Microsoft has the cash, but I don’t think their focusing on topping Adobe in this area (pretty impossible), they’ve came up with WPF mainly to target developers, as now .NET developers could also be designers.
In fact, a scaled down version of .NET will be in most PCs next year, Silverlight 1.1 Alpha is currently only 4.2 MB, and Silverlight 1.0 Beta below 2MB, both of these are the windows version, the Mac versions are slightly larger though, but hey, thats SERIOUSLY COMPACT!
Both AIR and WPF are viable, no doubt. Take a look at thirteen23 for WPF, and Pounce and FineTunes for AIR. Either way its win win for developers. More technologies = more options = more opportunities.
[...] ÌÚáÊ ÃÏæÈì ÊÝÚá ÚÏÉ ÇÔíÇÁ áÊÍÓíä ÝáÇÔ ÈáííÑ æÍÊì áÇÔíÇÁ ËÇäíÉ áåÇ ÚáÇÞÉ . SilverLight 1.0 Release AIR and WPF åÐÇ ãÔ ãÚäÇå Çä ÇáÓíáÝÑ áÇíÊ ãÔ ÞÏ ÇáãäÇÝÓÉ áßä íÍÊÇÌ Çáì æÞÊ áÇÈÃÓ Èå ááÍßã Úáíå Çã Ýì ÇáæÞÊ [...]
Air looks like a nice tool for simple widget applications. WPF is a powerfull front end that allows you to leverage the enterprise development tools that Microsoft has invested thousands of man years in.
Personally i think it will be easier for Microsoft to port their tools cross platform than for adobe to turn AIR into an enterprise framework.
I am a WPF developer and I do have to admit Adobe Air beats WPF in only one area, which is the capability to run on multiple platforms.
Other than that, I have not seen an Adobe Air application that comes close to what you can do with WPF.