首页
/ ORPC v0.48.0 版本发布:RPC 框架的重大升级

ORPC v0.48.0 版本发布:RPC 框架的重大升级

2025-06-25 07:52:16作者:范垣楠Rhoda

ORPC 是一个现代化的 RPC(远程过程调用)框架,它提供了客户端和服务器之间的高效通信能力。这个框架特别注重类型安全和开发体验,支持多种前端框架集成,并提供了丰富的中间件和序列化功能。最新发布的 v0.48.0 版本带来了多项重要改进和新特性,让开发者在构建分布式系统时拥有更强大的工具。

核心变更与架构改进

自定义 JSON 序列化器

v0.48.0 版本引入了自定义 RPC JSON 序列化器的能力。这一改进允许开发者根据特定需求定制数据的序列化和反序列化过程,在处理特殊数据类型或优化性能时特别有用。框架现在提供了更灵活的序列化控制,同时保持了类型安全。

服务器端重大改进

服务器端进行了多项架构调整,其中最重要的变化是移除了重复中间件的逻辑,改为显式处理中间件链。这种设计使得中间件的执行更加透明和可控。同时新增了.$input方法,为输入数据处理提供了更直观的API。

新引入的UnlazyRouter工具解决了懒加载路由可能导致的问题,使得路由管理更加可靠。此外,现在可以在.callable.actionable方法后进行链式调用,大大提升了API的流畅性和灵活性。

客户端增强

客户端方面,现在重新导出了hooks工具函数,使得开发者可以更方便地使用这些实用工具。事件迭代器状态变化的处理也得到了更新,提供了更一致的行为模式。

框架集成扩展

v0.48.0 版本显著扩展了对前端框架的支持:

  1. Solid-Query:新增了对Solid.js的Tanstack Query集成,为Solid开发者提供了强大的数据获取和状态管理能力。

  2. Svelte-Query:同样引入了对Svelte的Tanstack Query支持,完善了框架的前端生态。

  3. Vue-Colada:移除了输入和上下文选项中的深度引用(deep ref),简化了API并提高了性能。

类型系统与验证增强

Zod集成方面取得了显著进展:

  • 现在支持在JSON Schema中处理readOnlypropertyNames属性,增强了API文档的丰富性。
  • 修复了propertyNames在字符串模式下的应用问题,确保了验证逻辑的准确性。

问题修复与稳定性提升

本次版本修复了多个关键问题:

  • 解决了TypeScript中"has no properties in common with type"的类型问题
  • 确保中间件初始上下文能正确反映在过程中
  • 修正了中间件next方法返回的上下文内容

这些改进显著提升了框架的稳定性和开发体验。

总结

ORPC v0.48.0 是一个功能丰富的版本,在序列化、中间件处理、前端集成和类型系统等方面都有显著提升。这些改进使得ORPC更适合构建复杂的分布式应用,同时保持了出色的开发体验和类型安全性。对于正在使用或考虑使用RPC框架的团队来说,这个版本值得认真评估和升级。

登录后查看全文

项目优选

收起
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
51
15
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
116
200
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
503
398
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
62
144
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
295
1.01 K
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
97
251
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
381
37
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
692
91
RuoYi-Cloud-Vue3RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
97
74
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
357
341