JavaScript フロントエンド ロジックをサーバー側に転送する Pusa Web フレームワーク

Pusa Web フレームワークは、JavaScript を使用してブラウザーで実行されるフロントエンド ロジックをバックエンド側に転送するコンセプトを実装して公開されています。ブラウザーと DOM 要素の管理、およびビジネス ロジックはバックエンド側で実行されます。バックエンド。 ブラウザ側で実行される JavaScript コードは、バックエンド側にあるハンドラーを呼び出すユニバーサル レイヤーに置き換えられます。 フロントエンドに JavaScript を使用して開発する必要はありません。 Pusa リファレンス実装は PHP で書かれており、GPLv3 に基づいてライセンスされています。 このテクノロジーは、PHP に加えて、JavaScript/Node.js、Java、Python、Go、Ruby などの他の言語でも実装できます。

Pusa は、最小限のコマンド セットに基づいて交換プロトコルを定義します。 ページが読み込まれると、ブラウザーは基礎となる DOM コンテンツと Pusa-Front の JavaScript コアを読み込みます。 Pusa-Front は、Ajax リクエストを使用して、ブラウザー イベント (クリック、ブラー、フォーカス、キー押下など) とリクエスト パラメーター (イベントを引き起こした要素、その属性、URL など) を Pusa-Back サーバー ハンドラーに送信します。 受信したデータに基づいて、Pusa-Back はコントローラーを決定し、ペイロードを実行し、コマンドの応答セットを生成します。 リクエストのレスポンスを受け取ったPusa-Frontはコマンドを実行し、DOMの内容やブラウザ環境を変更します。

フロントエンドの状態は生成されますが、バックエンドによって制御されないため、Pusa の開発は、実行結果が開発者によって制御されないビデオ カードまたは Canvas のコードと同様になります。 Canvas および onmousemove に基づいてインタラクティブなアプリケーションを作成するには、クライアント側で追加の JavaScript スクリプトをダウンロードして使用できます。 この方法の欠点の中には、フロントエンドからバックエンドへ負荷の一部が転送されることや、サーバーとのデータ交換の頻度が増加することもあります。

利点としては、JavaScript フロントエンド開発者の参加が不要であること、安定したコンパクトなクライアント コード (11kb)、フロントエンドからメイン コードにアクセスできないこと、REST シリアル化や gRPC などのツールが不要であること、フロントエンドとバックエンド間のリクエストルーティングの調整の問題。

出所: オープンネット.ru

コメントを追加します