PAGI 分发拆分

发布日期:2026-06-27 10:00:51   浏览量 :9
发布日期:2026-06-27 10:00:51  
9

新闻:PAGI 现在由三个 CPAN 发行版组成,而不再是一个。

仅安装你实际运行的组件

在实践中,几乎每个人的起步方式都相同:使用 cpanm PAGI::Server 获取一个
运行 PAGI 应用的服务器,并可能安装 PAGI::Tools 以获得在构建应用时所需的请求/响应
辅助工具、路由器和中间件。这是常见情况,此次拆分正是围绕这一场景设计的——你只需安装你
使用的组件
,而无需接受将服务器、工具包和规范捆绑在一起的单一庞大单体。

这两者底层共同依托的是规范:一个小巧且刻意保持稳定的契约——包括 $scope$receive$send 的结构以及事件类型——
服务器和工具包均实现此契约。将其独立为一个发行版是此次拆分的真正原因:快速迭代的部分(即服务器和
工具包,变更主要发生在此处)可以自由迭代,而不会 destabilize 你编写应用所依赖的协议。

坦率地说:目前恰好只有一个参考服务器实现,因此“仅依赖基础规范”尚不是大多数人会采取的做法。这种分离具有前瞻性——它使得在不分叉其他所有内容的情况下,开发替代服务器或直接基于该协议构建框架成为可能。此次拆分奠定了这一基础;它并不假装这已经是普遍路径。

与此同时,一切都不会中断:在安装 PAGI 时,过渡期间仍会将服务器和工具包作为依赖项拉取,因此 cpanm PAGI 会像以前一样为你提供完整的栈。这种便利性依赖是暂时的——当你准备好时,请直接依赖 PAGI::Server 和/或 PAGI::Tools

各组件的亮点

PAGI-Server — 参考
服务器。
一个基于 IO::Async 的实现,处理 HTTP/1.1、HTTP/2、WebSocket、SSE、TLS 和多工作进程预分叉,附带 pagi-server 命令行界面和可替换的服务器运行器。它已通过合规性套件验证,任何实现文档化契约的服务器均可作为即插即用的替代方案——这正是此次拆分所敞开的大门。

PAGI-Tools — 工具包。 在实际构建应用时你所依赖的人机交互体验:一个路由器和基于类的端点框架、一套中间件、现成的应用(静态文件服务、代理、PSGI 桥接),以及 Request/Response/Context 辅助工具。几个亮点包括:PAGI::Response 现在是一个你构建后发送的值对象(清晰分离了组装响应与将其提交到网络的过程),一个新的有序且不区分大小写的 PAGI::Headers 容器,以及一个 to_app 强制转换功能,让每个组合点可以互换接受代码引用、对象或类名。进程内的 PAGI::Test::Client 让你能够测试应

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据