Google Closure Editor/WYSIWYG

2020-05-23 08:18发布

问题:

Does anyone have experience with Google Closure Editor/WYSIWYG? I'm thinking of moving from CKEDITOR to Google Closure Editor/WYSIWYG. Ideally I'd love to use the etherpad editor but it doesn't appear that anyone has separated the editor from all the app.

Anyhow, for Google Closure Editor/WYSIWYG, does anyone know, does it support the real-time collaborative aspects seen in Google Docs?

回答1:

The Google Closure editor is a wrapper around the built-in browser editing capabilities. It is thus similar to other rich text editors like TinyMCE, CKEditor, etc. It is less feature-rich than either of those, but it's smaller and faster. The base editor is used by Gmail (most notably) and various other Google properties.

There is nothing within the public Google Closure editor to enable Google Docs style real-time collaboration. With that said, it has a plugin model which enables you to add new functionality. I would not recommend taking something like this on without a solid understanding of working with Google Closure.

Until recently, the editor was also used by Google Docs. However, the limitations of core browser editing technology became a barrier to innovation, so they built their own editing surface[1,2] (codenamed Kix). This editing surface is not included in Closure Library.

  1. https://drive.googleblog.com/2010/04/a-rebuilt-more-real-time-google.html
  2. https://drive.googleblog.com/2010/05/whats-different-about-new-google-docs.html


回答2:

It might not last, but there is a standalone version of kix up on github: https://github.com/benjamn/kix-standalone



回答3:

EtherPad Lite is the most viable option I've seen so far:

https://github.com/ether/etherpad-lite

Personally I favor this one, because:

  1. It's open source
  2. You can host your own
  3. Has few server-side dependencies (Node.js)
  4. It has an API, so you can build your app in any language

Attempting to steal Google's work is probably not a good long-term plan. (I'm also not convinced that having the client-side libraries actually helps you, in terms of the real-time collaboration feature, which depends heavily on the server-side.)