展开讨论

创业与收入经验摘录 · 机器翻译

几年前我加入了一家大公司,那时 protobufs 是定义 API 的标准方式

… 几年前我加入了一家大公司,那时 protobufs 是定义 API 的标准方式。当我第一次开始使用生成的 TypeScript 代码时,我困惑于为什么生成的对象类型上的几乎所有字段都被标记为可选。我一开始以为是因为人们定义 API 的方式,但后来我了解到这是 protobufs 的一个有意设计。我们最终不得不自己编写代码来解析 "有用" 生成的 TypeScript 客户端的响应。这意味着我们也必须处理那些不合理的响应,其中实际上必需的字段不存在,而这正是我期望生成的客户端能处理的事情。我本期望自己做一些转换,但不至于到这种程度。生成的客户端对我们来说基本上是无用的,而协议的宽松性相比我用过的其他 API 格式没有任何明显的优势。 …

源讨论Protobuffers 是错误的(2018)原帖 307 条评论 · 导入时统计
2

这条内容在回应什么?

父级讨论 · 节选

TA

我对导致对Protocol Buffers如此强烈反对的事件感到有点好奇。:D 我确实倾向于同意它们不好。我也同意人们过于重视“来自Google”这一点。我无法让自己对它有这么大的愤怒。一定发生了什么特别的事情。

完整原文

社区评论 0

还没有社区评论,来聊聊你的看法。

原讨论中的回复 2

仅展示本次导入中包含的直接回复。中文为机器翻译,可查看英文原文。

TH

是的,一旦你有一个中等复杂度的类型,生成的代码基本上就没用了。说实话,我约80%对协议缓冲区的抱怨,只要允许我将消息字段标记为必填项就能解决。

完整原文
VL

以前,Google 并没有官方的 TypeScript 的 protobuf 生成器,而第三方生成器都很糟糕。在网页浏览器或 nodejs 中使用 protobuf 非常痛苦。 几年前,Connect 发布了一个非常棒的 TypeScript 生成器,我们在生产环境中使用它,效果很好: https://github.com/connectrpc/connect-es

完整原文
在 Hacker News 阅读

尊重不同观点,分享具体经验。

登录后即可发帖、评论、转发和引用。