2

我计划构建一个产品,让用户可以做 Google Docs 现在正在做的事情(尽管不如微软做的那么好)——编辑 word 文档。我不能使用谷歌文档的原因是因为我需要在它之上构建一些新的东西——比如注释支持/元数据支持等等。

所以,如果我从头开始,这将是一项艰巨的任务?我可以从一些花哨的 JS 库开始并扩展它们吗?例如,像 yahoo 管道、非闪存、纯 JS/HTML5 + 基于 ajax 的 Web 应用程序。有没有我可以使用的开源替代品?

4

2 回答 2

3

它会是纯 JS 编辑器(在客户端)吗?如果是的话。

  1. 保持模块化(或至少尝试)。尝试Sea.js来分离内容并按需加载。
  2. 您需要一些编辑器来编辑文档的文本:TinyMCE、CKEditor、jWysiwyg等(所有这些都使用 iframe 和 contentEditable 属性来动态更改页面内容)。
  3. 一些代理服务器来交换有关文档的信息(并保留有关文档的信息)。根据所需的性能,您可以从Apache、PHP 和 MySQL(Windows WAMP 包)开始。2.a 对于 php 服务器端,您需要一些框架来整合您的逻辑。也许Symfony2、CakePHP或其他MVC框架(使用起来很酷)。
  4. 对于实时更新,您可以使用Node.jsIOsocket(WebSockets)在用户之间创建点对点通信(一个更改文本,另一个立即看到)。仅限HTML5浏览器。

所需的工作量取决于您对该项目的要求。首先创建一个规范,收集需求,分析问题,实施,然后测试它。4. 对于测试,您可以使用一些无头测试框架(仍然使用节点)、jstestdriver 等。

这是我首先想到的,祝你好运。

于 2012-07-18T21:13:43.460 回答
1

Google Docs 是一个庞大且看似复杂的应用程序。它从头开始实现了几乎所有内容,包括文本选择、插入符号、文本测量和定位,并且轻松完成了我在浏览器中看到的最好的工作。我认为,他们通过多年来投资于一支精英开发团队,已经做到了这一点。

即便如此,尝试编写 Google Docs 级别的东西几乎肯定是行不通的。您可以使用元素获得有限的编辑功能contenteditable,但驯服特定的野兽也是一项非常棘手的任务,我建议至少使用一个较大的编辑器(例如 CKEditor 或 TinyMCE)作为起点。

于 2012-07-18T23:20:12.900 回答