react native 体验
来源:互联网 发布:大数据怎么可视化 编辑:程序博客网 时间:2024/05/21 17:57
一、面临问题
从某种程度上而言,目前为止 RN 只是给拥有 Mac 电脑的开发者提供了跨平台开发的能力, 因为现在还不能使用 Windows 创建 iOS 的 RN 应用。还有一个比较普遍的问题是,有一些 iOS 程序员不会配置 Android 的编译环境,而一些 Android 程序员又搞不懂 XCode,至于其他没接触过移动开发的人来说,就更恼火了。有些人可能本来也只是想体验一下,结果觉得配环境这么麻烦就直接放弃了。
所以为了能让更多人感受 RN 的魅力,早在几个月前 react-community 就给出了一个不错的解决方案,可以让一个完全没接触过 RN 的人,从配环境开始5分钟实现
Hello Wolrd
的编写(就是这么快)。而且在前几天刚结束的 React Conf 2017 大会上也提到了这个,通过这个方案我们可以实现:
- 不用再去配置烦人的 iOS、Android 编译环境
- 可以用 Windows 开发 iOS 版的 RN 应用。
二、解决方案
解决这个问题需要借助两个工具:1. create-react-native-app(下文简称CRNA); 2. Expo(原名Exponent)。
第一个是电脑上用来创建 RN 应用的工具,第二个是手机上安装的应用(Android、iOS 都有)。iOS 到 AppStore 搜 Expo 进行下载, Android 到 google play 下载,或者到 APKPure 下载,具体可以百度下。Expo 同时还提供了一个 XDE 的开发工具用来做 RN 开发,体验了一下感觉不是很好用。如果感兴趣可以到官网下载体验(官网地址:https://docs.expo.io/versions/v15.0.0/index.html )。
下面就正式开始介绍一下这两个工具的使用,使用 CRNA 创建 RN 应用只是不用安装 iOS 和 Android 的编译环境了,但是 node 还是必须的,然后通过下面的 node 命令安装 CRNA 这个工具。
$ npm install -g create-react-native-app
安装好之后就不再使用
react-native init XXX
的命令来新建应用了,直接使用下面的命令进行创建并启动。使用 CRNA 创建的项目,你在文件夹里看不到 iOS 和 Android 工程目录,它只包含了 JS 部分的代码。$ create-react-native-app MarnoRN$ cd my-app/$ npm start
正常情况下,会如下图一样运行并创建好一个 RN 应用,我们通过
npm start
启动该应用后,会生成一个二维码。这样的操作方式就感觉和微信小程序有些类似了。接下来使用 Expo 扫描这个二维码就可以打开你编写的 RN 应用了。并且只要在 Expo 中打开过一次,就会在 App 中保留一个入口。
使用 Expo 我们可以很快速的将自己的 RN 应用和别人分享,只要把二维码或者应用链接发给别人就行,不过前提是别人也同样安装了 Expo 。我们也可以把自己的 App 上传到 Expo 中,让更多的人搜索就可以使用。上传操作命令如下:
$ npm i -g exp$ exp publish
通过 CRNA 这样的方式,不仅完全跳过了配置 Android 和 iOS 编译环境的步骤;还突破了硬件的限制,不管你的电脑是 windows 还是 mac ,也不用管你的手机是 iPhone 还是 Android,都可以进行所有平台的代码编写和真机测试 。并且在 Expo 中还可以搜索别人上传的应用(恩!感觉这套路和小程序是一样样的)。
但是如果最终你要打包 App 发布到应用市场,那还是需要有 iOS 和 Android 编译环境,要只是用来体验一下,或者用于 RN 的学习,那这种方式应该是可以解决你的问题了,可以让你更专注的进行学习 ,而不会因为觉得安装编译环境繁琐就放弃了。当然 CRNA 还有一些其他功能,大家可以自行到 github 看原文文档。如果在使用过程中有什么问题,可以直接给作者提 issue 哈。
这个只是 React Conf 2017 大会上一个比较短的内容,大会还介绍了一些其他的东西,比如 Mobx 和 Redux 的对比、 React VR 的使用、最新版 nuclide 的使用(感觉比之前好用了)等等,满满 2 天的会议,Youtube 上有 35 个相关的视频,我上周末看了差不多有一半了,受益不少。如果感兴趣的可以自行去观看,视频地址在这里:http://t.cn/RiFxmB7 请自备梯子,或者在我公众号回复 v p n 用我推荐的这个梯子也行。我经常到 youtube 看视频就用这个,看 1080p 也不怎么卡,哈哈~不过前提是你的网速要好!
- react-native上手体验
- React Native初体验
- react native 体验
- react-native-Fetch初体验
- React Native For Android初体验
- React Native For Android初体验
- An iOS Developer on React Native一个资深iOS开发者对于React Native具体使用体验
- 一位iOS开发者使用React Native的体验
- React-native初体验之一个完整的Flexbox指南
- Android开发学习之路--React-Native之初体验
- 跨平台开发之React Native初体验
- React-Native初体验一(window环境下开发)
- hybrid app初体验,和react-native一起飞
- react native
- React Native
- React Native
- React- Native
- react-native
- Java NIO
- 异常和常用Api
- Unreal教学(2)——快速开发程序(Programming Quick Start)
- AndroidManifest.xml清单文件详解--meta-data节点
- 阿里开源Mysql分布式中间件:Cobar
- react native 体验
- Asp.net中文本框全选的实现
- 【git使用】Permission denied (publickey). fatal: Could not read from remote respository.解决办法
- 详解正则表达式中的\B和\b
- AndroidManifest.xml清单文件详解--action节点
- java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge de
- react之相关组件API
- 分析百度搜索算法中:收录骤增骤减背后的原因
- (14)学生、分数、课程【一对多,多对多练习】