写点什么

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

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

关注

评论

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

混搭的美感|靠谱点评

无量靠谱

博睿数据携数据链DNA创新理念,闪耀金融科技应用发展研讨会四川站

博睿数据

新疆重点人员管控平台搭建,可视化大屏

面向软件 IT 专业的高校大学生付费学习现状问卷调研

Albert

4月日更

图解 Docker 架构

xcbeyond

Docker 容器 4月日更

2021年3月券商App行情刷新及交易体验评测报告

博睿数据

低代码与数字化校园应用案例:2周时间构建50+应用,直呼过瘾!

优秀

低代码 数字化校园

Redis学习01

Hex

Redis 核心技术与实战

免费开源增强版 Elasticsearch 分支 OpenSearch 项目上线!现邀您加入开源社区!

亚马逊云科技 (Amazon Web Services)

悟透前端:JavaScript ES6模块的导入导出

devpoint

ES6 export export default

一个诡异的MySQL查询超时问题,居然隐藏着存在了两年的BUG

CoderW

Java MySQL 数据库 程序员 互联网

打造创新模型,博睿数据首倡服务可达的数据链DNA

博睿数据

恒源云_Gpushare.com | 三步搞定GPU免费云端训练!

恒源云

人工智能 深度学习 gpu CV nlp

拒绝假货!LVMH与普拉达、卡地亚联手推出区块链平台AURA

CECBC

借力云原生,预见医学影像“云阅片”和电子胶片的未来 | 精选案例

亚马逊云科技 (Amazon Web Services)

Redis为什么是单线程?高并发响应快?

Linux服务器开发

redis Linux服务器开发 网络io C++后端开发 单线程

恒源云_Gpushare.com | RTX 3090独家训练实录:MMDetectionV2 + ResNeSt

恒源云

人工智能 深度学习 gpu CV nlp

什么是产品思维和产品意识?——课程总结

Deborah

IPFS云算力挖矿系统开发|Filecoin算力挖矿搭建

薇電13242772558

区块链 存储

如何深入的学习C语言

cdhqyj

编程 C语言 计算机 嵌入式

百度C++工程师的那些极限优化(内存篇)

百度Geek说

c++ C# 内存访问

JVM 读书笔记(二) 垃圾收集

U2647

JVM 4月日更

浪潮云洲链接入“星火•链网”,走向工业互联网的星辰大海

云计算

如何从零开始学Python:(6)如何创建模块并运行?

广之巅

Python 4月日更

Android Camera开发系列:设置对焦模式模式

小驰笔记

Camera; Android;

肝了15000字性能调优系列专题(JVM、MySQL、Nginx and Tomcat),看不完先收藏

北游学Java

Java MySQL nginx tomcat JVM

头条观察 | 从比特币的角度理解牛市暴跌

CECBC

比特币

在数字化迁徙浪潮中,数据可信、数据共享、数据隐私安全缺一不可!

CECBC

大数据

区块链“进军”文娱产业将碰撞出哪些火花?

CECBC

娱乐

对话亚马逊云科技 WWSO 团队四位大咖,给你讲讲他们的职场故事~

亚马逊云科技 (Amazon Web Services)

Ask Me Anything #1 我是新晋CNCF TOC张磊,你有什么想问我的?

阿里巴巴云原生

容器 开发者 运维 云原生 k8s

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