Welcome!

Adobe Flex Authors: Liz McMillan, RealWire News Distribution, Maureen O'Gara, Yakov Fain, Keith Swenson

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

<?xml version="1.0"?>
<Canvas Width="600" Height="400" Background="LightGreen" />

   This is the C# code:
using System;
using SwfNative;

namespace Demo
{
  public class HelloWorld
  {
   public static void Main()
   {
   TextField cn = MovieClip.Root.CreateTextField(55,55,100,33);
   cn.Variable = "Console";

   Console.WriteLine("Hello World!");
   }
  }
}

The Hello World example seems a bit cumbersome, but Xamlon comes through on user interface controls. This is the C# code to create a button and attach an event handler to it.

Xamlon.Swf.Controls.Button button = new Xamlon.Swf.Controls.Button();
button.Click += new ButtonDelegate(button_Click);

This sample doesn't completely deliver on the multi-channel delivery promise, since the namespace (Xamlon.Swf.Controls) isn't the same as the .NET controls namespace, but Colton assured me that the final release will completely support the standard Windows.Forms.Controls namespace as well as Microsoft's visual designer. Developers will be able to redraw controls using GDI+ the same way they do now. Xamlon Web will also support skinning controls using XAML markup.

And, surprise, Xamlon Web also supports pure XAML for vector-based drawing and layout. The results are quite astonishing, and open up some interesting possibilities for streamlining the vector graphic creation and management process. The company supplies a free evaluation of a XAMLConverter tool that converts Adobe Illustrator-generated SVG into XAML. The following shows a simple ellipse drawn in XAML.

<?xml version="1.0"?>
<Window ID="root" xmlns="http://schemas.microsoft.com/2003/xaml"
xmlns:def="Definition" Width="230" Height="255">
   <TransformDecorator ID="zoom" AffectsLayout="false">
    <Canvas Width="300" Height="250" Background="AliceBlue">
     <Ellipse
     CenterX="150" CenterY="125"
     RadiusX="100" RadiusY="75"
     Fill="LightBlue" Stroke="DarkBlue" StrokeThickness="5"/>
    </Canvas>
   </TransformDecorator>
</Window>

The actual XAML support, however, leaves something to be desired, because Xamlon Web only offers a subset of XAML capabilities. It doesn't provide examples that illustrate binding XAML controls to a codebehind file, one of the most important features of XAML, nor does the beta support the visual designer component of Visual Studio. This functionality is expected in version 1.0, and how well the company pulls it off will decide whether Xamlon's version of XAML is a lifesaver or just a neat feature.

Xamlon's most intriguing examples are found on its Web site. One is a Google Maps client that shows a front-end for Google Maps developed exclusively with Xamlon Web. It lacks the complexity and completeness of Google Maps, but it's an interesting achievement nonetheless; Xamlon claims it was created over a weekend without the backbreaking job of writing an AJAX app. The company has coined the term AFLAX (Asynchronous Flash and XML) presumably to jump on the AJAX bandwagon and make a case for Flash. However, one wonders whether the world needs another acronym. In this respect, it seems that Xamlon missed the point about one major advantage of Flash, which is that wonderful things can happen when Flash Communication Server or socket-based connections are used to create stateful applications (something an AJAX application can only mimic).

Another example that deserves attention is the StockWatcher (see figure 4). This RIA is a living breathing stock analyzer and keeps a live feed of stock data available to update datagrids and draw graphs. Possibly the most compelling application created with Xamlon to date, it instills a sense of confidence that Xamlon does in fact work and is moving in the right direction.

It seems that Xamlon might offer the .NET developer a lot, but what does it offer us, the few, the proud, the Actionscript developers? I posed this question to Colton, who quickly replied, "The positive for Actionscript Developers is this: C# is a mature, strongly typed language. It has an awesome development environment, and that's lacking in Macromedia; there isn't a very powerful development environment for Actionscript. Actionscript is great, but how would you like to use a better language with a better IDE, and still target the Flash that you know and love? We're going to bring real languages and real development environments to the Flash community."

While that statement may not exactly warm your heart, it's good to know that Xamlon is keeping us in mind. Xamlon Web has separate tools that let experienced Flash developers access native commands, and ships with components that are more or less specific to Flash development like the Accordian.

Colton also told me that he had met with numerous Flash developers during Xamlon Web development to get their input.

For the most part, Xamlon does its job, but it's definitively a beta product. If Xamlon delivers on its version 1.0 promises it will be hard to knock. .NET developers aren't currently developing for SWF and the adoption of Xamlon might take a while, so don't trade in your copy of Essential Actionscript 2.0 for Learning C# just yet. In fact, Actionscript isn't going anywhere. Macromedia has made a strong commitment to the language and products like Flex use it extensively. The question of whether Xamlon (or competing products) will be effective enough to allow real SWF delivery for .NET developers has yet to be answered. As a developer who uses both Actionscript and .NET, Xamlon and XAML are very exciting propositions, but I'll still be developing in Actionscript for the foreseeable future.

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.