Have you ever wanted to deploy a WinForms application to the web or wished you could build fancy Flash-based user interfaces easily? If so, then Xamlon Web might just be the product for you. Xamlon Web allows you to create WinForms applications in C# or VB.NET and deploy them anywhere on the web using Macromedia Flash without any previous Flash experience. In this article I'll give you a quick introduction to Xamlon Web and show you some of the
cool things you can do with it without any knowledge of Flash whatsoever. The Press Release Instead of me trying to explain exactly what Xamlon Web is I'll leave it to the creators of the product.
Here's the press release announcing the availability of the Beta version of Xamlon Web: Xamlon, Inc. Introduces New Web Deployment Option for .NET Developers Press Release Xamlon Web enables developers to use C# or Visual Basic.NET in Visual Studio to build WinForms
applications and deploy them directly to the Web without requiring the .NET runtime. Sept. 14, 2005 – Los Angeles and La Jolla, Calif. – Xamlon, Inc., a premier software company specializing
in rich Internet applications for the Web, today introduced the beta of Xamlon Web. A first-of-its-kind
engine, Xamlon Web allows the millions of Visual Studio developers to use languages they already know,
C# and Visual Basic.NET (VB.NET), to create rich, zero-footprint applications that deploy directly to
any browser on any operating system. The product includes complete integration with Visual Studio.NET
2003 (soon to include Visual Studio .NET 2005 support) and enables developers to use the existing APIs
they are already familiar with, including WinForms, GDI+ and XML Web Services. "Xamlon Web allows developers to be immediately productive in new deployment scenarios with virtually
no learning curve," said Paul Colton, CEO and founder of Xamlon, Inc. "Now developers can use the programming
languages they already know to create seamless business applications that deploy via the Web on practically
any device or computer in the world." Xamlon facilitates this deployment ubiquity by leveraging the Macromedia Flash platform, which is available
on over 98 percent of Internet-connected computers in North America and Europe according to NPD Online.
Programs are written in Visual Studio, and then, from Microsoft's Intermediate Language bytecode, Xamlon
creates compact Macromedia Flash (SWF) files. The resulting applications can be deployed anywhere Flash
is installed, including Windows, Mac, Linux and a growing number of PDAs and cell phones. After Flash
support is finalized, Xamlon Web will also be supporting DHTML and AJAX as a deployment target. A key benefit of Xamlon Web is that it requires no new plug-ins. The .NET runtime is not required for
deployment and the resulting application may be deployed to platforms where .NET is not even supported.
Additionally, Xamlon Web allows for a smooth workflow, since developers can debug as Windows Forms
applications on the desktop and deploy to the Web without making any changes to code. The beta release of Xamlon Web is available for download at the company's Web site at www.xamlon.com.
The final 1.0 version will be priced at $499 per developer and is slated for release in Q4 of 2005.
Well that sounds great, but what does it mean? Well... let's see.
Sample Applications and Getting Started Guide To give you an idea of what you can do and to help you get started Xamlon includes a number of sample
applications and a getting started guide that walks you through building a few applications. Some of the samples
are really impressive and while I'm not going to host them here, below are screen captures and some
interesting points about a few of them. The first sample is something Xamlon calls the Carculator. It's just a simple calculator with the picture of
a car added. Nothing extrodinary until you compare the two pictures below. The first show the application
running in debug mode as a standard WinForms application. The second is the exact same application running
in a browser using Flash. All I did to switch from one to the other was change from "Debug" to "Release"
mode in Visual Studio before building the application.  Image 1: The Carculator sample application running in WinForms mode.
 Image 2: The Carculator sample application running in a Web browser using Flash.
No it's not a joke... that's the same application running as a WebForms application and as a
Flash .swf file. Notice the slightly different button style and the Flash menu that appears
when you right-click on the application. The next sample application is a image viewer. It displays thumbnails of the images and then
when you click on one it zooms in to show the image full size. Again nothing all that amazing, but
the zooming happens live. There's no reload of the html page involved. Adding this type of polish
to a web application really gives it a professional feel.  Image 3: The Image Viewer sample application.
 Image 4: The Image Viewer sample application zoomed in on an image.
The tension sample application illustrates some basic physics and mouse handling.  Image 5: The Tension application.
And it's not just for pretty interfaces either... the StockWatch application is an enterprise-type
application that shows how to dynamically load data from an ASP.NET web service and display it to
the screen.  Image 6: The StockWatch sample application.
Building Your First Sample Application As mentioned in the press release, Xamlon Web works in conjunction with Visual Studio.NET.
After you run the Xamlon Web setup program you'll have some new options when you open Visual Studio.NET's
"New Project" dialog box and you'll find a new tab named "Xamlon Web" in the toolbox.  Image 7: The new "Xamlon Web Application" option in the "New Project" dialog box.
 Image 8: The new "Xamlon Web" tab in Visual Studio's toolbox.
For illustration, I'm going to build a very simple application that simply consists of a single form
with a button on it. When clicked the button will display a MessageBox that says "Hello World!" I started by selecting "Xamlon Web Application" and opening the form that was generated for me.
I then dragged a button from the "Xamlon Web" tab in the toolbox and changed the button's text to
"Click Here To Say Hello". I then accessed the code for the button's click event handler by
double clicking the button. Then I added the command to show the MessageBox: Private Sub btnSayHello_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSayHello.Click MessageBox.Show("Hello World!") End Sub
When started in "Debug" mode the application runs as a WinForms application. The form with the button
pops up when the application is started. Clicking on the button brings up the MessageBox window.  Image 9: The "Debug" version of my Hello World sample - before clicking
 Image 10: The "Debug" version of my Hello World sample - the MessageBox window
When you change to "Release" mode Xamlon starts it's own web server which serves the Flash version
of the application to your browser  Image 11: The "Release" version of my Hello World sample - before clicking
 Image 12: The "Release" version of my Hello World sample - after clicking
More Information If you'd like to get more information about Xamlon Web you can visit Xamlon's web site at http://www.xamlon.com/. From there you can read more
about the product, view the samples and download the trial version.
|