写点什么

用 Microsoft Visual Studio 开发 Flex——Amethyst IDE

  • 2009-06-30
  • 本文字数:2276 字

    阅读完需:约 7 分钟

通常,开发者都希望把他们的已有技能应用到新的技术上。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 产品的相关消息。

查看英文原文: Develop Flex Application with Microsoft Visual Studio – Amethyst IDE

2009-06-30 02:534550
用户头像

发布了 150 篇内容, 共 47.1 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

个推直播预告:9月26日,一线专家分享APP数字化运营方法与实践

个推

数字化 用户画像 标签体系

【Vue2】简易Vue2-简易图书借阅管理

Sam9029

Vue 前端 9月月更

性能测试知识科普(二):测试策略

老张

性能测试

JS-内置对象API-Array(数组)-(二)-不改变原数组的API-篇

Sam9029

JavaScript 前端 9月月更

Onedev v7.4.14 路径遍历漏洞分析(CVE-2022-38301)

墨菲安全

网络安全 开发安全 漏洞分析 软件供应链安全

软件测试 | 测试开发 | iOS 自动化测试踩坑(一): 技术方案、环境配置与落地实践

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 《穿越时空的git》之创建版本库和常用命令操作

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 不懂PO 设计模式?这篇实战文带你搞定 PO

测吧(北京)科技有限公司

测试

搭建在线帮助中心是企业最重要的第一步

Baklib

企业 在线文档 帮助中心 帮助文档

软件测试 | 测试开发 | 一文彻底理解 Cookie、Session、Token

测吧(北京)科技有限公司

测试

阿里MaxCompute生态团队负责人—李睿博 : 参与开源,让自己的履历与众不同|《大神详解开源 BUFF 增益攻略》讲座回顾

Apache IoTDB

数据库 线上讲座 Apache IoTDB 企业号九月金秋榜

大厂校招SSP获得者—张金瑞 :开源项目,求职者的最佳简历|《大神详解开源 BUFF 增益攻略》讲座回顾

Apache IoTDB

开源 求职 Apache IoTDB 企业号九月金秋榜

获得多家大厂SSP的清华应届毕业生—田原:大厂各轮面试中开源经验有什么用|《大神详解开源 BUFF 增益攻略》讲座回顾

Apache IoTDB

数据库 开源 求职 Apache IoTDB 企业号九月金秋榜

springboot搭建基于minio的高性能存储

CTO技术共享

企业FAQ页面案例展示及FAQ站点搭建技巧

Baklib

企业 FAQ

阿里云PolarDB-X 荣获“2022 OSCAR 尖峰开源项目及开源社区”奖

阿里云数据库开源

阿里云 分布式数据库 开源数据库 PolarDB-X 可信开源

提质增效,安全灵活,阿里云EDA上云方案让芯片设计驶入高速路

阿里云弹性计算

HPC EDA 高性能计算 芯片开发

软件测试 | 测试开发 | app自动化测试(iOS)元素定位(新手篇)

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | iOS自动化真机测试验证环境过程中常见问题解析

测吧(北京)科技有限公司

测试

测试人生 | 30 而立之年的蜕变,6 个月完成从国企到 BAT 大厂测开的华丽转身

霍格沃兹测试开发学社

干货分享|使用 Istio 实现灰度发布

北京好雨科技有限公司

istio #Kubernetes#

用户组角色绑定(原生element-plus-ui表格)

青柚1943

Element Plus Vue3 Typescript

Ubuntu服务器上部署Kubernetes集群

CTO技术共享

软件测试 | 测试开发 | Python中日志异步发送到远程服务器

测吧(北京)科技有限公司

测试

计算机网络——封装成帧和透明传输

StackOverflow

编程 计算机网络 9月月更

kube-prometheus 监控系统使用与总结

CTO技术共享

软件测试 | 测试开发 | JAR 文件规范详解

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 一文搞定 Postman 接口自动化测试

测吧(北京)科技有限公司

测试

深入理解MYSQL之缓存

C++后台开发

MySQL 数据库 缓存 中间件 后端开发

EMQ走进亚马逊云科技:携手云端,共筑「面向未来」的IoT基础设施底座

EMQ映云科技

物联网 IoT 解决方案 亚马逊云科技 9月月更

Saas企业数字化必不可少的工具——帮助中心

Baklib

SaaS 企业 数字化 帮助中心

用Microsoft Visual Studio开发Flex——Amethyst IDE_Java_Moxie Zhang_InfoQ精选文章