BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Buzzword –使用Adobe Flex / AIR构建的RIA文字处理器

| 作者 Jon Rose 关注 0 他的粉丝 ,译者 曹云飞 关注 0 他的粉丝 发布于 2007年12月4日. 估计阅读时间: 10 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

Adobe最近投资了基于web的文字处理器 —— Buzzword的创建者Virtual Ubiquity公司。InfoQ.com联系了Adobe系统公司的David Coletta和Tad Staley以了解该产品,使用Adobe Flex来开发Buzzword的挑战和好处以及Buzzword的远景规划。

Coletta和Staley为InfoQ.com提供了Buzzword产品的特征和架构的概况:

Buzzword是使用Adobe Flex构建的一个基于web的字处理器。Buzzaword看起来用起来都象一个正规的字处理器,但是它是在一个web浏览器中运行的应用。Buzzword结合了桌面字处理器的丰富用户体验,和其它基于web的字处理器的随处访问和协同工作的能力。
没有其它的在线字处理器可以提供这么丰富的用户体验,因为在线字处理器受到HTML和JavaScript功能的限制。
Buzzword提供的丰富用户体验,包括随着每次击键即时进行的字母间距微调和重新分页。Buzzword还提供了在文档中简单而强大的操作图像的功能,包括通过拖拽来放置图片和改变图片的大小。Flash Player 9的性能有了显著的提高,这使得通过拖拽来放置图片和改变图片的大小是可行的。
Buzzword对于公众是免费的,请访问www.buzzword.com

关于为什么会选择AIR/Flex平台来开发Buzzword的问题:

在2005年我们开始评估候选平台的时候,我们考虑的基于浏览器的软件开发的平台包括Microsoft .NET,Java,AJAX (HTML + JavaScript)以及 Flex 1.5 on Flash Player 8。(当时Flex2.0的beta版还不可用,Flash Player 9正在开发中。)我们理想的开发平台必须具备的因素包括:普遍性(即在Windows,Mac和Linux都可用的平台),零安装,支持富文本和图形,以及高性能。上述的平台没有一个满足所有的条件,当时我们认为也许我们要做的是不可能的事情。
当Flex2.0的第一版和Flash Player 9在2005年秋季上市的时候,我们更新了我们的原型产品,发现Flash平台的性能有了非常显著的提高。我们马上意识到是可以Buzzword可以实现的,而Flash/Flex平台是唯一的选择。

接下来,Coletta和Staley被问到使用Flex开发Buzzword过程中遇到的挑战:

我们遇到了(并克服了大多数)相当多的挑战。这里有一些例子。
一个严重的技术挑战是,虽然Flash/Flex环境是完全可移植的并且在不同的操作系统和浏览器中工作良好,但是Flash沙箱有许多限制——完整的键盘支持以及在Flash/Flex环境中的富文本剪贴板——这些功能必须使用浏览器中的JavaScript来实现。使用JavaScript会限制我们能支持的浏览器数量,使得我们难以跟上我们所支持的浏览器的更新的步伐,总体上损害了采用Flash所带来到普遍性。
此外,宿主浏览器的工具栏和菜单栏与Buzzword竞争屏幕面积,这削弱了Buzzword的优雅的编辑方式的效果。幸运的是,Adobe AIR平台通过提供对键盘事件和系统剪贴板的直接访问,给我们完全控制窗口的能力,使得我们得以克服在浏览器内运行应用的限制。
另一个技术挑战是不使用后台线程来保持Buzzword的用户界面响应能力。在Flex开发中使用的编程语言ActionScript 3,根本上是单线程的,对于所有的网络操作都需要异步的来完成功能。在一个单独的线程中执行费时的后台操作,是保持用户界面的响应能力的一种常见技术。由于我们不能这样做,我们不得不采用其它技术来保持用户界面响应能力,这些技术有时候是笨拙而且难以实现和维护的。(但是众所周知,多线程编程是很容易出错的,所以这个限制并不是一点益处都没有。)
在开始设计的时候,在简洁和恰如其分地使用视觉效果之间作出正确的平衡是个巨大的挑战。Flash和Flex提供了非常丰富的动画和过渡,只要在应用用户界面的某个区域使用了一个动画,就必须全局地考虑如何有效安排整个应用的视觉表现。类似的,我们在界面设计的一些关键领域作出了革新,例如Buzzword的格式化工具栏,文档滚动栏和合作者栏,同时努力在视觉革新和一致性之间保持平衡。

