2011-06-23 17 views
0

dojoスタイルのコーディングが初めてです。純粋なjavascriptとjQueryスタイルに慣れました。Dojoスタイルのコーディング

  • Dojoは、クロージャーコンパイラで使用すると最も効果的です。
  • 高度な道場は、私が

    • dojo.require()で問題抱えている手続き型

    よりOOである - 私は道場のためのプラグインをダウンロードするたびに、私はエラーを取得する - 404されていません見つけた。開発の時間の半分は、この問題を修正し、jsファイルを取得し、それをその場所に置くことになります。

  • また、jQueryのようにdojoオブジェクトを拡張することも可能です。内部ではjQuery.fn = jQuery.prototypeと定義されている$ .fn.somefunctionを使用してルートjqueryオブジェクトを拡張します。道場に似たものがありますか?
  • 私はdojoのドキュメントがjQueryほど良くないと感じています。
  • dijitとdojoxとは何ですか? Google apiライブラリからdojo.jsをインポートしてから、dojoでプラグインを使用すると、これらのdijitとdojoxは常に問題になりました。

助けが必要です。私は、jQueryからdojoに少数のプラグインを移植しています。これらのプラグインはdojoでは使用できません。

dojoを使ってコーディングするときにライブラリ全体を使用してから、コンパイルして最適化されたコードを取得し、必要に応じてエクスポートする必要があります。私はここにいますか?そうでない場合、私は何を間違っているのですか?

+0

あなたの投稿に3つの異なる質問があると思います(3番目の箇条書きはカウントされません)、最初のコードはあなたのコードを見ることなく答えられないでしょう。それ以外の場合は、 'dojo.extend()'を使用してプロトタイプを拡張します.DijitはUIライブラリであり、DojoXは拡張リポジトリです。 [リファレンスガイド](http://dojotoolkit.org/reference-guide/)を参照してください。思慮深い答えをお寄せいただきありがとうございます。 –

答えて

8

1)dojo.requireは、XHR要求によって必要なファイルを自動的にダウンロードします。手動で何かをダウンロードする必要はありません。 GoogleのCDNを使用する場合は、すべてのクラスがそこからダウンロードする必要があります。あなたのローカルアプリケーションに完全なパッケージをダウンロードし、そこから使用することをお勧めします。後でBuildを作成することをお勧めします。あなたも読む必要がありますStarting with Dojo

2)jQueryのようなDojoを強化することは意味がありません。 dojoは一番上の名前空間で、その下にはdojo.Animationdojo.behaviordojo.Deferreddojo.NodeListなど多くのクラスがあります。機能の一部はdojo.connect()dojo.style()です。

dojo.declareに新しいクラスの外観を作成する場合は、 dojo「名前空間」または他の名前空間の下に新しいクラスを作成することもできます。

dojo名前空間に新しい機能を追加する場合は、dojo.new_function = function(){}と入力するだけです。通常のJavaScriptと同様です。しかし、私はそれをお勧めしません。 Dojoの後のバージョンにアップグレードすると問題が発生する可能性があります。

jQueryとDojoは完全に異なります。 $('.data')のようなものをjQueryに入力すると、クラス "data"を持つすべてのdomノードがフェッチされ、jQueryクラスにwrapされた新しいオブジェクトが返されます。

Dojoでは、同じ効果のためにdojo.query('.data')を使用します。しかし、それはタイプdojo.NodeListの新しいオブジェクトを返します。チェーン機能に新しい機能を追加する場合は、dojo.NodeListを拡張する必要があります。

dojo.NodeList-fxのように、アニメーションエフェクトをdojo.NodeListクラスに追加するような拡張子が既にあります。 dojo.require()をクラスにロードすると、dojo.Nodelistが自動的に拡張されます。詳細については、Extend dojo.NodeListを参照してください。

3)ドキュメントは非常に良いです。あなたが求めたものはすべて文書化されており、Dojoのメインページで完全に見つけたいくつかのリソースを提供しています。違いは、Dojoは、GUI、レイアウト・システム、ウィジェット、データ抽象化などの完全なツールキットであり、その他の非常に高レベルのものです。そんなことで決して仕事をしていないのであれば、そんなにたくさん含まれているから始めるのは難しいかもしれません。 jQueryはこのようなものを提供しません。だから時にはそれで始めるのが簡単かもしれません。ドキュメントの外観については

4)道場ではJavaScript dojodijitdojoxで3つの名前空間を使用するツールキットです。 dojo名前空間には、I18N、L10Nのフレームワーク、dojo.datadojo.storeのようなモデル抽象化のような、後ほど皆さんが使用するものが含まれています。

ちょうど "dojo.js"ファイルをロードするだけで、dojoが提供するすべてのものを提供するわけではありません。

dijit名前空間には、Dojoに多数のウィジェットが含まれています。 dijit名前空間内のすべてのウィジェットは、完全なI10NとL10Nをサポートしています。 dijitには、ダイアログ、レイアウトシステム、カレンダー、ボタン、選択フィールド、ラジオフィールドなどのウィジェットが含まれ、WYSIWYG Editor under dijit.Editorが含まれています。

Dijitに含まれている内容についてはDijit Theme Editorもご覧ください。 dijitに基づいてレイアウトを含む完全なサイトが完成しました。

dojox名前空間には、dijitに収まらない、または実験的な多くの追加機能が含まれています。しかし、すべてが実験的なものではありません。 SVG、Canvas、VRML、SilverlightまたはFlashを使用するクロスブラウザグラフィックスを作成するには、dojox.grid.DataGridまたはdojox.chartingStart ChartingAdvanced Charting)またはdojox.gfxなどのシステムがあります。

dijitとdojoxに含まれるものを(小)概要にするには、Beyond Dojo's Coreを調べてください。

+0

@Boopathi、Dojoは、ストレートJavaScriptのスタイルにもっと近いものになるでしょう。そのため、これらの点で構文がより快適になるはずです。 Sidが述べたように、DojoをjQueryのように使用する方法については考えないでください。 Dojoがより良いオブジェクト指向の能力を提供するというあなたの研究に基づいて自分自身を言ったので、オブジェクト指向の開発者のように思うように促すはずです。個人的には、連鎖コマンドのプロモーションが次々にOOになっていくとは思わないが、かなり手続き的なようだ。 Dojoは大きくて強力なツールキットですが、時間がかかります。 –

関連する問題