阅读本文大约需要5分钟
前言之前我们已经更新了React Native的入门基础,组件,API模块以及进阶相关的知识点了,今天开始我们会陆续更新一些实战项目中需要用到一些模块,为了后面我们更新实战项目做准备哦。那么我们今天一起来看一下移动端数据库模块-Realm。
本篇博客为Realm React Native应用专题的第一篇,主要会进行介绍一下Realm的一些基础介绍,优缺点以及针对React Native模块Realm的安装配置和使用基础讲解,就当抛砖引玉篇吧。关于更多Realm的更多使用内容会在后面更新的文章中进行讲解。
原文出处:江清清的技术专栏
原文地址:http://www.lcode.org/?p=1704(可点击阅读原文)
Realm基本介绍Realm的官网地址:https://realm.io/ 该为移动设备而生!替代 SQLite 和 Core Data。为你省下数周的时间和数千行的代码,帮你创造出更棒的用户体验。该项目2014年7月发布,由 YCombinator孵化的创业团队历时几年打造,是第一个专门针对移动平台设计的数据库。需要了解关于Realm更多知识点可以查看官网。
Realm整体的优点有这么四点:1.简单易用,2.跨平台,3.快速性能优越,4.提供高级功能。那么我们来着重看一下性能问题,这个应该是大家最关注的一点了。为了彻底解决性能问题,核心数据引擎用C++打造,并不是建立在SQLite之上的ORM。因此性能就是比普通的ORM要快很多,甚至比单独无封装的SQLite还要快。同时因为是ORM,本身在设计时也针对移动设备(iOS、Android),所以非常简单易用,学习成本很低。
性能对比对于Realm的使用的性能是大家最为关注的一个问题了,我们来通过官网来了解一下Realm的性能比其他数据库都要快。
①.插入操作,在同一个事物中一次性插入200k条记录(越高代表性能越好)

②.查询操作,一次性查询所有的记录(越高代表性能越好)
③.统计操作,每秒能在200k条数据中进行查询后count的次数(越高代表性能越好)
经过以上三项数据(插入,查询,统计)性能对比,我会很好的发现Realm的性能非常的不错,真心可以堪称移动端数据库的王者的。所以大家移动端开发中,怎么还不用Realm呢?赶紧从今天开始使用吧。
Realm支持环境①.首先确保你的电脑已经安装React Native环境,如果可以点击查看环境安装教程:http://www.lcode.org/react-native/
②.使用Realm可以同时支持Android和iOS应用,iOS可以适配到7.0系统,亲测可以使用哦。
③.最低支持React Native 0.20.0版本
④.确定React Native Packager Manger(rnpm)是全局安装并且已经升级到最新版,全局安装命令:npm install -g rnpm
Realm安装配置①.创建一个React Native项目(RealmDemo)
react-native init //我这边使用RealmDemo代替project-name
②.cd 切换到项目根目录中,然后添加realm依赖库
npm install --save realm
③.现在使用rnpm来把项目和realm原生模块库添加关联
rnpm link realm
完成了以上几个步骤,接下来我们需要使用Realm了,下面我们在创建的项目中的index.ios.js或者index.android.js文件中添加以下部分代码,进行运行查看相关效果。

然后运行在设备中查看运行效果:
以上是官方一个最基础的实例,我们知道:Realm React Native可以让我们以安全,持续,快速的方式高效编写我们的应用模型层,可以看一下官方的一个例子代码来演示一下模型处理一些其他使用的基础方法:

具体关于realm的其他使用方法会在后面的文章中进行更新,请持续关注。
官方关于Realm也写了一些For React Native的实例,大家可以可以去Github进行clone项目到本地编译运行即可。
git clone https://github.com/realm/realm-js.git
间接着在clone的项目中执行以下命令
git submodule update --init --recursive
需要注意的是,如果你是在Realm运行在android平台上面,那么你的电脑就需要下载NDK以及配置ANDROID_NDK环境变量,以下是我的Mac电脑的配置信息,大家的可能路径不太一样哦
export ANDROID_NDK=/Users/jiangqq/Documents/android-ndk-r10e
[最后注意一点].React Native实例都在examples文件夹中,我们在运行实例之前一定需要使用npm install进行安装依赖库哦。
最后再说两句今天主要带领大家"入坑"一些基本Realm基本内容介绍以及环境安装配置,关于实战实例的会在后面继续更新,连载走起。
