Editable - 拡張可能なリッチテキストエディタフレームワーク
(github.com/editablejs)contenteditable属性の代わりにカスタムレンダラーを使用し、ブラウザ/プラットフォーム互換性の問題を回避- 安定性、制御性、パフォーマンスを重視した設計
- 現在はレンダリングに React を利用
- Vue、Solid-js、SvelteJS などとも比較したが、現時点では最も開発者体験が良く、柔軟で、エコシステムも優れている
- ただし、パフォーマンス改善のため、今後はネイティブ DOM レンダリングへリファクタリングが必要
- 多様なプラグインをサポート
- ショートカット、Markdown、コンテキストメニュー、配置、コードブロック、フォント、見出し、画像、リンク、リスト、メンション、テーブル、..
3件のコメント
Typora 号泣
FacebookのLexicalも思い出しますね
https://ja.news.hada.io/topic?id=6380
slate の構造をそのまま使っているそうですね。新しい設計をしなくて済む点や、もし slate 形式でデータを保存しているなら、エディタを変更する際にも便利そうです。
テキストエディタはブラウザや OS との互換性が本当に難しいですが、これは新しいアプローチですね。
Android での日本語入力も問題なく動きますし、Selection クラスは本当に扱いづらかったので、いっそ作り直してあるのを見ると、開発時に楽そうです。(実際に
getSelection()を試してみると、選択した範囲が取得できません)初回読み込み時の性能改善は必要そうですが、クリティカルというほどではなさそうです。