LoginSignup
7
3

More than 3 years have passed since last update.

オンラインワープロの編集部分がDIVなのかSVGなのか表

Last updated at Posted at 2018-09-24

Google Docs等オンライン上で共同編集できるワープロ類は多く、個人的にも作ってみたいので比較。

結果

実装 描画部分
Google Docs DIV → Canvasに移行予定
Microsoft Office online / Office 365 DIV 内の P
Apple iCloud Pages SVG 内の G 内の TEXT

なんとiCloudのPagesがSVGベースという驚きの結果。。TeXのような既存のタイプセッタとの統合を考えると、地味に有力な選択肢な気がしないでもない。

Wordは比較的HTMLに素直な実装。

Google Docsは中間的。まぁコンテキストを保持しないといけないようなシチュエーションでも無いので、DIVSPANでどうにかする方向性もそれほど間違っては居ないんじゃないだろうか。 追記: Google DocsはCanvasに移行予定 https://workspaceupdates.googleblog.com/2021/05/Google-Docs-Canvas-Based-Rendering-Update.html

ToDo

Onlyofficeはreadonlyのオンラインデモを見る限り描画面やカーソルが <canvas> で描画されており興味深い。いやまぁ AGPL3 なんだし実装読めば良いんだけど。 https://github.com/ONLYOFFICE/DesktopEditors

実装比較

Google Docs

SnapCrab_NoName_2018-9-24_18-11-48_No-00.png

日本語化されてないんだっけ?普通の実装と言える。

SnapCrab_NoName_2018-9-24_19-51-52_No-00.png

編集pingは特になく、Google Analytics同様表に表示する等のimpressionのトラッキングを行っている。OPTIONS等のHTTP語彙も使用する。OfficeやiCloudに見られるような長期pollingも無い。帯域に配慮?

Microsoft Office Online

SnapCrab_NoName_2018-9-24_18-10-10_No-00.png

名前がひらがななのは、漢字にすると何故か"不適切な名前"と怒られるため。バルガリティフィルタに引っ掛るような名前に産まれたつもりは無いんだけど。。

MS Wordの再現性が地味に高い。MSはいわゆるAJAXを生んだXMLHTTPRequest(XHR)実装の本家でもあり、XHRはOffice Onlineの先祖にあたるOutlook WebAppで使うために作られた。Outlook WebAppも登場当初からそれなりに再現性の高い実装をWebブラウザ上で実装していた。

SnapCrab_NoName_2018-9-24_19-55-12_No-00.png

なぜか編集中のpingアドレスは OneNote になっている。長期pollingは30秒程度。

Apple iCloud Pages

  • https://support.apple.com/kb/PH14665
    • 公式サイト ..? iCloudが使えるAppleIDを持っていれば、 https://www.icloud.com/ でログインすることで使うことができる。
    • 2000年代前半にAppleIDを取得した場合、ドットや他の特殊文字をIDに入れることができてしまったためiCloudが使えないことがある。

SnapCrab_NoName_2018-9-24_18-13-57_No-00.png

編集面はSVGで実装されており、カーソルも普通にSVG的なRectで描画され、点滅は visibility: hidden の切り替えで行っている。ただし、右ペインの編集コントロールは普通にDIV等のHTML語彙で描画されている。

テキストの編集を開始すると、自動的にText要素は分割される。つまり、 contenteditable 的な意味で編集しているオブジェクトは常に空か、IME的なpreeditの内容だけということになる。リガチャ等は欧文固有の事情で、欧文ではキータイプ毎に変更が即反映されるのでこのデザインによって見た目が損われることは無い。(Zapfinoのような大きなフォントで f とか fi を入力してみるとわかりやすい。内部的には fi のようなUnicode合字に自動的にcomposeされる。)

SnapCrab_NoName_2018-9-24_19-54-9_No-00.png

通信には1分ものlong pollingが有る。用途は謎。

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3