React Native 跨端框架如何与小程序混编

对于跨平台应用开发来说,哪种技术是最佳的选择仍然是一个值得关心与探讨的问题。

由于原生开发面临的问题,人们一直也在努力寻找好的解决方案。因此可以在多个平台上无缝运行的应用程序的跨平台应用程序开发的概念近年来也就发展势头强劲。

对跨平台应用程序开发公司的需求也有所增加,使得在过去的几年里,Flutter与React Native已逐渐成为移动开发社区中最受欢迎的跨平台移动应用开发框架,那么Flutter和React Native 哪个才是开发者的首选呢?

Flutter在上一篇文章中做了具体的分析,可以跳转访问:https://juejin.cn/post/7116446777854656526

这篇文章主要对React Native做一个介绍及如何与小程序进行结合。

React Native 采用不同的方法进行混合移动应用开发

这种开发方式不会生成原生 UI 组件,而是基于 React,React Native 是一个用于构建基于 Web 的交互界面的 JavaScript 库,因此会有更丰富的 UI 体验效果,同时也能够很好地调用底层框架的UI使用。

React Native 已经成为一种流行的移动开发技术,它提供了一个使用 JavaScript 构建原生跨平台移动应用的强大框架,在需要时,我们也可以使用 Objective-C,Swift或 Java 来编写原生代码来桥接。

React Native 为什么成为受欢迎的框架

React Native也是Facebook在2015年推出的一个跨平台原生移动应用开发框架。 React Native 是一个基于 Facebook JS 库的 JavaScript (JS) 框架,用于构建强大的 UI。React Native 跨端方案对新人友好、节约开发成本,还能带来接近原生的体验和性能。

作为大前端的一员,深入了解 React Native,对自己的技术提升大有裨益。此外,它的代码共享功能可以更快的开发和减少开发时间。像其他跨平台技术一样,Flutter允许你使用相同的代码库来构建独立的应用程序,因此,反应原生应用程序更容易维护。

React Native包括一个热重载功能,允许开发者直接在运行中的应用程序中添加或纠正代码,而不必保存应用程序,从而加速了开发过程。React Native React组件包裹着现有的本地代码,并通过React的声明性UI范式和JavaScript与本地API进行交互,React Native的这些特点使开发人员的工作速度大大加快。

React Native 需要注意的事项

从积极的方面来说,React Native 已经成为受支持的开源社区的热门,可以使用一组技术(如 JSX,React Native 组件和 JavaScript)为 iOS 和 Android 构建移动应用。这反过来有助于在发布新版本时使 iOS 和 Android 应用保持同步。

但是,React Native 仍在不断发展,当要在当前不需要 React Native 提供的功能(例如如何进行UI导航或使用地图)时决定使用哪些库时,可能会造成混淆。此外,根据应用的复杂程度,可能需要编写区别于平台的代码来解决移动平台的差异。对于复杂的应用,可能要编写自定义组件或深入了解 iOS 和 Android(例如,出于性能原因或将 React Native 添加到现有原生应用时所需的但不支持的UI组件)。

React Native如何与小程序进行结合

既然我们应用 React Native 进行跨端开发,如果我们把混合应用模式从「原生H5」换为「原生+小程序」会如何?因为H5实在是一堆的问题,权限没发获取,加载页面卡顿就不能忍,想到小程序体验更好,能不能把小程序搬到App去运行。

脑洞开了,说干就干,在 React Native 工程基础上集成及运行小程序方案 Finclip

环境搭建

npm install -g react-native-cli yarn

Finclip官方的环境搭建文档已经有详细的说明,这里不再重复。大家可以看下我本地的环境配置版本,目前整个项目运行稳定,可以借鉴。

新建 ReactNative 样例工程

新建 ReactNative 工程

react-native init mopdemo

稍等一会…

初始化项目完成之后,你可以选择两种不同的方式运行 App 在 iOS/Android 平台:

注意!ReactNative需要依赖本地安装对应的 iOS,Android 开发工具,即需要安装 Xcode 和 AndroidStudio。具体安装使用方法这里不赘述。

这里我们用 VSCode+Xcode 作为开发组合环境。

集成小程序解析引擎

这里我们采用凡泰集成免费社区版的小程序解析引擎,只需要 10 行代码量不到即可完成小程序集成。

引入小程序引擎插件。在 package.json 文件中引入小程序 ReactNative 插件

"react-native-mopsdk": "^1.0.1"

在 main.dart 文件中增加以下小程序引擎初始化方法。 Mop.instance.initialize 这里需要用到 sdkkey 和 secret。可以直接在 FinClip小程序平台 注册获取。注册使用方法可以参考接入指引


打开小程序

MopSDK.openApplet('appid','','',(data)=>{});


SDKKEY 和 Secret 可以从前面部署的社区版的管理后台获取。apiServer 为这里是小程序生态后端的服务地址也就是前文所输入的IP:端口。

小程序id 为在管理后台上架的小程序唯一ID(在小程序小架时自动生成)。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值