Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【軽量化】plugin_system.js と plugin_browser.js の命令を別のプラグインに移す #567

Open
kujirahand opened this issue Aug 16, 2020 · 3 comments

Comments

@kujirahand
Copy link
Owner

kujirahand commented Aug 16, 2020

#471 に関してのタスク。

サイズ削減作として、抜本的な対策として、plugin_system.js と plugin_browser.js の命令で、サイズが大きいものを別のプラグインに分割したいと思います。

よく使われている命令というのは、たぶん、現状の30%以下だと思います。
各命令の人気順が出ているので、これを参考にしつつ、あまり使わない命令を別のプラグインに分割して、動的ロードしてもらうようにする。

@weyk
Copy link
Contributor

weyk commented Aug 21, 2020

plugin_*の分割について、いろいろいじりまわしていた中で思ったことを書いておきます。
・バージョン番号は、systemから、nako_version等を作成してそちらに移した方が良いのではないか。
 バージョン番号の参照のために、errorがplugin_systemを取り込んでいるのは、nako3をライブラリとして考えると、逆方向への参照に感じる。
・外部モジュールとなる、daysjsと、csv-liteなどを含む機能グループは、それぞれ外に出す(依存のある部分のとじこめ)
・カレンダ関連の命令グループに、秒待つや分待つがあるが、個人的にはカレンダではなく処理実行系の方がしっくりくる。
 (ので、daysjsを外部化する際は、一緒に秒待つや分待つを追い出さなくてもいいかな と)
・plugin_systemの、pluginで利用できるsys.__*の内部関数は、plugin_systemから外に出して、どのpluginからとも独立して利用可能にした方が便利そう(可能ならば、plugin実装者向けのAPIとして仕様化)

動的にpluginが取り込めるなら、命令グループ単位ぐらいに細分化して、どのpluginを取り込んで使っているのかは、ソース上でわかる(pluginなしのwnako.jsだけあればよい) となっていてもいいかな と思います。
可能ならば、集約した、pluginも欲しいですが(pluginを複数取り込むだけのplugin。標準セットpluginとか)

@kujirahand
Copy link
Owner Author

@weyk 貴重な意見、ありがとうございます。

確かにその通りで、まずは、バージョン番号、どのプラグインでも使うAPIなどを別ファイルに分割するという、簡単にできるところから着手したいと思います。

@kujirahand
Copy link
Owner Author

caniuse-db, csv-lite, daysjsを後から動的ロードするように工夫するようにします。

@kujirahand kujirahand changed the title plugin_system.js と plugin_browser.js の命令を別のプラグインに移す 【軽量化】plugin_system.js と plugin_browser.js の命令を別のプラグインに移す Dec 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants