Dojoは、次のメジャーアップデートであるDojo 7を最近リリースした、ReactやAngularに代わる無駄のない、モダンでリアクティブな代替手段を提供する、最新のWebアプリ用のプログレッシブフレームワークだ。
Dojoという名前がおなじみのように聞こえるのは、その前身、つまりjQueryの強力な代替手段を提供するDojo Toolkitを覚えているかもしれない。
Dojo 7は、Dojoフレームワークにいくつかのエキサイティングな新機能をもたらし、このリリースで大幅なオーバーホールを受けるウィジェットシステムに焦点を当てている。
ウィジェットはDojoの再利用可能なコンポーネントであり、Reactコンポーネントと多くの類似点を共有する。Dojoは、カスタムウィジェットの開発もサポートしながら、開発プロセスを簡素化する比較的多くの既製のウィジェットを提供する。
Dojo 7には、既製のウィジェットと基礎となるウィジェットアーキテクチャの両方に対する改善が含まれる。
既製のウィジェットは、標準化の改善、テーマの改善(新しいマテリアルデザインテーマを含む)、ドキュメントの改善、および多くの新しいウィジェットの追加を含むオーバーホールを受けた。
新しいウィジェットの1つはパスワードウィジェットである。これは、必要なものや不足しているものをユーザーに通知しながらパスワード検証を処理する便利な方法を提供する特別なソリューションである。
もう1つは、フォーム入力のグループ化を非常にスタイリッシュな方法で処理する新しいフォームウィジェットである。
内部的には、ウィジェットアーキテクチャは、型付きウィジェットの子、改良されたカスタム要素、複数のウィジェット間でデータを共有するのに役立つまったく新しいデータミドルウェアなど、いくつかの重要な改善を実現した。
Dojo 7には、ウィジェットを作成および共有するための改善されたプロセスも含まれている。cli-create-widgetコマンドが変更され、必要なすべてのツールとドキュメントを備えたスケルトンウィジェットライブラリが生成された。これは、新しくリリースされたDojo Paradeを使用し、ウィジェットドキュメントとサンプルをアプリケーションまたはウィジェットライブラリ内から構築するためのまったく新しいパッケージである。
アップグレードされたウィジェットシステムに加えて、Dojo 7は開発を簡素化し、カスタム要素スロットのサポートを追加する。これは、アウトレットがサイトセクションを管理できるようにする簡素化されたルーティングシステムで、コード重複を減らし、ダウンロードのオーバーヘッドを削減する最適化された国際化バンドルスキームと他の多くの小さな機能である。
Dojo 7への移行は比較的シームレスなプロセスであり、Dojo CLIアップグレードコマンド(cli-upgrade-app)によって、可能な場合は必要な変更を自動的に行い、開発者の介入が必要な変更を強調表示する。完全なアップグレードガイドは、公式の移行ドキュメントに記載されている。
Dojoは、新しいBSDライセンスの下で利用可能なオープンソースプロジェクトである。法的およびガバナンスのサポートにより、jQuery、Webpack、Lodashなどの主要なJavaScriptプロジェクトをもサポートする組織であるJS Foundationによってサポートされる。Dojoへの重要な貢献はSitePenによって行われる。Dojoの開発に貢献することに興味のある開発者には、Dojo GitHubプロジェクトに貢献ガイドラインと行動規範がある。Dojoの使用または貢献を検討している開発者は、DiscordのDojoチームおよびコミュニティに接続することもできる。