美文网首页react nativeRN
React Native学习路线

React Native学习路线

作者: 嫌疑人螺某 | 来源:发表于2019-04-10 13:17 被阅读0次

    转自http://blog.talisk.cn/blog/2016/08/13/RN-Learning-path-for-iOS-developer/

    React Native概念介绍

    名词解释

    首先列举几个关键词:

    • React
    • Native
    • React Native

    这三个词其实没有太大关系,我们逐个来解释:

    • React:近几年Web前端领域非常火热的一个开发框架React.JS,其核心思想是将视图组件化,通过更新组件的state来渲染出组件。
    • Native:这个词从字面理解就够了,就是指原生的。前几年有个非常火热的跨平台开发框架PhoneGap(现称Cordova),那就不是原生的开发方式。原生就要使用对应平台的特定语言和框架进行开发,比如使用Objective-C或Swift开发的iOS应用。
    • React Native:结合了这两个词,我们可以简单地得到结论:使用React框架进行原生方式的开发。

    实现原理

    我们都知道在iOS平台上,苹果提供了一个JavaScriptCore的framework,可以进行JavaScript语言的解析,React Native通过多次封装定义,最终实现了在JavaScript语言中调用Objective-C的类和方法。具体的原理我们现在还不必深究,后文的学习路线中会有提到。

    所以既然是调用Objective-C的类和方法,性能上当然是不差的(但也不完美),所以这也是React Native相比其他跨平台开发方式的一大优势。

    评价

    • 跨平台:目前React Native官方已经支持iOS、Android两个平台的移动设备,民间也有一些大牛在做macOS、tvOS,甚至UWP平台的适配。但由于不同平台特性不同,并不能一份代码在所有平台上直接运行,React Native的思想是「Learn once, write anywhere」,我们需要针对不同平台的特性写出不同的代码,尽量保持组件的高可复用性。
    • 性能:官方宣称性能堪比Native,实际使用中我们会发现几个问题,比如复杂视图渲染出View层级过多、ListView(等同于iOS上的UITableView)无重用机制、有些组件存在内存泄露。这就会导致在部分低端Android机型上的性能过差,复杂的、大型的应用会有明显性能问题。
    • 热更新:由于App Store应用商店发版迭代效率问题,热更新成为了iOS平台非常渴求的功能,可喜的是React Native的热更新能力非常好,通过将JavaScript代码部署到服务器中,运行过程中即可重新reload整个界面。
    • 学习成本:对于iOS开发者来讲,要了解相当数量的Web前端开发知识才可以进行开发,对于Web前端开发者来讲,对于原生性能调优则需要原生开发知识和经验,所以说学习成本略高。
    • 开发效率:Android和iOS平台可复用很多组件,仅部分代码需要各自平台分别维护,所以比开发两个平台原生应用效率要高得多。加上本身可动态渲染的能力,不用重新编译,Command⌘+R即可重新渲染界面,开发效率更是惊人地快。

    学习路线

    按照顺序进行学习即可。

    开发环境配置

    你的电脑若未安装Homebrew、Node.js、WatchMan等工具,请参照:

    若已安装Homebrew、Node.js、WatchMan,请直接:

    对于IDE/Editor的选择,目前可以有Sublime Text、VSCode、WebStorm、Atom+Nuclide、Deco选择。我个人比较推荐的是VSCode和WebStorm。以下提供两篇关于IDE的设置。

    JavaScript

    首先是最基础的JavaScript教程,快速过一遍即可。

    ES6

    ES6也称ES2015,是JavaScipt语言的较新的一种标准,在React Native开发时,我们建议使用这种标准。

    语法规范

    JavaScript本身变化很快,这份由Airbnb维护的语法规范是使用较为广泛、全面的,很有参考性。

    React Native

    快速入门

    由于会有一些开源项目和开源组件使用ES5标准进行开发,所以应该看得懂ES5代码。

    布局

    组件

    React with Redux

    热更新

    原理

    推荐资源

    相关文章

      网友评论

        本文标题:React Native学习路线

        本文链接:https://www.haomeiwen.com/subject/aesniqtx.html