現在では、jQuery、Ext、プロトタイプ、MooTools、Dojo など、多くの JavaScript フレームワーク や制御ライブラリが存在します。これらはすべて、「javascript」を検索すると Google にリストされます。フレームワーク」の1ページです。このうち MooTools 以外は知っていますが、プロジェクトで使用したのは Ext と Dojo だけです。しかし、私は Ext があまり好きではありませんでした。パフォーマンスの問題があり、新しいバージョンには料金もかかります。
さらに、Ext が公式に提供するサンプルはすべて JavaScript を使用してコントロールの作成と初期化を行うため、1 つの HTML で 1 つの JavaScript が使用されるため、管理が非常に混乱します。そして、公式の例はベストプラクティスであるため、このモデルはあまり受け入れられません。私の目には、Dojo は顕著な欠点と利点を備えた男です:
欠点:
1. ドキュメントが非常に貧弱です。
2. CodeBase は非常に大きい (利点、欠点?)。
3. バージョンの進化は速く、バージョンが進化するたびに多数の API が変更されますが、これは十分に成熟していません。
利点:
1. 優れたコントロール開発フレームワークです。2. JavaScript のオブジェクト指向の側面を完全に体現しています。
EXT と Dojo を比較すると、EXT はコントロール ライブラリであり、Dojo はフレームワークだと思います。私が初めて Dojo に出会ったのはバージョン 0.3 で、大きく変わりました。しかし、私はそのコントロールについてすでに先入観を持っていたので、もうその使い方について話すことに興味はありません。カスタム コントロールとしての Dojo。 Dojo は非常に複雑ですが、単純に 3 つの層があると考えることができます:
1. 最下位レベルはコア APIコア API によって提供されるメソッドは、DOM、文字列、CSS、イベントなどに関連する操作を簡素化します。コア API には、Java のようなパッケージ概念とインポート メカニズムも実装されており、コードの編成と依存関係の管理が容易になります。
2. コア API に基づいて、「制御ライフサイクル」の概念が作成されましたこれは Dojo のハイライトであり、サードパーティが標準化された方法でコントロールを開発できるようにします。 Dojo に基づいて開発されたコントロールは、強い凝集性とオブジェクト指向の特性を備えています。
3. 2.をベースに開発された各種制御 Dojo が提供するコントロールも比較的完成度が高いですが、歴史的な理由により、詳しくは研究されていません。
Dojo のコントロールは、総称して DIJIT と呼ばれます。Hello World コントロールの Dojo バージョンを作成するには、次のことを詳しく知る必要はありません。
◆コントロールは JS クラスです。
◆すべてのコントロールは、_Widget またはそのサブクラスを継承します。_Widget クラスは、コントロールのライフサイクル管理機能を提供します。
◆_Tempulated も同時に継承できます このクラスを継承することで、コントロールにテンプレートをバインドして、コントロールの表示を記述することができます。 _Widget 基本クラスの概要1. ライフサイクル メソッド
_Widget は、Dojo フレームワークがコントロールを初期化するときに、「ライフ サイクル メソッド」と呼ばれる一連のメソッドを提供します。カスタム コントロールは、特定のメソッドを書き換えて独自の初期化ロジックを追加できます: