LABjs、RequireJS、SeaJSの違い


一、LABjsの核心はLAB(Loading and Blocking)である:Loadingは非同期並列ローディングを指し、Blockingは同期して実行を待つことを指す。LABjsは優雅な文法(scriptとwait)によってこの二つの特性を実現しました。コア値は性能最適化です。LABjsはファイルキャリアです。
二、RequireJSとSeaJSはモジュール搭載器であり、提唱するのはモジュール化開発理念であり、核心価値はJavaScriptのモジュール化開発をより簡単に自然にすることである。モジュール搭載器はファイル搭載器用にも格下げできますので、RequireJSとSeaJSを使って、LABjsの性能最適化の目的も達成できます。
三、RequireJSとSeaJSはともに優れたモジュール搭載器であり、両者の違いは以下の通りである。
1.両者の位置づけに違いがある。RequireJSはブラウザ側のモジュール搭載器になりたいです。また、Rhino/Nodeなどの環境のモジュール搭載器にもなりたいです。SeaJSはWebブラウザ端末に専念し、Node拡張によってNodeサーバ端2に走りやすくなります。両者の基準に違いがあります。RequireJSはAMD(非同期モジュール定義)仕様に従い、SeaJSはCMD(共通モジュール定義)仕様に準拠しています。ルールの違いは、二つのAPIの違いをもたらします。SeaJSはより簡潔で優雅で、よりCommunJS Modules/1.1とNode Modules仕様に近いです。3.両者のコミュニティ理念には違いがあります。RequireJSは第三者にリキュールJSをサポートするように修正する試みをしていますが、現在は少数のコミュニティしか採用されていません。SeaJSは強く押しないで、自主的にカプセル化する方式を採用して“海納の百川”に来て、現在比較的に熟しているカプセル化の策略にすでにありました。4.両者のコードの品質に違いがあります。RequireJSは明らかなバグがないので、SeaJSは明らかにバグがないです。5.両者はデバッグなどのサポートに違いがあります。SeaJSはプラグインにより、Fiddlerの自動マッピング機能を実現し、自動compboなどの機能を実現することができ、とても便利です。RequireJSはこの方面の支持がありません。6.両者のプラグインの仕組みに違いがあります。RequireJSはソースコードの中でインターフェースの形を取って、ソースコードの中にプラグインが残っています。SeaJSがとっているプラグインのメカニズムはNodeの方式と一致しています。自身を開放して、プラグイン開発者が直接にアクセスしたり、修正したりすることができます。
まだ細かいところの違いがたくさんありますので、多く話しません。
つまり、SeaJSはAPIから実現に至るまで、RequireJSよりも簡潔で優雅である。RequireJSがProttypeクラスなら、SeaJSはjQueryクラスです。最後に、RequireJSに敬意を表します。RequireJSとSeaJSはいい兄弟です。一緒にモジュール開発思想を普及させるために努力します。これが一番重要です。