新しいJavaScriptフレームワークがリリースされました:DAAJS

先日、新しい有望なオープンソースJavaScriptフレームワーク「DAAJS」の最初のリリースがリリースされました。 フロントエンド開発者にとっては、Webおよびモバイルアプリケーションを作成するための基礎として興味深いかもしれません。







フレームワークのイデオロギーは、クラス指向のイベント駆動型アプローチに基づいています。 すべての機能はクラスとして実装されます。 テンプレートとアルゴリズムに基づくプレゼンテーションクラスは、ユーザーインターフェイスコンポーネントを生成し、直接関連する動作(ツリーリストのブランチの展開、メニュー項目の展開、アイテムの移動など)をカプセル化します。 イベントメカニズムは、個々のDOM要素ではなく、クラスレベルでのインターフェイスとのユーザーインタラクションの両方を整理し、多くのメソッドまたは他のクラスの参加を必要とする複雑な動作を実装するのに役立ちます。 フレームワーク内のイベントはすべて、単一の統一された形式で表示されます。



このフレームワークは、多重継承やその他の興味深い技術的および構文的メカニズムをサポートする独自のクラスモデルを実装しています。 フレームワーククラスはプラットフォームに依存せず、クライアント側、ブラウザ、およびNode.jsの下のサーバー側の両方で同様に実行できます。 これは、Node.jsの将来の開発とサーバープラットフォームとしてのホスティング事業者によるサポートにおいて、プロジェクトのクライアント部分とサーバー部分に同じコードを使用する可能性を開きます。 さらに、最小限のJavaScript固有の機能と「トリック」を使用したDAAJSクラスコードは、現在バックエンド開発ツールとして普及しているプログラミング言語で非常に簡単に表示されます。



このフレームワークは、JSONに基づいてユーザーインターフェイスを記述するための標準を提供し、JavaScriptはネイティブに理解され、他のソフトウェアツールでも簡単に理解できます。 これにより、同じ記述子を使用して、サーバーとクライアントでHTMLを生成できます。また、AJAXおよびSPAプロジェクトでインターフェイスを動的に再構築できます。 記述子は、もちろん、データモデルや特殊なイベントハンドラーへのバインドなど、幅広い最終的なビューをカスタマイズできるパラメーターを持つビューのクラスのツリーのようなリストです。 さらに、フレームワークは独自のシンプルな「JSONマークアップ言語」(DAAスクリプト)をサポートします。これは、複雑な構造化JSON記述子を作成するための「構文糖」を提供します。



DAAJSはMVCフレームワークであり、プレゼンテーションとイベントを操作するためのツールに加えて、データモデルを操作するための多くのツールとパターンを提供します。 他の多くのフレームワークとは異なり、DAAJSは単一のモデル空間の使用と、直接アドレス指定(「パス」インターフェース)およびSQLのようなクエリ言語を使用したモデルへのアクセスを提供します。ただし、ユーザーがWebページにとどまっている場合に限り、「リビング」側に移動します。 さらに、このスペースには、最終的に表示されるデータのモデルだけでなく、JSON記述子から取得されたインターフェース自体のモデルも含まれます。 これは特に単一ページのアプリケーションに役立ちますが、深刻な双方向性を備えた複数ページのプロジェクトで広く使用できます。



また、DAAJSは、主に「ツリー」と「ツリーテーブル」を使用して、複雑に構造化されたモデルを操作することに多くの注意を払いました。 フレームワークツールを使用すると、ツリー要素を追加、挿入、削除、移動したり、SQLに似た構文を使用して多くのフィールドに従って「テーブル」をソートしたりできます。 DAAJSアプローチは、サーバー側とクライアント側の間のモデルとの作業の最大限の統合を目的としています。



プレゼンテーションクラスを使用してインターフェイスを構築するイデオロギーと記述子の統一には、CSSの広範な使用と柔軟なカスタマイズが必要です。 統一を実現するために、DAAJSは「ランタイムCSS自動プレフィックス」メカニズムを実装します。つまり、CSS標準に準拠するCSS宣言に基づいて、現在のブラウザーが標準CSSプロパティをサポートしない場合、「ベンダープレフィックス付き」作業プロパティと値を自動的に選択します直接。 このメカニズムにより、ブラウザによるプロパティサポートの問題を心配することなく、DOM要素を「インライン」CSSプロパティに割り当て、CSSルールを「オンザフライ」で定義および再定義できます(もちろん、完全に古代のインスタンスについて話している場合を除きます)。



フレームワークの現在のバージョンは、最初の「パブリックベータ」です。 彼はまだ最終段階にある多くのクラスを完成、デバッグ、公開するためのいくつかの重要なステップをまだ行っていません。 特に、日付、時刻、アニメーション、「フォーム」、非同期HTTPリクエストなどを扱うクラスは、今後のバージョンで登場または拡張される予定です。 また、ドキュメントは常に拡張および補足され、すべてのドキュメントのロシア語への翻訳が準備されています(現時点では英語のみで利用可能です)。



より詳細な情報、ドキュメント、NPMを使用したフレームワークのダウンロードおよびインストールへのリンクは、プロジェクトの公式ウェブサイトdaajs.orgで入手できます。



興味のある人、テスト、協力、そしてもちろんコミュニケーションに招待します!



All Articles