Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Technologies for developing editors / Webエディタ開発を支える技術

did0es
January 19, 2023

Technologies for developing editors / Webエディタ開発を支える技術

MuddyWeb #4 19:00 - 19:20「Webエディタ開発を支える技術」の資料です。

株式会社CAMがOSSとして開発を行っているpde.js( https://github.com/cam-inc/pde.js )について、生まれた背景や内部実装、これを用いたWebエディタ開発などのmuddyな部分をお話します。

Speaker: Hirai Shuta( @did0es: https://twitter.com/did0es )
Event URL: https://cyberagent.connpass.com/event/270629/

did0es

January 19, 2023
Tweet

More Decks by did0es

Other Decks in Technology

Transcript

  1. Editor.jsプラグイン実装の課題と問題 • 書き方にばらつきがある ◦ 宣言的な記述と命令的な記述が混在している • 命令的な記述はコードの維持が難しい ◦ 可読性が下がりがち ◦

    コードの実行順から UI の状態を推測しづらい ◦ データ変更のタイミングが分かりづらい • データの管理が難しい ◦ エディタはデータの入出力が多い ◦ HTMLのデータ属性にこのデータを詰め込みたくない(...ですよね?)
  2. 課題と問題に対する解決アプローチ • 書き方にばらつきがある ◦ 宣言的な記述と命令的な記述が混在している • 命令的な記述はコードの維持が難しい ◦ 可読性が下がりがち ◦

    コードの実行順から UI の状態を推測しづらい ◦ データ変更のタイミングが分かりづらい • データの管理が難しい ◦ エディタはデータの入出力が多い ◦ HTMLのデータ属性にこのデータを詰め込みたくない(...ですよね?)
  3. 課題と問題に対する解決アプローチ • 書き方にばらつきがある ◦ 宣言的な記述と命令的な記述が混在している • 命令的な記述はコードの維持が難しい ◦ 可読性が下がりがち ◦

    コードの実行順から UI の状態を推測しづらい ◦ データ変更のタイミングが分かりづらい • データの管理が難しい ◦ エディタはデータの入出力が多い ◦ HTMLのデータ属性にこのデータを詰め込みたくない(...ですよね?) 宣言的に書けるような 記法を提供する データ管理向けの 仕組みを提供する
  4. ライセンス • pde.js: Apache-2.0 License ◦ ライセンス ◦ Editor.jsのサブセットとして、Editor.jsのライセンスに倣った •

    Preact: MIT License ◦ Preactをインストールしないので、自前で記載が必要。 ◦ Preactのオリジナルのライセンス文と、そのリンクをコメントで挿入。 ◦ sourcemapとして書き出して配信。