Develop Flex Application with Microsoft Visual Studio – Amethyst IDE
It’s always a developers’ wish that they can reuse their acquired skills to apply them to new technologies. Amethyst IDE from Sapphire Steel Software is such tool that allows .Net developers start developing Adobe Flex or AIR applications from their familiar Visual Studio environment. InfoQ recently spoke with Huw Collingbourne, founder and Technology Director of Sapphire Steel, to learn more about Amethyst IDE.
Collingbourne is involved in the overall design and planning of Sapphire Steel’s software products for both Ruby and Flex and he is currently in charge of the development of the ‘Amethyst Designer’ - the visual drag-and-drop environment for Amethyst Professional. According to Collingbourne:
A: How Amethyst IDE was started?
Q: We began development of Amethyst in early 2008 and released the first public beta last December. Initially we looked at Flex as an alternative way of creating web-based user interfaces for Ruby On Rails.
Having done some simple experiments using Flex to develop Flash-based interfaces for Rails, it quickly became clear to us that Flex gave us a way of developing applications in a much more visual and tightly integrated manner than was possible with an HTML templating system. But the only visual design environment available for Flex was Adobe’s Flex Builder, which is built on Eclipse.
We realised that what was needed was not (as we had originally thought) a simple Flex design environment to support Rails but, rather, a complete Flex IDE that would give Visual Studio users all the tools they required for coding, designing and debugging any type of Flex, AIR or ActionScript application.”
A: Why Amethyst IDE when there are Flex Builder, IntelliJ IDEA and other Eclipse ActionScript plugins?
Q: In two words: Visual Studio. The plain fact of the matter is that many Visual Studio users are just not prepared to use other IDEs. Indeed, for many developers, if a language or technology is not supported by Visual Studio, they simply will not use it.
In the development of Ruby In Steel over the past few years, we have acquired a great deal of expertise in the creation of Visual Studio IDEs which is why we felt confident, when we started work on Amethyst, that we would be able to produce much more than just an ActionScript editor (of which there are already quite a few). From the outset, it was our aim to create a fully realised development environment with all the tools that Visual Studio users take for granted. Amethyst is the only IDE other than Adobe’s Flex Builder that offers this kind of toolset.
I should say, however, that Amethyst has been designed from the ground up to be fully at home in Visual Studio. Our goal has never been to ‘clone’ Flex Builder but, on the contrary, to make Flex development feel truly native to Visual Studio. The bottom line is that if you are an Eclipse user, you may want to use Flex Builder. If you use Visual Studio, your first choice will be Amethyst.
A: What are the major challenges during the development of Amethyst?
Q: Seamless integration. Making the ActionScript language, the Flex framework, the AIR runtime and the Flex/AIR visual designer seem to be just as natural to Visual Studio as Microsoft technologies such as C#, .NET and Silverlight. To achieve this we have had to support a huge range of special features of Visual Studio ranging from refactoring ‘smart tags’ to round-tripping between the visual designer and the underlying ActionScript and MXML code. Complete and seamless integration has always been a fundamental design goal of Amethyst.
A: Based on your or your users' experience, why would a .Net developer want to do Flex/AIR development?
Q: Let me first say that Amethyst is not exclusively aimed at .NET developers but at Visual Studio users. Many of the applications which Visual Studio users need to develop are targeted at the Flash Platform will not use .NET at all.
That said, there will undoubtedly be .NET developers who need to integrate Microsoft and Adobe technologies - for example, by developing the back end of an application using ASP .NET and the front end in Flex/Flash. This can be done in a variety of ways by sending requests for data to the back-end application and then displaying the results in a front-end user interface. Of course, given the graphics and animation capabilities of Flash, developers are not restricted to creating business applications. Some may be creating games or Facebook applications with animations displayed in the browser and the game scores and user profiles stored in a database. There are also additional tools that can smooth the path between Flex and .NET such as Midnight Coders’ WebORB for .NET.
It’s worth pointing out that Amethyst can be used with other back-end technologies too. Indeed, users of our other IDE, Ruby In Steel, even have the ability to create mixed Flex/Rails applications hosted inside a single Visual Studio solution.
A: What's your opinion regarding the comparison between Silverlight and Flex?
Q: While there are numerous technical differences between the graphics technologies and programming frameworks underpinning Silverlight and Flex, as far as we are concerned the thing that really distinguishes the Flash Platform (of which Flex is a major part) is its sheer dominance. Flash is everywhere. Adobe describes Flash as “the world’s most pervasive software platform” and claims that the Flash Player is installed on about 99% of Internet-connected computers. Whether or not you accept those statistics, there can be no doubt that Flash is an enormously important platform. But, until now, Visual Studio users have not been provided with the development tools to support it.
If people want to develop for Silverlight, that’s fine. Microsoft provides the tools for the job. If, on the other hand, developers want a professional-quality IDE to support the Flash Platform, then Amethyst provides that.
A: What's the roadmap of Amethyst?
Q: We plan to continue releasing betas over the next few months, with each beta introducing one or more new features. In between these major betas we will also release some interim or ‘edge’ builds with bug fixes or experimental features. We have yet to announce the date of the final release of Amethyst but this is unlikely to be before Adobe releases the forthcoming version (4) of the Flex framework.
InfoQ likes to hear how do Visual Studio developers like the Amethyst IDE product.