写点什么

Flex SDK 与 Flash Builder 4:深度对话 Andrew Shorten

  • 2010-06-24
  • 本文字数:3409 字

    阅读完需:约 11 分钟

最近,Adobe发布了Flex 4 SDK 与Flash Builder 4(此前叫做Flex Builder 3)。InfoQ 有幸采访到了Adobe 高级产品经理 Andrew Shorten 以深入了解此次发布的相关信息以及他们将如何适应整个 Flash 平台和未来的期望。

InfoQ:随着从 Flex 3 到 Flex 4 的迁移,整个 Flash 平台似乎都有一些变动,包括将 Flex Builder 的名称改为 Flash Builder 。能否详细谈谈这一点呢?

Andrew Shorten:在 Flex Builder 3 发布后,我们发现不仅是那些需要代码编辑、调试、分析等特性的 Flex 开发者在使用这个 IDE,那些只开发 ActionScript 项目和使用 Flash Professional 的开发者(也会花不少时间编写代码)也都纷纷转向了 Flex Builder。

Flex Builder 对日益增长的非 Flex 开发者的吸引力与日俱增,Flash 平台的势头也越来越猛,我们觉得无论是否加进 Flex 框架,开发者都还在开发着 Flash 应用,基于以上考虑,我们觉得改名字很有意义。现在,随着 Flash Builder 4 的发布,我为我们的决定感到骄傲:Flash Builder 依然为 Flex 开发者们提供最具效率的开发环境,此外还为那些使用 Flash Catalyst 的人们提供了工作流,包括对 Flash Professional 项目的新支持,根据 ActionScript 开发者们的需要提供了健壮的代码编辑功能。

本质上,我们承认 Flash Builder 是个专业的开发环境,面向那些使用 Flash 平台的开发者们,也就是说,如果你在编写 MXML 或 ActionScript 代码,那么 Flash Builder 将是你的不二之选。现在,Flex 的定位更加清晰了:Flex 只用来连接开源的 SDK 来构建 RIA。

除了名字上的变化,我们在 Flash Builder 4 中增加了 70 多个新特性:很多新特性都与代码编辑、调试和分析相关,这会极大提升 ActionScript 或 Flex 应用开发者的生产率。甚至对于 Flash Builder 4 中所增加的特定于 Flex 的特性来说,那些使用 Flex 3 SDK 和 Flex 4 的人们也会从中受益无穷。

我写了一篇博客,完整地介绍了Flash Builder 4 中的新特性并给出了对应的文档链接,感兴趣的读者可以自己去研究这些新特性。

InfoQ:Flex 3 开发者如何迁移到 Flex 4 上呢?现有的项目如何迁移到 Flash Builder 4 上呢?

Andrew Shorten:好消息是你可以将使用 Flex Builder3 开发的 Flex 3 应用迁移到 Flash Builder 4 上而无需使用 Flex 4 SDK:这样就可以在现有的项目中直接感受 Flash Builder 4 所带来的众多新特性。

我曾写过一篇文章,介绍了如何将项目导入到Flash Builder 4 中,在迁移项目时要记住的关键一点是:在导入过程中,需要指定继续使用现有的Flex 3 SDK 进行编译。

在将Flex 3 应用迁移到Flex 4 上时,工作量并不大。除了一些bug 修复和默认主题的一点变化外,应用的开发方式与Flex 3 相差无几,可能还要好一些。

如果想使用Flex 4 的新特性则需要升级代码以使用新的Flex 命名空间、将非可视化属性迁移到declarations 标签中并更新状态代码以使用新的内联语法,此外,如果想使用全新的Spark 组件、基于Spark 的可视化效果或是Flash Player 10 新增的Text 功能,那么你需要做一些额外的迁移工作。

Adobe 发布了一个迁移指南(PDF)来帮助开发者升级现有的应用, Adobe Developer Connection 站点上也有关于该主题的一些资源供大家参考。

InfoQ:Flex 4 和 Flash Builder 4 的新特性主要有哪些呢?

Andrew Shorten:在 Flex 4 SDK 中,我们实现了一个全新的组件和皮肤架构(Spark),这为 RIA 增加了新的表现力。借助于新的 Spark 组件和皮肤架构,组件逻辑从组件可视化代码中“剥离”开来,可以更加直接地定制组件的行为和感官。此外,在 Flex 4 SDK 中,Flex 编译器的性能也得到了改善,同时增强了大量语言和基础设施等特性,对新的 Flash Player 10 运行时提供了完美的支持。

在 Flash Builder 4 中,我们可以通过一套完整的以数据为中心的特性、借助于 Flash Catalyst 和 Flash Professional 所提供的新的设计与开发工作流轻松实现与后端服务的连接;此外,我们还增强了核心的代码开发特性,以达到提升开发者效率的目的。

我们还实现了新的重构功能、改进了调试器以支持条件断点、观察点和表达式赋值,增加了代码生成功能,借助于新的网络监控和 FlexUnit 支持,应用的测试变得轻而易举。如前所述,无论使用 Flex 3 还是 Flex 4 SDK,开发者都可以充分利用这些改进,这样 Flash Builder 4 对整个开发过程都会起到帮助作用,即便没有使用新的 Spark 组件也没关系。

InfoQ:Flex 3 和 Flex 4 的组件模型有何不同?

Andrew Shorten:Flex 4 新增的一个主要特性是全新的皮肤与组件架构,叫做 Spark。

借助于 Spark,设计师和开发者可以更加直接和高效的方式无缝定制 Flex 组件的可视化元素与行为。Spark 架构的主要思想由一个皮肤模型支撑,它将组件的可视化元素与逻辑分离开来。这种分离赋予设计师和开发者更大的自由,可以随心所欲地设计 Flex 组件的可视化元素而不必顾虑组件的逻辑实现了。在了解了 Spark 皮肤模型后就能在很短的时间内构建富于表现力和健壮的 Flex 组件了。

InfoQ:最近很多人都在议论更大的 Flash 平台,比如几个月前收购了 Omniture,能否谈谈这个 Flash 平台呢?

Andrew Shorten:这个 Flash 平台包含了客户端运行时、框架、工具、服务器以及服务,设计师与开发者可以使用他们构建应用并部署到日益增长的联网设备上。

Flash Builder 是 Flash 平台不可分割的一部分,开发者可以使用它和 Flex 框架构建跨平台的 RIA 与内容,然后使用 Adobe Flash Player 部署到 Web 上或是使用 Adobe AIR 部署为桌面应用。将来还可以使用 Flash Builder 开发面向移动电话、平板电脑和其他设备的 Flex 应用,只要这些设备上有 Flash Player 或 Adobe AIR 就行。

从集成的角度来看,我们把重点放在了与 Adobe 服务器(比如 ColdFusion 和 LiveCycle)和服务供给(比如最近收购的 Omniture 所提供的服务)相关的工作流上,当然了,开发者还是可以使用众多的非 Adobe 技术来连接并交换数据。

在 Flash Builder 4 中,我们增加了一套以数据为中心的开发特性,可以探析到服务器端服务,Flash Builder 也可以生成服务器与相关数据模型的客户端表示,开发者可以将服务操作拖拽到可视化的组件上以绑定返回的数据,这样就能很快地将数据集成到 Flex 应用上,也能够与 XML、PHP、ColdFusion、 Java、Web Services(通过第三方适配器)和.NET 协同工作。Adobe LiveCycle Data Services 通过向 Flash Builder 增加应用建模工具进一步升华了这种能力,它还支持高性能的数据消息和高质量的服务交付,同时还能实现离线的数据管理。

关于 Omniture,我们打算发布一个 Flash Builder 扩展,可以让开发者在 RIA 开发过程中以可视化的方式追踪 SiteCatalyst,这么做就无需手工标记内容,进而减少实现时间,还可以映射自定义变量以实现追踪与分析的功能。

InfoQ:在 Flex 4 中,Adobe 为大多数现有的 Flex 3 组件都提供了新版本,但并非全部。比如说,Halo(Flex 3 组件模型)有 DataGrid,但目前并没有对应的 Gumbo(Flex 4 组件模型)版本。是否打算解决这个问题呢?如果是,大概什么时候呢?

Andrew Shorten:是的,但遗憾的是,目前有些组件我们还不能迁移到 Flex 4 组件模型上。也就是说,我们一开始就知道这是个问题,因此我们的做法是在同一个应用中,让 MX 和 Spark 组件的和谐共处变得简单,这样,即便是缺少 Spark DataGrid 也不会妨碍你迁移到 Flex 4 上。

当然了,我们打算发布剩余关键组件的 Spark 版本(比如 DataGrid、Tree 和 Form),就在即将发布的代号为“Hero”的 Flex SDK 中。虽然我们还无法预计该版本 SDK 的确切发布日期,但开发者可以通过 Adobe Open Source 站点上的每夜构建了解我们的开发进度。

InfoQ:虽然 Flex 4 改进了编译器性能,但 Flex 编译器在编译时间上还是远远落后于 Java 编译器。编译 Flex 的时间为何要比 Java 慢那么多?Flex 编译器的编译时间何时能达到 Java 编译器的水平?

Andrew Shorten:改进 Flex 编译器的速度始终是每个 Flex 版本的目标。在 Flex 4 中,编译期的编译速度和内存使用率上已经好了很多。接下来的几个版本中,我们会加倍努力提升 Flash 的编译速度,以期能达到其他技术的水平。值得注意的是,人们已经投入了多年的努力改进 Java 等技术的编译性能。与之类似,Flash 和 Flex 的每个版本都会向编译性能的改进这个目标大踏步前进。

查看英文原文: Flex SDK and Flash Builder 4: An In-Depth Interview with Andrew Shorten

2010-06-24 06:352427
用户头像

发布了 88 篇内容, 共 262.6 次阅读, 收获喜欢 8 次。

关注

评论

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

【LeetCode】最多单词数的发件人Java题解

Albert

LeetCode 5月月更

Java 实现 植物大战僵尸 小游戏【附源码】

JavaPub

Java

超级马里奥【附源码】

JavaPub

Java 实现 捕鱼达人 小游戏【附源码】

JavaPub

常用的 Lambda 表达式案例解析,工作中都会用到!

CRMEB

高危!Fastjson反序列化漏洞风险

源字节1号

软件开发

基于阿里云 ASK 的 Istio 微服务应用部署初探

阿里巴巴云原生

阿里云 容器 微服务 云原生 服务网格

俄罗斯方块【附源码】

JavaPub

Java实现一个坦克大战的小游戏【附源码】

JavaPub

3D赛车【附源码】设计实现

JavaPub

畅聊安全生产,对话B站、唯品会一线专家!|TakinTalks大咖对谈

TakinTalks稳定性社区

吃豆人游戏【附源码】

JavaPub

小鸟飞行游戏【附源码】

JavaPub

【等保测评】等保测评师怎么考,前景怎么样?

行云管家

网络安全 IT运维 等保测评 等保测评师

Java实现一个打飞机的小游戏【附源码】

JavaPub

【等保测评】2022年北京正规等保测评机构新名单公布

行云管家

等保测评 北京

中科大脑知识图谱平台建设及业务实践

NebulaGraph

图数据库 知识图谱

A New ETL Language -- Easy SQL

Bright

数据开发 ETL 大数据开发 EasySQL

java培训动态上传jar包热部署实战分享

@零度

JAVA开发

如何快速解决集群异常和机器性能波动

NebulaGraph

可视化 图数据库 知识图谱

大数据培训数仓实践 Kimball 维度建模

@零度

数仓 大数据开发

亚信安慧AntDB数据库斩获“最佳数据库品牌”大奖

亚信AntDB数据库

编程,不止有代码,还有艺术

华为云开发者联盟

数据库 倒排索引 GaussDB(for Influx) hint

什么是哈希?趣投哈希幸运哈希竞猜游戏开发方案策划

开发微hkkf5566

用户体验至上时代,银行的“主动出击”

博睿数据

金融 博睿数据 数据链DNA IT运维

Java 实现 贪吃蛇 小游戏【附源码】

JavaPub

关于敏捷测试象限的“秘密”

BY林子

敏捷开发 敏捷测试 测试策略

【技术干货】代码示例:使用 Apache Spark 连接 TDengine

TDengine

数据库 tdengine 开源 时序数据库

Java 实现 1024 小游戏【附源码】

JavaPub

上新了 亚麻云 | 远程办公有点上头?解锁云上应用现代化的奥秘

亚马逊云科技 (Amazon Web Services)

远程办公 应用

深入解析 TiFlash丨多并发下线程创建、释放的阻塞问题

PingCAP

Flex SDK与Flash Builder 4:深度对话Andrew Shorten_Java_Ryan Slobojan_InfoQ精选文章