InfoQ.com询问是否有什么东西Coletta或者Staley希望增加到Flex和/或者AIR中:

Flex和AIR有许多可能提高之处,但是许多现有的约束是必要的而且非常难以克服的,所以单纯的愿望是没有意义的。一项有用而且现实的改进是一个用于在运行时编译和运行ActionScript的工具。

Coletta和Staley对于打算采用Flex和/或者AIR的用户提供了如下建议:

当你寻找天才的时候,不要太关注他是否有Flash或者Flex方面的背景。Buzzword团队没有一个成员在开始Buzzword项目之前使用过Flash或者Flex。相反,雇佣有很强的面向对象软件开发的背景,有Java、C++或者C#语言经验的高手是更好的选择。他们会发现ActionScript 3和基于Eclipse的Flex Builder环境是非常舒适和熟悉的。

接下来Coletta和Staley被询问了有关Adobe投资的情况:

Buzzword的愿景的一个关键部分是在web上提供优雅的用户体验,这导致了我们评估并选择Adobe的Flex作为开发环境,我们的应用部署在Flash平台上。
当Adobe发现了Buzzword团队在他们的平台上做的工作,包括在最近宣布的Apollo(现在的AIR)平台上的一个早期版本后,Virtual Ubiquity在2006年秋季成为Adobe风险投资基金投资的第一个项目。
Buzzword团队认识到为了应付拥挤而混乱的新市场,我们必须与一家成熟的软件公司合作来得到某种公司运作的稳定性和产品的市场曝光,以有效的推动Buzzword进入市场。
Adobe是一个显而易见的选择——不仅仅是因为Buzzword构建于Adobe伟大的Flash平台之上,而且因为Buzzword与Adobe的传统十分吻合,两者都与伟大的设计和文档相关。我们相信与Adobe一起我们真的可以创造奇迹,并且在许多方面帮助Adobe。Adobe对于未来有一些令人激动的计划,而Buzzword已经准备好在Adobe日益增长的web应用与协同工作方面的解决方案中扮演重要的角色。欲得到更多的关于Adobe投资的信息,请查阅Adobe网站的新闻与FAQ。

Coletta和Staley谈论了Buzzword的将来:

Buzzword将继续作为一款字处理器软件而发展——我们渴望实现一些伟大的设计和创新,例如变化跟踪和给样式命名。因为Buzzword是在线交付的,所以我们能够定期更新它——我们设定了一个6~8周的更新周期,这样我们可以把握可以预见的未来。
我们还希望最近可以增加导出PDF的功能。这是在Adobe的投资公开之前从我们的用户那里得到的一个需求。
作为Adobe的一部分,我们渴望在许多领域扩展Buzzword。当然,首先是AIR平台,我们希望不仅仅使得用户可以离线使用Buzzword,而且会提供一个更干净的用户界面(没有浏览器的烦扰)甚至与桌面更紧密的集成。
除了AIR,Adobe的协同工作平台和正在发展的主机应用会为Buzzword提供一套完美的丰富的功能集补充,为在线协同工作提供一个伟大的环境。

Buzzword为使用Adobe Flex构建一个真正的富互联网应用提供了一个出色的样板。Coletta,Staley和Buzzword团队的经验会帮助那些正在评估RIA技术前景的人。

查看英文原文Buzzword - RIA Word Processor: Built Using Adobe Flex / AIR
译者简介: 曹云飞,西安交通大学计算机软件硕士。现就职于Ethos,热衷于新技术的钻研,软件架构与敏捷开发,目前从事Home Control方面的工作。参与InfoQ中文站内容建设,请邮件至china-editorial[at]infoq.com

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT