用Microsoft Visual Studio开发Flex——Amethyst IDE


作者


Moxie Zhang

译者

宋玮
 

通常,开发者都希望把他们的已有技能应用到新的技术上。Sapphire Steel Software的Amethyst IDE
是这么一种工具,它可以让.Net开发者在其熟悉的Visual Studio环境中开发Adobe
Flex或AIR应用。Infoq最近采访了Sapphire Steel的创始人及技术负责人——Huw
Collingbourne,以了解更多关于Amethyst IDE的情况。

Collingbourne参与到了Sapphire Steel的Ruby和Flex相关软件产品的整个设计及规划当中,他目前负责“Amethyst Designer”的开发,这是一款可视化的拖放方式的开发环境。按照Collingbourne的说法:

“Amethyst是一个针对Adobe Flash平台的编辑、设计、调试环境。其完全集成进Visual
Studio,支持Flex、AIR和ActionScript项目,可以让开发者创建基于Web的或者是独立的应用程序。Amethyst有两个版本
——一个免费的“个人版”和一个商业的“专业版”。

Amethyst IDE是如何开始的?

我们于2008年初开始开发Amethyst,去年12月发布了第一个公众beta版。最初我们把Flex看作是为Ruby On Rails创建基于Web用户界面的一种备选方式。

用Flex为Rails做了几个基于Flash的简单界面之后,我们很快发现,与使用HTML标记语言相比,Flex给了我们一种更加可视化、更紧
密集成的方式来开发应用程序。但是可用于Flex开发的唯一可视化设计环境只有Adobe的Flex Builder,它是构建在Eclipse之上的。

我们意识到真正需要的不是(我们最初所想的)一个简单的支持Rails的Flex设计环境,而是一个完整的Flex IDE环境,能够让Visual Studio用户编写、设计和调试任何类型Flex、AIR或ActionScript应用的全套工具。

在已有Builder、IntelliJ IDEA和其他Eclipse ActionScript插件的情况下,为什么还要开发Amethyst IDE呢?

因为两个字:Visual Studio。根本的问题是许多Visual Studio用户不打算使用其他IDE。实际上,对许多开发者来说,如果一门语言或技术不被Visual Studio所支持,他们压根儿就不会用它。

Steel在过去几年Ruby开发过程中,积累了许多创建Visual Studio
IDE方面的专业知识,这就是为什么我们从开始做Amethyst的时候就非常自信,我们能够创造出包含所有工具的完整的开发环境,让Visual
Studio用户感觉理当如此。Amethyst是除Adobe的Flex Builder之外唯一能够提供如此完整工具集的IDE。

可是,我想Amethyst从一开始就是针对Visual Studio的。我们的目标并不是“克隆”Flex
Builder,相反,是让Flex开发更贴近Visual Studio。底线就是:如果你是Eclipse用户,你可能会选用Flex
Builder;如果你用的是Visual Studio,你会首选Amethyst。

在开发Amethyst的过程中,最大的挑战是什么?

无缝集成。让ActionScript语言、Flex框架、AIR运行时和Flex/AIR可视化设计器看上去就像是Visual
Studio原有的东西一样,就像是微软的C#、.NET以及Silverlight这些技术一样。为达到这一目的,我们必须支持一大堆Visual
Studio的特殊特性,从重构“smart
tags(智能标签)”到可视化设计器与底层ActionScript及MXML的正向/逆向工程。完整及无缝集成,一直是Amethyst的基本设计目
标。

根据你们及你们用户的经验,为什么.Net开发者想要做Flex/AIR开发?

首先,我要说的是,Amethyst并不是针对.NET开发者的,而是针对Visual Studio用户的。Visual Studio用户需要开发的许多应用程序根本不用.NET,而是面向Flash平台的。

尽管如此,.NET开发者无疑也需要把微软和Adobe的技术集成在一起——例如,后台用ASP
.NET,前台用Flex/Flash的应用程序。可以有很多种方法做到这一点:通过发送数据请求到后台,然后把结果展现在前台用户界面上。当然,考虑到
Flash的图形化和动画能力,开发者并没有被限制在创建业务应用上。有些人可能会用这种方式来创建游戏或Facebook应用:在浏览器里显示动画,而
游戏得分和用户概要则存储在数据库中。还有些额外工具还可以使Flex和.NET之间的交互更加顺畅,比如Midnight
Coders的WebORB for .NET。

需要说明的是,Amethyst也可用于其他后台技术。实际上,我们另一个IDE——Ruby In Steel的用户,甚至可以在同一个Visual Studio解决方案中创建出混合的Flex/Rails应用。

在Silverlight和Flex的比较方面,你们的观点是什么?

支撑Silverlight和Flex的图形技术和编程框架在技术上有许多区别,我们所关心的区别在于Flash
Platform处于绝对支配地位。Flash遍布天下。Adobe把Flash描述为“当今世界无处不在的软件平台”并声称Flash
Player被安装在互联网上99%的机器上。无论你是否接受这些统计数据,Flash无疑都是一个庞大的重要平台。但是,到目前为止,还没有给
Visual Studio用户提供支持它的开发工具。

如果人们想要开发Silverlight,没问题。Microsoft提供了工具。但是,如果开发者需要一个支持Flash平台的专业品质IDE,那么Amethyst非常合适。

InfoQ likes to hear how do Visual Studio developers like the Amethyst IDE product.

Amethyst的路线图是怎样的?

我们计划在接下来的几个月继续发布beta版,每个beta版引入一个或多个新特性。在这些大的beta版本之间,我们还将发布一些临时版本或者修
改了一些错误或增加了一些试验特性的“edge”
build。我们还没有宣布Amethyst最终版的发布日期,但在Adobe发布Flex框架版本4之前是不大可能的。

InfoQ乐于听到Visual Studio开发者是否喜欢Amethyst IDE产品的相关消息。

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: