QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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:352485
用户头像

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

关注

评论

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

关于第四次财富狂潮的思考,区块链如猛虎出笼?

CECBC

react源码解析4.源码目录结构和调试

全栈潇晨

React Hooks react源码

详解Camtasia的注释功能

淋雨

视频剪辑 Camtasia 录屏

鸿蒙能成为世界第三的操作系统吗?

小智

华为 鸿蒙 操作系统

微博评论的高性能高可用计算架构设计

唐高为

【Flutter 专题】114 图解自定义 ACEProgressPainter 对比进度图

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

GrowingIO 前端团队对于 GraphQL 的实践总结

GrowingIO技术专栏

大前端 graphql

在Spring Bean实例过程中,如何使用反射和递归处理的Bean属性填充?

小傅哥

Java spring 小傅哥 反射调用 属性填充

手把手教你在IDEA中配置Maven

打工人!

Java maven 6月日更

Dubbo SPI

青年IT男

dubbo

React Hooks - 如何安全地使用state

蛋先生DX

大前端 React React Hooks JavaScrip 6月日更

BZZ算力挖矿系统开发功能丨BZZ算力挖矿源码设计

系统开发咨询1357O98O718

C 语言面向对象的封装方式(示例)

实力程序员

动态规划(详解矩阵连乘 案例+Java代码实现)

若尘

算法 动态规划 矩阵运算 java代码 6月日更

GrowingIO Design 组件库搭建之组件开发

GrowingIO技术专栏

组件

Hello Python! 第一天学 Pyhton 语言

在即

6月日更

ARTS- 日常打卡5

pjw

面试系列-3 限流场景实践

李阿柯

php lua redis 面试 限流算法

一文了解预训练语言模型!

博文视点Broadview

直击Huawei Mate 40产线背后的华为云IoT智能制造

华为云开发者联盟

IoT 数字化转型 数字孪生 华为云IoT

IPFS云算力挖矿系统开发(详情)丨IPFS云算力(源码)案例

系统开发咨询1357O98O718

Redis数据结构

邱学喆

数据库 redis 跳跃表

你们公司的数据库出过问题么?

escray

学习 极客时间 朱赟的技术管理课 6月日更

深圳首辆数字人民币主题观光巴士亮相

CECBC

致恰达耶夫,致鸿蒙

脑极体

实现多级缓存架构设计方案

xcbeyond

缓存 缓存架构 6月日更

中断Hwi:提高鸿蒙轻内核系统实时性及执行效率的秘密武器

华为云开发者联盟

鸿蒙 硬件 中断 鸿蒙轻内核 中断信号

“扯皮”终结者,区块链帮农民工计薪水

CECBC

有点难的 webpack 知识点:Dependency Graph 深度解析

范文杰

webpack 6月日更

SMT产线可视化管理,智能工业助力全渠道优化

一只数据鲸鱼

数据可视化 智慧工厂 SMT 智慧工业

五大新品+两大黑科技,看华为云如何升级基础设施让用户“躺平”

华为云开发者联盟

云原生 基础设施 实景三维建模 计算实例C7 分布式云

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