For the last few months I have been actively designing and developing in both WPF and Flash. Flash has long been my favorite platform for creating interaction and animations for the web and it still is today. All of the initial hype from Microsoft and Adobe about WPF being a potential “Flash killer” and that the two companies were heading for all out war has proven to be just that, hype. While these two behemoths are undoubtedly going head-to-head in a lot of areas, Flash needn’t worry about being toppled by WPF. When WPF/E surfaces, we’ll have to revisit this topic again, as Microsoft is keeping pretty quiet about it as of late.
The bottom line is that Flash and WPF are both amazing tools for creating interactive and animated experiences. But their end products are completely different is most cases. While WPF does have the XBAP format which allows you to publish a subset of WPF that can read by IE, WPF is primarily geared for creating full-blown Windows applications. Based on my experiences with the technology thus far, it is an amazingly easy platform for Flash developers and designers to gravitate to. The C#/XAML combination found in WPF is also very similar to the Javascript/HTML workflow that so many web developers are accustomed to. WPF was architected to encourage the separation of visual design and data, which is so important to creating maintainable code.
The reasons why Flash will likely never be toppled are numerous. Video is probably the biggest area in which Flash dominates above all others. It’s unlikely that any technology could ever come along that would make integrating high quality video and animations as easy as Flash does. There’s also the Flash community itself which makes the success of any potential competitors an unlikely scenario. Besides myself and perhaps a few others, the Flash community has essentially turned its back to this exciting new technology. The reasons that are usually given for this attitude, even from within Adobe itself, are often somewhat petty. Here’s a news flash for everyone: Microsoft isn’t evil and Adobe isn’t your caring, compassionate friend. They are both businesses and they both want all of our money. So it makes more sense to judge technologies based on their merits rather than if they were developed in Redmond or San Jose.
So if Flash rules the web, then why would Flash developers and designers need to bother about WPF. The answer to this is simple. Most major design studios are already receiving a ton of requests for WPF projects and the need for people who are “bilingual” is in huge demand. At frog we have already finished a handful of WPF projects and are slated for many more. So if you like to be marketable, then being a well-rounded interactive designer is very important. Another huge reason to learn WPF is that it is damn cool! Flash developers now have the ability to create full-blown Windows applications that can incorporate advanced animations and 3D. So take my word for it, it’s not only marketable, it’s fun as well.
Ok so now you’ve taken my advice and learned WPF, which when coupled with your Flash skills, makes you a formidable force when it comes to creating interactive content for both the web and the desktop. But wait a minute. What about Flex and Apollo? Just when you thought you had this industry in the palm of your hand, these other two technologies come knocking at your door. Well my advice again is to learn them both. Flex is a technology that is so similar in structure to WPF that you can almost port code directly back and forth. Flex uses MXML as the markup language the same way that XAML does in WPF. Instead of C# for the code-behind, Flex uses Actionscript 3. Oh yeah, did I forget to mention? You’re going to also have to start learning the next generation of Actionscript as well. But if you know either WPF or Flex, learning the other is just a matter of syntax learning. Ok so you now have three interactive technologies under your belt. Your resume is going to need an extra page though, because we aren’t finished yet.
Apollo is Adobe’s attempt at entering the world of desktop applications. It essentially consists of a set of runtimes that enable Flash developers to create standalone applications that will run on Windows, Mac, and Linux. Although this hasn’t been released to the public yet, I have seen demos and I have to say that it looks pretty damn cool. You have total control over the look of your applications and can use things like transparency and non-rectangular windows. But if you have used Zinc before, you’re probably thinking “what’s the big deal?”. Well that still remains to be seen. The demo I saw was essentially taking a Flex app and turning it into a standalone application. So it was nothing that was very impressive. The real test will be how well these apps run cross-platform and how much access we will have to the OS. But Apollo is being promoted as being able to create rich internet applications for the desktop. It doesn’t appear to be trying to replace WPF for creating full-blown Windows apps, as the power of the massive .NET library could never be achieved by Apollo.
So you will basically become an interactive badass if you learn Flash, Flex, Apollo, Actionscript 3, and WPF. All are great technologies and all are enabling us to build cooler stuff, which in the end is all that matters.
No comments:
Post a Comment