gRPC on React Native
gRPC on React Native
我已经在iOS上工作了一段时间,我正在体验React Native。我遇到的一个障碍是如何将我的gRPC端点合并到React Native中,或者如果这从根本上是可能的。我尝试过简单地将gRPC生成的node.js代码添加到中,但没有成功。
我得到的最后一个答案是去年在这里得到的。
Node.js gRPC库使用用C++编写的本机扩展来完成大部分工作。React Native文档中的链接库页面似乎表明,只要您使用rnpm工具将其直接链接到应用程序中,这样的库就可以在iOS上使用。
或者,您可以按照React Native文档中的Native Modules指南使用Objective C gRPC库。
我不确定是否应该重复我自己的答案,所以,请看一看潜在的纯JavaScript解决方案:
在iOS React Native应用中实现gRPC
也许以上内容可以简化链接本机代码的过程,并且仍然是跨平台的。
我正在开发gRPC生成器工具,它将自动生成Swift/Java代理https://github.com/anjmao/rn-grpc-bridge
目前,它已经在生成Swift Unary呼叫服务。实例https://github.com/anjmao/rn-grpc-bridge/blob/master/examples/dist/book_grpc_pb_service.swift
在撰写本文时,Improbable Engineering的gRP Web不能与React Native一起使用。
相反,您必须使用React Native Native Modules并用Java、Kotlin、Objective-C和/或Swift构建本机模块。
您将:
- 以设备的本地语言实现gRPC客户端
- 使用React Native的Native模块框架导出
- 通过React native访问本机模块及其gRPC方法
- 在React中调用那些导出的方法
例如,如果您正在iOS/Swift上构建,则需要执行以下操作:
Reat Native <-> ObjC Bridge <-> Swift <-> gRPC
在安卓系统上,它将是这样的:
React Native <-> Android Java
我已经为在iOS上的React Native中构建gPRC客户端写了一个教程。我希望它有帮助。
一个用于使用Kotlin 为React native编写本地模块
React Native文档
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- 使用Jest测试React Native应用程序
- 是否存在React Native“;WEB代码安全防护”;
- React Native Listview留有余地
- 如何在React Native中绘制图形
- 在iOS和Android上使用React native时,我还能使用本机第三方lirbraries吗
- 使用createContainer将Meteor数据获取到React Native中时出现问题
- React Native当前是否支持访问用户'的通讯簿
- React Native-What'It’在任何地方都要留下逗号
- React Native DeviceEventEmitter键盘WillShow停止工作
- 与React Native的Chart.js等效
- 如何使用webview在React Native中使用Highcharts
- 如何在React Native的MapView中设置标记
- React Native NavigatorIOS
- 如何获得React Native TextInput以在提交后保持焦点
- 使用react native检测应用程序终止
- 可以在React Native中制作一个自哈希应用程序
- React Native + React - Native -router-flux:
- React Native + React - Native -router-flux:如何仅将hideNavBar应用于
- React Native-React Packager发送旧代码