热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

动态和静态生成的grpc代码有什么区别?

如何解决《动态和静态生成的grpc代码有什么区别?》经验,为你挑选了1个好方法。

在GRPC客户端的示例中,有两种类型的实现,一种.proto是在运行时加载和处理文件,另一种是使用它们编译的protoc.

我的问题是:有什么区别?文档只是说'他们表现得一样',但肯定会有差异吗?



1> murgatroid99..:

从根本上讲,主要的不同是您提到的:动态代码生成,.proto在运行时加载和解析文件,而静态代码生成,将.proto文件预处理为Javascript。

动态代码生成更易于使用,可能更易于调试,并生成接受常规Javascript对象的代码。

静态代码生成(使用协议)要求用户创建protobuf对象,这意味着输入验证将在更早之前完成。这也是与其他语言更加一致的工作流程。


好的,这样看起来好像动态代码生成将永远是正确的方式,对吗?我的意思是,如果只将`.proto`文件放到grpc库中并用它完成,那为什么会遇到这么多麻烦呢?我还注意到,在使用静态代码时,必须使用生成的getter和setter,这使得使用起来更加麻烦,所以我明白了为什么动态代码会更容易。
推荐阅读
  • 用NAN写一个nodejs的c++扩大
    NAN引见NAN的全称为NativeAbstractionforNode.js,其表现上是一个Node.js包。装置后,就获得一堆C++头文件,内里是一堆宏。它主要为Node.js ... [详细]
  • 前端简史之纵横:Node东出
    引💡Ajax的出现,带来了jQuery时代,而jQuery时代也伴随着Node风暴淡淡退出了历史舞台。如果说Ajax给前端带来了从网页静 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • 前言:原本纠结于Web模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中ev ... [详细]
  • 前言:原本纠结于Web 模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中eval函数。虽然eval函 ... [详细]
  • 技术周报·2021-05-07-小编推荐向现代Javascript转型原文标题:Publish,ship,andinstallmodernJavaScriptforfaste ... [详细]
  • OrbitDBPeer 2 Peer Database using CRDTs
    2019独角兽企业重金招聘Python工程师标准Apeer-to-peerdatabaseforthedecentralizedwebOrbitDBisaserverless ... [详细]
  • launch.json配置php,launchjson有什么用
    本文目录一览:1、VSCodelaunch.json配置详解 ... [详细]
  • html css在线便宜,在线HTML、CSS和JS工具汇总
    本文提供了在线HTML、CSS和JS工具汇总,它们都是直接在浏览器上可以使用的在线工具,基本上都是比较简单操作的,只适合简单的调试工作&# ... [详细]
  • golang反射,golang反射性能
    本文目录一览:1、关于反射2、尝试用golan ... [详细]
  • 如果说以比特币为代表的货币区块链技术为1.0,以以太坊为代表的合同区块链技术为2.0,那么实现了完备的权限控制和安全保障的Hyperledger项目毫无疑问代表着区块链技术3.0 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
author-avatar
骏天天在线
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有