InfoQ

News

Develop Flex Application with Microsoft Visual Studio – Amethyst IDE

Posted by Moxie Zhang on Jun 23, 2009

Community
Java
Topics
Rich Internet Apps
Tags
Flex ,
Visual Studio

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:

 

“Amethyst is an editing, design and debugging environment for Adobe’s Flash Platform. Fully integrated into Visual Studio, it supports Flex, AIR and ActionScript projects to allow developers to create web-based or standalone applications. There will be two editions of Amethyst - a free ‘Personal Edition’ and a commercial ‘Professional Edition’. “

 

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.

 

No comments

Watch Thread Reply

Educational Content

Rails in the Large: How Agility Allows Us to Build One Of the World's Biggest Rails Apps

Neal Ford shows what ThoughtWorks learned from scaling Rails development: infrastructure, testing, messaging, optimization, performance.

Stuart Halloway on Clojure and Functional Programming

Stuart Halloway discusses Clojure and functional programing on the JVM in depth, and touches on the uses of a number of other modern JVM languages including JRuby, Groovy, Scala and Haskell.

Orion Henry and Blake Mizerany on Heroku

Orion Henry and Blake Mizerany talk about the technology behind Heroku and the benefits of the new add-on system.

Security for the Services World

Chris Riley presents security issues threatening service based systems, examining security threats, presenting measures to reduce the risks, and mentioning available security frameworks.

Navigating The Rapids:Real-World Lessons in Adopting Agile

This talk investigates technical issues encountered when moving to an Agile process.

Codename "M": Language, Data, and Modeling, Oh My!

Don Box and Amanda Laucher present “M”, a declarative language for building data models, domain models or external DSLs. Don Box's demos show some of M’s features and latest changes of the language.

SOA Manifesto - 4 Months After

It is four months since the SOA manifesto was announced; InfoQ interviewed the original author’s to get insight into the motivations and the process behind the initiative.

Memory Barriers and JVM Concurrency

This article explains the impact memory barriers, or fences, have on the determinism of multi-threaded programs.