一个Android开发者的React Native之路

1 篇文章 0 订阅
0 篇文章 0 订阅

这是一个Android开发者一个月以来学习React Native的一些经验和感悟,如有错漏之处敬请指出~

1.什么是React Native

React Native是Facebook在2015年开源的一个项目,用官方的话来解释就是:

React Native lets you build mobile apps using only JavaScript
React Native让你只用JavaScript就能编写移动端App

简而言之,如果你掌握Javascript这一门语言,便能写出Android、iOS和两端的应用,再加上React Native本身基于React,因此也能很容易把React Native项目移植到Web上。不过,React Native的哲学在于“一次学习,随处可写”,而并非“一次编码,随处运行”,在构造不同平台的应用时,你需要尽可能地复用代码,这样才能实现“快速构建多端应用”的目的。
React Native用JS写成,但是不像Web App那样有着糟糕的手感,而是更接近于原生App。例如它在Android中的ListView、ScrollView都有着接近于原生的表现(比如我写的图文混排的ListView在滚动加载时基本每一帧的渲染时间都小于60ms),能够做到这一点的原因在于React Native实际上是通过JNI调用C++代码来执行JS的,而不是通过WebView去执行(具体的过程将在之后的文章中介绍)。

2.React Native的优缺点和适用范围

优点:
1.接近原生的体验
2.可复用的组件便于快速构建多端应用
3.支持热更新(用户只要下载很小的JSBundle就可完成应用的更新)
4.Web开发者可以快速上手编写Native应用
5.开发时能很方便debug
缺点:
1.增加应用安装包的大小(Android上未经删减大约增加6M)
2.React Native还在持续发展中,存在不少坑,每两星期会发布一个新版本(目前版本0.32)修复一些Bug和增加新的API,需要开发者及时关注并跟进。
3.如果用React Native进行较深层次的开发(比如使用React Native没有提供的原生控件),需要同时掌握Web、Android/iOS的开发技能,这反而会增加开发的时间成本和学习成本

以我个人的观点,目前来说React Native技术适用于
①主体部分用Native编写,用React Native替代应用中的WebView来获得更好的体验
②和Native相结合,用React Native写一些经常需要更改的页面(例如电商的促销活动页面)
③缺少Android/iOS的开发人员,但需要快速构建、长期维护多端应用
④作为开发者学习新技术找点新乐趣也无妨~

3.如何学习React Native

对于没有前端经验的人来说(比如我),React Native的学习之路会相对坎坷一些,下面是一点个人觉得比较适合的学习顺序,同时我也会逐步更新每一步的文章,希望能够帮助到初学者。
0.搭建环境、简单静态组件的编写
哪怕什么都不会,至少一步步搭建好环境、照着示例写一点简单的控件也能够让你感受到React Native的魅力所在,

1.React/React Native基本思想

2.HTML/CSS/JavaScript基础

3.ES6

4.基本组件、API

5.构建一个简单的应用

6.使用Redux构建应用

7.React Native应用的优化

8.React Native 和Android Native的结合

4.参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值