Welcome!

Adobe Flex Authors: Jonny Defh, Pat Romanski, Liz McMillan, Rob Rusher, Aditya Banerjee

Related Topics: Adobe Flex

Adobe Flex: Article

Microsoft .NET In A Flash, A New Tool Lets .NET Developers Write Flash Applications

Large companies are embracing Flash for rich media delivery, developers are jumping on the bandwagon in swarms

Not long ago developers and IT professionals looked at Flash with disdain. The anti-Flash camp had contempt for its lack of accessibility, minimal standards compliance, and of course there was the infamous back button debacle. But things have changed. Large companies are embracing Flash for rich media delivery. Developers are jumping on the bandwagon in swarms. In the last year there's been an explosion in Flash development tools, including several full-featured development environments and a homespun SWF compiler or two. Flash video suddenly seems to be everywhere, and if you're not talking about AJAX you're talking about rich Internet applications with Flash. So, now that we're confident that Flash is here for the long haul, the question becomes: Is Actionscript coming along for the ride?

Recently, a flurry of developer tools has made Flash development a more attractive proposition. Now, with a plug-in, developers can use Eclipse (the Java favorite) as their IDE, and even compile to SWF with a compiler called MTASC. Still, some developers turn to another solution, such as Flex, for full-featured layout components and true rapid application development.

Interestingly, one of the most exciting tools to surface lately doesn't have anything to do with Actionscript at all. Xamlon Web, created by Xamlon, Inc., lets .NET developers create Flash applications purely in C# or VB.NET. Entire program can be written in Visual Studio .NET and then deployed to the SWF format. Although there are undoubtedly some nuances in developing for Flash Player using .NET, the process is strikingly similar to developing for a typical Windows forms application.

Xamlon, Inc., is the brainchild of Paul Colton, the original author of the JRun server software purchased by Allaire and, subsequently, Macromedia. Originally, Paul's concept was to make Microsoft's Extensible Application Markup Language (XAML) available to .NET developers for immediate use in developing Windows desktop applications. XAML, which will be released with .NET 2.0 and Windows Longhorn, is an application markup language comparable to Mozilla's XUL or Macromedia's MXML. Although Colton's original product, Xamlon Desktop, was well received, he found that the product's real power was in deploying to the Web using SWF.

As Colton described his vision for Xamlon Web, "The idea is to let developers use Visual Studio to write in .NET and deploy directly to the Web without knowing anything about the target, which in this case is Flash."

Colton feels that making the Flash format a viable option for .NET developers is a big step. "We've taken the very best of Microsoft and deployed it to the very best coming out of Macromedia, and we're delivering one product that neither company really can because of competitive forces," he said, suggesting that the combination of Flash delivery with the Microsoft development workflow and IDE creates a best-of-breed product that their parents can't deliver.

The jury is out on how effective Xamlon is and will be until the 1.0 release arrives in mid-July, but even the current beta version has been used to do some interesting things. One example on the Xamlon Web site uses SOAP Web Services to create a Flash-based airline seat selector entirely in XAML and C#. Another connects to an XML source and displays local weather information. And, while the XAML-based layout is one of the more interesting features, it's actually not needed to develop applications. In fact, a developer could write a Xamlon application using only standard C# with no XAML at all.

The Xamlon process leverages existing Microsoft technology and tools to achieve a streamlined process that's familiar to .NET developers. Xamlon Web offers complete Visual Studio integration, letting developers create their apps in a familiar way and then deploy to the SWF format. Perhaps the most interesting component is that, unlike competing tools, Xamlon doesn't compile the C# or VB.NET code; Microsoft's compiler compiles the code into Microsoft's Intermediate Language (IL). Xamlon then takes over, creating a SWF file from the IL bytecode. This means that Xamlon will evolve more or less as the Microsoft .NET platform does, and should support any .NET language. Xamlon Web will also allow for some extensibility, including a component framework for extending Xamlon's capabilities.

Xamlon Web claims to be fully .NET-complaint and support most common .NET classes. It only includes a subset of .NET functionality that Flash can support, which is actually quite powerful. The product is still in beta, so we won't have full functionality until the July release, but Colton is confident that version 1.0 will be production-ready.

For the experienced Flash developer, Xamlon offers the SwfNative namespace that lets developers access most of the functionality available in an Actionscript application. The only glaring omission is the remote NetConnection, so connecting to a Flash Communication Server isn't possible. Xamlon plans to investigate this more thoroughly, so hopefully an early version will rectify this problem. Flash Remoting isn't supported either (although SOAP Web Services are).

Macromedia's MXML was one of the first commercially available application markup languages, and it seems that Xamlon Web will actively compete against Flex in some respects. Although Xamlon's Web site flatly says that it won't, Colton spoke of a server-based version of Xamlon Web following 1.0's release. When asked what advantages Xamlon Web had over Macromedia Flex, he replied, "XAML is much more thorough and involved and has a much broader set of capabilities than MXML." While this may be true, it's also true that only a subset of XAML and .NET can really be applied in the context of a Flash application. If the two products ultimately do compete, there will be irony in the fact that Flex runs atop JRun, the server software originally written by Colton.

And, since Colton did create JRun, why does Xamlon support .NET and not Java? Xamlon's rationale as a company was Microsoft's XAML, so it makes sense that the software supports .NET, but it poses problems for developers who write in Java or on the Apple platform - in fact, they're pretty much excluded from Xamlon. Colton says he intends to correct this in the future by creating a Java version of the software and it will be interesting to see if the Java version supports XAML markup as fully as the .NET version. Colton didn't have a projected release date for the Java version, but stated that it's 'in the works.'"

He repeatedly said that Xamlon's main benefit was multi-channel delivery: in theory, a Xamlon application can be delivered via the Web, a desktop application, and a mobile device with little extra effort. This, of course, is something developers have been attempting to attain for years, so it'll be interesting to see if Xamlon's unique blend of Microsoft and Macromedia technologies achieves it. It has yet to deliver the proof-of-concept.

Does Xamlon deliver on its promises? The Xamlon Web beta comes with more than 20 examples that try to show that it does, and the Xamlon Web site has some more intriguing real-world examples of applications developed in Xamlon. Since no programming article would be complete without the perennial "Hello World" example, let's dive into how Xamlon can be used to create the simplest of applications. This is the XAML markup code:

More Stories By Jim Phelan

Jim Phelan, a member of the Editorial Board of Web developer's & Designer's Journal, is VP of Development and Chief Architect for Stream57, a New York City based firm specializing in communication solution development for the enterprise. Jim's expertise in creating solutions for consolidation and collateralization of business communications has allowed his team to create applications for the management and delivery of live and on demand rich media content. He is a strong proponent of the Adobe Flash Platform.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
MXDJ News Desk 08/03/05 01:21:12 PM EDT

Microsoft .NET On A Flash, A New Tool Lets .NET Developers Write Flash Applications
Not long ago developers and IT professionals looked at Flash with disdain. The anti-Flash camp had contempt for its lack of accessibility, minimal standards compliance, and of course there was the infamous back button debacle. But things have changed. Large companies are embracing Flash for rich media delivery. Developers are jumping on the bandwagon in swarms. In the last year there's been an explosion in Flash development tools, including several full-featured development environments and a homespun SWF compiler or two.