在线文档编辑器 - 我从哪里开始,以什么开始?

时间:2012-07-18 21:00:55

标签: java javascript architecture product

我计划构建一款产品,让用户可以使用Google Docs今天所做的事情(虽然不如微软那么好) - 编辑word文档。我不能使用Google Docs的原因是因为我需要在它上面构建一些新东西 - 比如注释支持/元数据支持等等。

所以,如果我从头开始,这将是一项多大的任务?我可以从一些花哨的JS库开始并扩展它们吗?例如,雅虎管道,非Flash,纯JS / HTML5 +基于ajax的Web应用程序。是否有我可以使用的开源替代品?

2 个答案:

答案 0 :(得分:3)

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

  1. 保持模块化(或至少尝试)。尝试 Sea.js 分隔内容并按需加载。
  2. 您需要一些编辑器来编辑文档的文本: TinyMCE,CKEditor,jWysiwyg 等(所有这些都使用iframes和contentEditable属性来动态更改页面内容)。
  3. 一些代理服务器,用于交换有关文档的信息(并保留有关文档的信息)。根据所需的性能,您可以从 Apache和PHP和MySQL (Windows WAMP包)开始。 2.a对于php服务器端,你需要一些框架来将你的逻辑放在一起。也许 Symfony2,CakePHP 或其他 MVC 框架(很酷使用)。
  4. 对于实时更新,您可以使用 Node.js IOsocket(WebSockets)在用户之间创建对等通信(一个更改文本,另一个看到它立即)。只有 HTML5 浏览器。
  5. 所需的工作量取决于您对此项目的要求。首先创建规范,收集需求,分析问题,实现,然后测试它。 4.对于测试,您可以使用一些无头测试框架(仍然使用节点),jstestdriver等。

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

答案 1 :(得分:1)

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

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