写点什么

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

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

关注

评论

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

【愚公系列】2022年12月 微信小程序-Component组件

愚公搬代码

12月月更

排查Linux恶意进程

灵霄

建筑中如何使用3D可视化?

3DCAT实时渲染

云计算 3D可视化 智慧建筑 BIM

如何选择正确的哈希算法?

Jackpop

刨析一下C++构造析构函数能不能声明为虚函数的背后机理?

eng八戒

继承 纯虚函数 C++

Fuzzing(模糊测试)的前世今生(上)

云起无垠

2022-12-02:有a块草莓蛋糕,有b块芝士蛋糕,两人轮流拿蛋糕, 每次不管是谁只能选择在草莓蛋糕和芝士蛋糕中拿一种, 拿的数量在1~m之间随意, 谁先拿完最后的蛋糕谁赢。 返回先手赢还是后手赢。

福大大架构师每日一题

算法 rust 福大大

实时渲染正在改变可视化游戏

3DCAT实时渲染

云计算 云服务器 云算力 渲染引擎 渲染

这才是Git的正确学习方式!

Jackpop

C语言怎么给函数添加形参的默认值

eng八戒

c 函数 参数默认值

直播 | 数据仓库?数据湖?停止纠结,流批融合的极速 Lakehouse来了!

StarRocks

#数据库

Fuzzing(模糊测试)的前世今生(中)

云起无垠

3月寒窗!啃透美团保姆级分布式进阶技术手册,4月终入美团定L8

程序知音

Java 分布式 java架构 后端技术

AngularJS进阶(十四)AngularJS路由问题分析

No Silver Bullet

路由 AngularJS 12月月更

Python初学者必备!适合新手阅读的Github开源代码。。。

Jackpop

日期格式化 YYYY-MM-DD 出现时间偏移量

HoneyMoose

太简单了,一文彻底搞懂Jenkins的用法!

Jackpop

easyrecovery2023手机版数据恢复软件下载

茶色酒

EasyRecovery EasyRecovery15 easyrecovery2023

Python初学者必备!适合新手阅读的Github开源代码。。。

Jackpop

信号量的无序竞争和有序竞争

eng八戒

c Linux Kenel 信号量 C++

看完这篇,还不懂JAVA内存模型(JMM)算我输

JAVA旭阳

Java 并发

Linux Network RSS RPS 疑惑

Geek_f24c45

container network veth RPS

cmake 入门笔记

eng八戒

c makefile 工程管理 cmake C++

33K Star!这才是程序员需要的神器。。。

Jackpop

守护安全|AIRIOT城市天然气综合管理解决方案

AIRIOT

物联网 天然气

ElasticSearch 低成本高可用最佳实践

冰心的小屋

elasticsearch 高可用性

EasyRecovery2023个人免费版电脑数据恢复软件

茶色酒

EasyRecovery easyrecovery2023

一文了解 Go 接口

陈明勇

Go golang 接口

Linux 定时器介绍

eng八戒

c 定时器 Linux Kenel C++

Fuzzing(模糊测试)的前世今生(下)

云起无垠

网络安全 漏洞挖掘 Fuzzing 模糊测试

如何远程Debug内网(或者防火墙后)的Java服务

石臻臻的杂货铺

Java debug 后端

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