React Native Android 从学车到补胎和成功发车经历

1 背景

========

好几个月没发车了,完全生疏了,为了接下来能持续性的发好车,这次先准备发个小车—— React Native。没错,就是这个从去年到现在官方都憋不出大招 1.0 版本,而被我朝开发者疯狂追捧备受争议的破车。怎么说呢,这玩意刚出来时有了解过,当时的内心是抵触的,但是内心总是架不住天朝的炒作能力,更架不住硬性指标,于是我就这么被 React Native 蹂躏了一番,也就有了下面这次补胎经历。

虽然已经被发车了,但是还是发表一下自己的观点吧(看完观点赞同的就继续观赏,不赞同的勿喷,请绕道即可,当然,那些已经上高速的司机直接绕道吧),个人看法如下:

  • 作为 Android 开发者来说,对待 RN 个人建议要保持一个端正的态度,什么原生 Android App 已死、RN 很牛逼之类的话听听就行了;至少到目前为止个人觉得原生开发才是王道,RN 也就只能胜任一些常规的 CS 模式应用,整体还是很弱的,不要告诉我它支持很方便的封装 Native UI 和 Module 到 js ,这就是扯蛋,除过一些通用 SDK 接口封装具备一定价值以外,个性化 UI 封装有毛用,因为封装不仅加多了开发工作量,还丧失了一定需求下的热更新能力(被封装的 Native 接口变化依旧需要通过发版本才能解决),而 RN 被最看好的无非就是一个合理简单不具备黑科技的热更新能力和 Native 般的UI 体验。

  • 对于大多数 Android 开发者来说也有过与前端打交道联调的时候,RN 如果能发车带来的好处还是挺直接的,最起码能促使你去了解前端,了解一些前端开发模式和框架及思维,这不仅拓展了我们视野,还能对我们做原生开发一些启发(譬如 Flux 架构在 Android 上的一些应用中也是很棒的);也能促使我们去掌握一些 JavaScript 语言,避免与前端对接的一些尴尬。

  • 对于大公司来说这个可以作为一个课题进行预研和局部尝试接入使用(崩溃率KPI),但是对于小创业公司来说前期可能这是最佳的选择,因为小公司对于人力成本、开发能力、速度等个方面都有不小的挑战,所以 Learn once, do anywhere. 可以给他们带来更好的受益。

技术是无罪的,所以即便 RN 现在胜负难断,但是作为一个开发者对自己关注领域的新技术应该尽可能的持有一个关注的心态,以免真的能颠覆时找不到赛道,更别提发车,更何况现在已经有很多 JD 竟然列出了 React Native 开发工程师的职位(包括鹅厂),薪水福利也还不错。

PS:如果你依旧对 RN 抱着怀疑的心态,那请你打开这个 showcase 看看吧,国内外已经有很多有名和没名的 App 都已经接入了 RN。

这里写图片描述

【工匠若水 http://blog.youkuaiyun.com/yanbober 未经允许严禁转载,请尊重作者劳动成果。私信联系我

2 React Native 学习历程

=======================

虽然 React Native 官方版本迭代很快,加上版本迭代也基本不考虑前向兼容性,网上相关基础文章也很多,在这里我依旧想传送们一把我补胎过程中的一些网络资料,方便聚合。下面就是假设你是一个 RN 小白到能开发一些应用的学习历程和打开姿势:

1、首先你得有个开发环境,本人在 Windows 下和 Ubuntu 12.04 LTS、Ubuntu 16.04 LTS上面都配过,按照官方文档来就行,没啥坑,但是敲命令前要大概了解下命令意思,具体参考文档如下(不用完全按照文档来,Android环境如果是 OK 的情况下注意细节以后安装个 node 环境就行了,别的是辅助的):

官方英文环境搭建教程

非官方中文社区翻译环境搭建教程

2、你得有个好写代码的 IDE,坑爹的是 React Native 是 JS、Android、iOS 工程的混合体,通过 npm 来管理的,所以除过 Android IDE 以外你得有个写 JS 的IDE,极力推荐 Visual Studio Code,上网搜搜吧,一堆配置教程,插件能很到位的支持断点调试(我还是喜欢 Chrome 调试)和 RN 代码提示;别的 IDE 也可以,自己看着玩吧。

3、有了第一步搭建环境,说明你已经用一个 Demo 工程验证了环境,但是你此时应该还是闷逼的,友情提醒到此时先别干别的,打开你工程根目录的 package.json 文件,看着是不是一堆配置,怎么有点 gradle 的感觉,哈哈,他就是一个配置管理文件,你现在需要去了解一下 npm 命令和 package.json 文件格式相关的东西,这样你就彻底明白了第一步那些命令的意思和接下来如何在 RN 中使用第三方库的姿势啦,同时也就明白 RN 工程上传代码不用上传 node_module,只用 package.json,简直就是一举两得,传送门如下:

package.json官方英文文档

package.json第三方中文文档

npm命令相关第三方文档博客

到此你再回头看你 RN Demo工程是不是就明白咋回事啦,不过你可能会发现在第一步初始化工程时巨慢,这是坑爹中国特色,所以建议你用上面刚刚学到的 npm 命令给自己重新换个镜像源,譬如淘宝啥的,这样你会发现速度明显上去啦,镜像源相关文档参考如下:

换镜像源的几种方法博文

国内好的镜像源推荐

4、这时候你要是有 JS 基础和 React 概念则直接开搞,没有那就建议你先学习一把 JS 和 React,同时学习下 ECMAScript 6 的语法,推荐如下:

《ECMAScript 6入门》阮大大写的,很棒,很入门

React、JSX等相关前端技术汇总贴

5、上面这些你都差不多搞 OK 了以后就进入真正的 React Native了,具体参看如下:

React Native官方文档

React Native官方文档中文翻译

这时候的路线应该是按照文档一个一个的敲一遍,理解验证,主要就是 state 和 props 思维的转变;文档简单撸一遍以后你已经入门啦(不用每个属性都验证,每个属性都要看一遍,但是不用都验证)。

6、此时你应该去网络搜索一些 React Native 的开源项目学习学习,观摩观摩他们写法,这个最多花上一两天就是突飞猛进的节奏。

7、这时候你会发现开源项目里大家怎么用了那么多第三方库,那你是不是该研究下第三方库啦,最经典的和必须掌握的有 React-Redux,这个网上一堆,大多都是前端工程师分析的,具体也可以看看官方文档。如果你想使用 RN 第三方库除啦可以上 github 进行搜索以外,推荐如下网站搜索第三方库:

常备第三方库搜索地

8、此时应该说你基本具备了 RN 的搭建开发能力了,但是集成进现有 App 会发现是个大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值