Pusa Web框架,將JavaScript前端邏輯傳輸到伺服器端

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 等工具,消除了協調前端和後端之間的請求路由問題。

來源: opennet.ru

添加評論