| By Jim Phelan | Article Rating: |
|
| August 3, 2005 01:45 PM EDT | Reads: |
24,063 |
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:
Published August 3, 2005 Reads 24,063
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
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.
![]() |
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 |
||||
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Cloud Executives Feature on Cloud Computing Expo Power Panel
- Cloud Computing Journal: Adobe to Deliver ColdFusion in the Cloud
- Adobe Reader Sued
- Adobe Unveils LiveCycle Enterprise Suite 2 for Deployment in the Cloud
- Adobe May Cooperate with Apple to Transplant Flash Player to iPhone
- Ph.D. in Twitter Anyone?
- Adobe Flex Developer Earns $100K in New York City
- Eolas Sues the Internet
- Adobe LiveCycle Enterprise Suite 2 for Cloud Computing
- Special Report on the Emerging Cloud Computing Trend
- My Thoughts on Ulitzer
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Ulitzer Live! New Media Conference & Expo
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Eval JavaScript in a Global Context
- Fig Leaf Software to Exhibit at Government IT Conference & Expo
- Cloud Executives Feature on Cloud Computing Expo Power Panel
- Software Flexibility in the Cloud - Part 4 of 5
- Is Microsoft as Free as Open Source?
- Cloud Computing Journal: Adobe to Deliver ColdFusion in the Cloud
- Adobe Reader Sued
- Adobe Unveils LiveCycle Enterprise Suite 2 for Deployment in the Cloud
- Where Are RIA Technologies Headed in 2008?
- Cover Story: How to Increase the Frame Rates of Your Flash Movies
- AJAX World RIA Conference & Expo Kicks Off in New York City
- Your First Adobe Flex Application with a ColdFusion Backend
- Adobe Flex 2: Advanced DataGrid
- i-Technology Blog: Death-Knell For "Rich Media? Hardly!
- Adobe/Macromedia - Microsoft, Look Out!
- How To Create a Photo Slide Show ...
- Adobe Flex Interface Customization - Themes, Styles, Skins
- Personal Branding Checklist
- Has the Technology Bounceback Begun?
- "Real-World Flex" by Adobe's Christophe Coenraets




































