写点什么

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

  • 2007-12-03
  • 本文字数:2942 字

    阅读完需:约 10 分钟

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

2007-12-03 13:001621
用户头像

发布了 47 篇内容, 共 10.6 次阅读, 收获喜欢 3 次。

关注

评论

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

F5搭载NVIDIA BlueField-3 DPU赋能加速 AI 应用交付

科技热闻

AI赋能,中国企业管理软件崛起正当时

人称T客

CST软件发展历程—完备的技术

思茂信息

求解器 cst cst仿真软件

又是一年双11,火山引擎数据飞轮助力品牌激活“老客”、拉来“新客”

字节跳动数据平台

Docker启动失败报错Failed to start Docker Application Container Engine解决方案

百度搜索:蓝易云

企业选项目成本管理系统时应看哪些?9款工具介绍

爱吃小舅的鱼

项目成本管理系统

MyBatis获取参数值的两种方式#{}和${} 以及 获取参数值的各种情况

百度搜索:蓝易云

如何使用OPA(开放策略代理)管理您的API策略

Gingxing

kong API网关 Kong 网关 消息网关 Kong Gateway

《智能文档处理“百宝箱”:数字化时代文档处理的必备利器》

袁袁袁袁满

人工智能 AI 图像识别 大模型

人工智能 | 语音识别模型

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

测试

保障IT资产安全的四个小妙招!

行云管家

IT资产 IT 运维

寻找免费项目管理工具?2024年8款选择

爱吃小舅的鱼

项目管理工具

实时监控商品信息api接口,加速迭代优化:助力商家产品持续精进之路

代码忍者

API 接口 pinduoduo API

携手火山引擎,易点天下AI布局加速拓展

新消费日报

时尚零售企业商品计划管理的数字化之旅

第七在线

深度解读RDS for MySQL 审计日志功能和原理

华为云开发者联盟

MySQL 数据库 华为云RDS for MySQL 审计日志

03MyBatis-Plus中的常用注解

百度搜索:蓝易云

审计考核系统(源码+文档+部署+讲解)

深圳亥时科技

百度智能云千帆 AppBuilder 大模型应用开发解读

百度Geek说

智慧环保系统(源码+文档+部署+讲解)

深圳亥时科技

BY林子的“软件质量与测试”赋能体系

BY林子

质量管理 软件测试 软件质量 质量赋能

数字身份发展趋势前瞻:无密码认证

芯盾时代

数字身份 身份安全 iam 统一身份认证

VictoriaMetrics 中文教程(10)集群版介绍

巴辉特

Victoriametrics VictoriaMetrics教程

使用终端MobaXterm连接Centos

百度搜索:蓝易云

《使用Gin框架构建分布式应用》阅读笔记:p234-p250

codists

golang gin 编程人 codists

php中mcrypt_encrypt升级到openssl_encrypt

百度搜索:蓝易云

结合AI的低代码平台:提升生产力与创新力的双重利器

天津汇柏科技有限公司

低代码 AI 人工智能

日喀则等保测评机构有哪些?电话多少?

行云管家

网络安全 等保 日喀则

试验协同管理平台(源码+文档+部署+讲解)

深圳亥时科技

面向 Data+AI 的统一数据目录探索 | Data Infra NO.22 回顾(含资料发布)

Databend

C#使用Socket实现分布式事件总线,不依赖第三方MQ

沙漠尽头的狼

Buzzword –使用Adobe Flex / AIR构建的RIA文字处理器_Java_Jon Rose_InfoQ精选文章