道場2

Dojo 2は、2004年のDojoの最初のリリース以降にECMAScriptに追加された機能に従って、廃止された機能と一致する用語を削除することにより、Dojoの元のインターフェースを改良および拡張します。 Dojo 2の目標は、ECMAScript 5+のみをサポートすることです。 そのため、Dojo 1にありECMAScript仕様の一部となった機能は、フレームワークから削除されました。



Dojo 2はTypeScriptで書かれています。 これにより、Dojoユーザーは追加の静的型付けを利用でき、DojoをAMD、CommonJS、およびES6モジュール形式で公開して、あらゆる現代環境のネイティブモジュラーシステムで使用できます。

画像



Dojo 2の一般​​的なアプローチ



Dojo Toolkitは2004年、志を同じくするJavaScript開発者のグループによって立ち上げられました。彼らは、ホイールの再発明とブラウザーの不一致に関する松葉杖の作成にうんざりしています。



Dojo Toolkitの使命は、開発者がサポートしやすいWebアプリケーションを作成でき、各ブラウザーの不整合や癖を心配しないAPI関数の整合性と使いやすさを確保することです。



2007年にDojo 1.0をリリースし、継続的に開発を続け、現在JavaScriptの主流開発となっている概念を紹介しました。 当時、JavaScriptモジュール、Promises / Deferred、MVC、CSSプリプロセッサ、およびアセンブリシステムの使用は、多くの複雑で不要なものによって認識されていました。 ご存知のように、これらのことは今日のJavaScriptの開発の一部になっており、現在ほとんどのJavaScript開発者がこの方向での開発に取り組んでいることに非常に満足しています。



基本原則


次世代のJavaScriptフレームワークで何ができるかを考えるのに多くの時間を費やしました。 新しい機能を追加し、バージョン番号を増やして「Dojo 2」という名前を付けるだけでは十分ではありません。 将来の開発を決定する一連の基本原則が必要です。 JavaScriptの世界は、Dojoが生まれてから大きく変わりました。 フレームワークの使命は同じままですが、これを行う方法は非常に異なります。



モジュール性


現在(少なくとも今週)、JavaScriptの世界では、個別のパッケージに分割できるものはすべて分割する必要があると考えています。 たとえば、基本的なDOM操作とイベント処理だけが必要な場合は、まさにそれを行うパッケージを使用できます。



これは小規模なプロジェクトには適していますが、要求が増大し複雑さが増すにつれて、いくつかのソースからのパッケージがプロジェクトに追加されます。 後でパッケージを別のものと交換できるというアイデアは、ユートピアです。 大企業向けのソフトウェアを作成する場合、この方法で作業することはしばしば不可能です。 法務部門には純粋な知的財産が必要です。コードは使用前にレビューされ、法的に受け入れられます。



Dojo 2でのアプローチは、個々のパッケージと単一のDojo Toolkitの間の中間点です。 Dogriのコア機能を、dgrid、dstore、Internなどのパッケージとともに開発、ビルド、およびリリースします。 開発者は、必要なパーツを自由に使用して個別にアップグレードするか、Dojo Toolkitのアセンブルされたリリースを使用できます。 Dojoを共有することで、他の人がより簡単に貢献できるようになり、リリースが速くなり、痛みが大幅に軽減されます。



既存のエコシステムの使用


Dojoは多くの点で最初のものだったかもしれませんが、JavaScriptのマイクロライブラリとツールの急増を考えると、多くの場合、それが私たちのものであるという理由だけで私たち自身のソリューションをサポートする理由がありません。 同等またはより優れた実装がある場合は、その使用方法を検討します。 たとえば、Dojo 1.xの開発中に行ったように、DojoDocではなくJSDocを使用してコードを文書化します。



改善されたドキュメント


ドキュメントについて言えば、Dojo 1.xのドキュメントの改善に熱心に取り組みましたが、Dojo2のドキュメント要件はさらに高くなっています。 多くの点で、ドキュメントの問題はツールの不足が原因でした。 JSDoc、Markdown、GitHubなどの最新のソリューションを使用して、ドキュメントの品質とドキュメントの追加と更新の速度を向上させることができます。



継続的なJavaScriptプロモーション


最初に、Dojo 2はTypeScriptで作成されます。 ES6 / ES2015は多くの必要な改善をもたらしましたが、未完成のものがたくさんあります。 TypeScriptなどの言語では、言語に追加する前に拡張機能を追加できます。 次に、AMD、CJS、またはES6モジュールでトランスパイラーを簡単に構成できます。 これにより、言語自体を改善できますが、さらに重要なことは、開発者の作業を楽にすることです。



現代の環境


Dojo 2は、デスクトップブラウザーに加えて、できるだけ多くの最新のJavaScript環境をサポートすることを目指しています。 これは、携帯電話、タブレット、Node.js / io.js、VRヘッドセットなどをサポートすることを意味します。



ウィジェット


ウィジェットはDojo 1.xの主要な機能の1つでしたが、Dijitを導入してから多くのことが変わりました。 Dojo 2では、Dijit、ネイティブウィジェット、Webコンポーネントなど、まったく新しいアプローチを採用する方法を検討しています。 最初の焦点は、Dojo 2のコア機能を定義することです。その後、ウィジェットの一般的なアプローチの定義を開始します。



計画



Dojo 2のすべての部分にいくつかのステップで取り組みます。

デザイン。 コア機能とAPIを定義して、各Dojo 2パッケージの高レベルの「仕様」を作成します。

開発。 最初の手順で作成した仕様を使用して、機能を開発および文書化します。 次に、インターンを使用して、機能することを確認します。

リリース。 Dojo 2は、さまざまなモジュールのコレクションとしてパッケージ化されます。 各モジュールの完成により、Dojoバージョン2.0に近づきました。



詳細:



ロードマップ

Github



All Articles