ReactNative跨端框架与小程序混

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

这种开发方式不会生成原生UI组件,而是基于React,ReactNative是一个用于构建基于Web的交互界面的JavaScript库,因此会有更丰富的UI体验效果,同时也能够很好地调用底层框架的UI使用。ReactNative已经成为一种流行的移动开发技术,它提供了一个使用JavaScript构建原生跨平台移动应用的强大框架,在需要时,我们也可以使用Objective-C,Swift或Java来编写原生代码来桥接。

ReactNative为什么成为受欢迎的框架

ReactNative也是Facebook在年推出的一个跨平台原生移动应用开发框架。ReactNative主要使用JavaScript,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域,对于用同一代码库为iOS和Android开发应用程序来说非常方便。此外,它的代码共享功能可以更快的开发和减少开发时间。像其他跨平台技术一样,Flutter允许你使用相同的代码库来构建独立的应用程序,因此,反应原生应用程序更容易维护。

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

ReactNative需要注意的事项

从积极的方面来说,ReactNative已经成为受支持的开源社区的热门,可以使用一组技术(如JSX,ReactNative组件和JavaScript)为iOS和Android构建移动应用。这反过来有助于在发布新版本时使iOS和Android应用保持同步。但是,ReactNative仍在不断发展,当要在当前不需要ReactNative提供的功能(例如如何进行UI导航或使用地图)时决定使用哪些库时,可能会造成混淆。此外,根据应用的复杂程度,可能需要编写区别于平台的代码来解决移动平台的差异。对于复杂的应用,可能要编写自定义组件或深入了解iOS和Android(例如,出于性能原因或将ReactNative添加到现有原生应用时所需的但不支持的UI组件)。

ReactNative如何与小程序进行结合

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

脑洞开了,说干就干,在ReactNative工程基础上集成及运行小程序方案FinClip。

添加描述

环境搭建

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

新建ReactNative样例工程

新建ReactNative工程

稍等一会…

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

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

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

集成小程序解析引擎

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

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

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

打开小程序

SDKKEY和Secret可以从前面部署的社区版的管理后台获取。apiServer为这里是小程序生态后端的服务地址也就是前文所输入的IP:端口。小程序id为在管理后台上架的小程序唯一ID(在小程序小架时自动生成)。




转载请注明:http://www.aierlanlan.com/rzdk/2395.html