[书籍精读]《React Native精解与实战》精读笔记分享 (3)

提供了iOS平台下的下拉刷新与Android平台下的点击刷新,以及列表底部加载更多组件功能。还提供了加载进度条、列表无数据时的默认视图、列表页头标题等功能

9.6.react-native-vector-icons

提供了几千个图标,而且这些图标都是开源的

10.React Native运行原理与部署调试 10.1.React Native运行原理

框架运行起来所依赖的几大组成部分:硬件设备或者模拟器,用于运行原生代码;Node.js服务端,也就是React Native Packger,负责源码的打包工作;Google Chrome,可以提供中间态的调试工具;后台的React Native JavaScript代码;

React Native Packger实现原理:当我们在启动iOS或Android项目时,React Native框架会自动启动React Native Packager控制台来进行监听和打包,而手动启动的方法为在项目文件夹下运行命令npm start即可

10.2.iOS平台部署于调试

运行App到模拟器上:react-native run-ios --simulator="iPhone X"

运行App到真机上:1、连接真机设备;2、配置代码签名;3、启用iOS应用的ATS(App Transport Security);4、配置发布模式;5、将资源文件静态化打包;6、编译发布运行;

10.3.Android平台部署与调试

连接Android设备

Android离线JavaScript资源的打包

在真机上运行App

Gradle:基于Apache Ant和Apache Maven概念的项目自动化工具。特点:自动处理包相依关系-取自Maven Repos的概念;自动处理部署问题-取自Ant的概念;条件判断写法直觉-使用Groovy语言;

10.4.Android模拟器介绍

Android Studio下自带Android模拟器

另一款模拟器Genymition可以模拟3000+的Android设备

11.IOS开发与React Native混合开发 11.1.iOS平台混合开发简介

有时React Native框架还没有提供对应的JavaScript Api,就需要自己编写React Native框架与iOS平台结合的混合开发代码,使得React Native框架可以直接与iOS平台的原生代码进行通信

11.2.iOS平台混合开发原理详解

实现过程:1.在iOS平台的原生代码中定义混合开发的入口,用于与React Native中的JavaScript代码进行通信;2.设置iOS平台下项目的编译必备设置;3.在React Native项目中通过JavaScript代码调用混合开发实现的iOS平台原生功能;

开发特性:参数类型;回调函数;Promise;多线程;依赖注入;导出常量;枚举常量;发送事件到JavaScript;优化无监听处理的事件;Swift的实现方法;

12.Android平台与React Native混合开发 12.1.Android平台混合开发简介

混合开发可以利用现有的Android原生平台的代码,并可以用于开发一些需求高性能、多线程的应用场景

12.2.Android平台混合开发原理详解

开发步骤:1.在Android项目中通过原生代码实现提供给React Native调用的原生功能;2.在Android项目中将编写好的功能模块进行注册;3.定义功能模块的Android包;4.在React Native项目中通过JavaScript代码调用混合开发实现的Android平台原生功能;

开发特性:回调;Promise;发送事件到JavaScript;从StartActivityForResult中获取结果;监听生命周期事件;

13.React Native消息推送 13.1.iOS平台消息推送机制

所有的iOS设备的消息推送都会经过Apple的消息推送服务器Apple Push Notification service(APNs),所有的推送消息由此服务器进行消息的下发

向APNs发送请求的服务器需要配置Apple开发者账号下的证书

APNs发现目标设备离线后,会先将请求的消息存储起来,等设备上线后再进行消息的推送

iOS平台的原生消息推送设置非常复杂,需要手动设置消息推送的开发者账号证书、推送消息请求的服务器证书、环境、编写以及APNs交互的代码

iOS平台第三方消息推送框架会将开发的流程简单化,我们只需要与极光平台通过JPush API进行通信,JPush API提供了APNs Sender与Apple APNs Server进行通信,后续APNs与设备的通信与原生消息推送通信的过程一致,由APNs负责即可,前部分由极光平台代理

JPush还提供了应用内消息推送部分,即App启动时,内嵌的JPush SDK会开启长连接到JPush Server,从而JPush Server 可以推送消息到App里

13.2.Android平台消息推送机制

Android环境下的消息推送方案:轮询(Pull)方式;长连接(Push)方式;使用XMPP、MQTT实现消息推送;

综合考虑,使用长连接(Push)方式在实现简易度以及资源损耗方面可以找到一个比较好的平衡点

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsfpxg.html