Why Isomorphic Go(同态Go应用,用Go语言编写前端和后端)

最近Packt出了一本书,《Isomorphic Go》。我就好奇,已经有了Isomorphic JavaScript(后端用Node.js),为何还要再来一个Isomorphic Go?

也就不说Isomorphic Go了,为什么要用Go来写前端?已经有TypeScript、clojurescript这些的情况下?

现在我忽然领悟了,关键在于protobuf!protobuf是一种二进制数据交换格式,要一个proto文件定义message数据结构,每个字段关联一个tag number,protobuf的核心优点当然是数据交换协议的接口定义方便,通过protoc自动生成各个语言的bindings文件,对于后端服务来说,通常是C++。

protobuf+RPC,就是gRPC,gRPC更牛,因为它直接支持长连接、同步异步调用,在protobuf的时间里你还需要自己写http层的服务器代码,在gRPC的世界里你就不需要了,相当于gRPC直接提供了runtime/container。

对于gRPC客户端来说,GopherJS项目提供了protoc的js绑定,使得可以直接从浏览器里面发起PB请求!这意味着,可以直接向一个后端C++算路服务发送经纬度坐标请求,然后将结果PB二进制字符串解析到JS对象,借助Leaflet这样的JS库就可以绘制出route路线了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值