« Mix '06 vs Max '05 | ^ Main | .Net vs CF »


WPF vs Flash/Flex

I can end the argument right here. WPF and Flash are completely different products. WPF and Flex are completely different products. Although these are true some people don’t understand or believe it so I’ll give my opinions but mainly facts.

(read on at your own risk…I get long winded) :-)

First let’s list some facts about WPF.
# WPF is really geared towards desktop apps.
# WPF/E is for web and mobile but it is only a subset of WPF. What does that mean? I’m glad you asked. WPF is a full featured (very rich) application development tool. Although this is true WPF/E doesn’t possess everything WPF does. Take for instance the hardware acceleration in WPF. WPF/E will not include that since it will (mostly) be used in the browser.
# WPF/E will not include all of the sweet 3D features WPF includes.
# WPF can natively implement C# code for data retrieval and greater functionality.

Let’s list some facts about Flash/Flex.
# Flash is mainly aimed at the browser. It can be used for desktop but not natively. Yes, I know you can output an exe from the Flash IDE. That is not aimed at the desktop. You are horribly limited in interacting with the desktop so you can’t natively build a desktop app with desktop functionality.
# Flex, in my opinion, is Flash wrapped into a “framework” and a very powerful one at that. Flex uses MXML which you can use Actionscript 2 (for Flex 1+) and Actionscript 3 (for Flex 2) natively to provide greater functionality.
# Flash Player is the most widely distributed software in history. Even more than the browser I’m typing this post in, the OS the browser is running on, and the server software serving this page to you. By the way, all of them are Microsoft (except the browser).

Ok. So let me answer the question everyone is arguing about. WPF IS NOT A FLASH KILLER. Penetration alone will be the sole proof to this pudding. Obviously all computers, next year, will have Vista which will have WPF natively installed. Windows XP SP 2 users will be able to install WPF as well. Pre-XP users are SOL (sort-of outta luck). :-) That already proves the penetration simply will not be there for years to come.

Second point, Vista isn’t launching until next year. Flash Player 8.5 will have been out for probably 6+ months by then. This means the #1 software will have 6 months of advance penetration (really just upgrades) over the upcoming competition. Windows Vista will definitely take over all Windows based PC’s and PC’s (laptops included here) are selling like hotcakes. The problem is Vista requires certain hardware that isn’t common to most current computers. So, there goes meeting the needs of Pre-XP users even further by eliminating older computers incapable of upgrading (by money or just the system in general) from utilizing WPF.

WPF/E will be a plugin of some sort. They are shooting to keep it less than 2 MB’s download, which is a good thing. Flash Player is targeted at less than 1 MB. From what I saw in WPF/E…they should be able to keep it less than 500K. WPF/E just simply misses the mark, in my opinion. I like how you can write code in the HTML to create a control but at the same time that is kind of a pain, in some cases. This leads you to building .il files which are compiled files as well as creating .cab files. So Microsoft is thinking here by not forcing users to compile the code but by allowing users to do things with XML-Script/Javascript as well. They think this will help search engines since the code is text in the browser html. Compiling the code runs into the same problem .swf’s do.

I TRULY wish Adobe would take Flash/Flex, as I said before, more to the desktop. I posed on the UG Manager list Adobe should by Multidmedia which would give them Zinc. Zinc is great but could be even better. Adobe is working on Apollo but I would be terribly disappointed if Apollo didn’t blow Zinc out of the water. Why? Because WPF blows Flash+Zinc apps out of the water. The workflow for creating WPF apps is GREAT where-as Zinc apps are a lil’ more tedious. WPF makes GREAT use of hardware acceleration, etc. Remember, .Net can already build pretty nice apps. You throw some sweetness on top of that you will get a great deal of functionality Flash or Flex can’t touch right now, on the desktop.

XAML is way too in-depth right now. To create a simple button with a gradient it is about 50 lines of code. That is wayyyy too much just to create 1 button or graphic. In Flex you can do it in a couple lines or plop into some AS and knock it out in about 5 or 10. It was pretty shocking to see how granular the code is in terms of simple functionality. Flex 2 is much more refined which could seem to be due to the fact they’ve been through 1 version, 1 revision, and a couple beta’s for a second version.

Last but not least, the rep from Fluid (I believe his name was Darren) talked about the Northface WPF app Fluid built. He gave a great overview of WPF in relation to Flash. The Northface app was built in WPF simply because WPF has greater 3D support than Flash currently supports (his words, in a way). Someone asked why not use Flash and that was his 2nd response. His first was “we saw a cool technology and found a reason to use it.” Phillip Kerman asked why not use Flash for some of the animations since they known Flash, well. His response was WPF doesn’t allow transparent swf’s at this time so they used WPF animations (which was quite difficult for him to grasp). Afterwards I thanked him for his comparisons between the two and got his opinion on the “Flash Killer” question. He shooked his head almost in distaste/disbelief and gave the same response I’ve been giving people. THEY AREN’T THE SAME THING.

Posted by John C. Bland II on March 26, 2006 11:08 PM |

TrackBack

TrackBack URL for this entry:
http://mt.katapultmedia.com/mt-tb.cgi/83

Post a comment