React Native 跨平台开发学习路线

        我是一名iOS开发者,在两年年前就有接触到React Native,FaceBook在2015早期就开源发布了React Native For IOS,在2015年9月15日也发布了React Native for Android,fackbook强调的是learn once,write everywhere,可以让我们广大开发者使用JavaScript和React开发我们的应用,该提倡组件化开发,也就是说React Native给我们提供一个个封装好的组件让开发者来进行使用,甚至我们可以相关嵌套形成新的组件。使用React Native我们可以维护多种平台(Web,Android和IOS)的同一份业务逻辑核心代码来创建原生应用。

        在公司的技术规划的大前提下,在一年前我也进入了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相比其他跨平台开发方式的一大优势。

学习路线

1,开发环境配置

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

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

对于IDE/Editor的选择,目前可以有Sublime Text、VSCode、WebStorm、Atom+Nuclide选择。我个人使用的是VSCode和PhpStorm,外加Xcode和Android Studio

2,JavaScript

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

3,ES6

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

4,语法规范

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

5,React Native

快速入门

由于会有一些开源项目和开源组件使用ES5标准进行开发,所以应该看得懂ES5代码。
React/React Native 的ES5 ES6写法对照表 - react native 中文网

6,布局

7,组件

8,React with Redux

9,热更新

10原理

11,推荐资源



猜你喜欢

转载自blog.csdn.net/zhangkui0418/article/details/80886126