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

添加评论