React Native 简介与入门

一、简介

ReactNative.png

React Native 是Facebook发布的,可以让我们广大开发者使用JavaScript和React开发我们的应用,该提倡组件化开发,也就是说React Native给我们提供一个个封装好的组件让开发者来进行使用,甚至我们可以相关嵌套形成新的组件。

使用React Native我们可以维护多种平台(Web,Android和IOS)的同一份业务逻辑核心代码来创建原生应用。

现阶段Web APP的的体验还是无法达到Native APP的体验,所以这边fackbook更加强调的是“learn once, write everywhere”,应用前端我们使用js和React来开发不同平台的UI,下层核心模块编写复用的业务逻辑代码,提供应用开发效率。

React Native的设计理念:既拥有Native的用户体验、又保留React的开发效率。

React Native项目成员Tom Occhino发表的React Native: Bringing modern web techniques to mobile详细描述了React Native的设计理念。

Occhino认为尽管Native开发成本更高,但现阶段Native仍然是必须的,因为Web的用户体验仍无法超越Native:

  1. Native的原生控件有更好的体验;
  2. Native有更好的手势识别;
  3. Native有更合适的线程模型,尽管Web Worker可以解决一部分问题,但如图像解码、文本渲染仍无法多线程渲染,这影响了Web的流畅性。

注意:

目前react native在ios上仅支持ios7以上,Android仅支持Android4.1以上。

二、框架简单描述

reactnative超简框架.png

  1. React:不同平台上编写基于React的代码,“Learn once, write anywhere”。
  2. Virtual DOM:相对Browser环境下的DOM(文档对象模型)而言,Virtual DOM是DOM在内存中的一种轻量级表达方式(原话是lightweight representation of the document),可以通过不同的渲染引擎生成不同平台下的UI,JS和Native之间通过Bridge通信。
  3. Web/iOS/Android。(现在均已实现)

三、什么是React和Native

1.React

React是Facebook开发的一款JS库.

React是实际上就是一个JavaScript框架,用于构建“可预期的”和“声明式的”Web用户界面,它已经使Facebook更快地开发Web应用。

更详细简介可以参考文章:http://www.jianshu.com/p/ae482813b791

React入门可参考文章:http://www.ruanyifeng.com/blog/2015/03/react.html

2.Native

这里的理解,ReactNative里的Native值的是Native应用。

Native App是一种基于智能手机本地操作系统如iOS、Android、WP并使用原生程式编写运行的第三方应用程序,也叫本地app。

四、个人的学习路线

1. 环境的搭建,初始化工程

2. 对flex布局、css样式进行简单的学习和运用(原本没基础)

3. es6语法(本人纯iOS开发,无JavaScript基础,只能简单了解下,再边运用边学习)

4. 组件的简单编写,页面刷新

5. 集成到原生项目,与原生交互

6. 网络层、model层及数据处理

作者:朱源浩

来源:51CTO

时间: 2024-10-10 21:19:29

React Native 简介与入门的相关文章

React Native——一次学习,随处编写

2015年3月26日,Facebook公司对外正式发布了React Native--使用React框架跨平台开发原生移动应用的开源技术框架.开发者可以使用React Native高效地开发运行于Android与iOS操作系统的应用程序.它的设计理念是:使用ReactNative开发,既拥有Native的良好人机交互体验,又保留了React框架的开发效率. React框架不追求所谓的"一次编写,随处运行(Writeonce, run anywhere.)".React认为不同的平台应该有

React Native实现简单的登录功能(推荐)_javascript技巧

React Native 简介: React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用.在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等. React Native 使你能够使用基于 JavaScript 和 React 一致的开发体验在本地平台上构建世界一流的应用程序体验.React Native 把重点放在所有开发人员关心的平台的开发效率上

React Native入门项目与解析

通过React Native 环境搭建和创建项目(Mac)可以成功创建一个新项目,即直接利用以下语句创建: //命令行创建项目:    react-native init AwesomeProject  创建成功后,刚入门的我们主要关注两个文件: 1)iOS项目目录下的AppDelegate.m 为将iOS项目连接js文件的入口,以及相关初始化操作. 2)根目录下的index.ios.js 为iOS对应的js入口文件. 一. 解析iOS项目中的AppDelegate.m 1. AppDelega

React Native Android入门实战及深入源码分析系列(2)——React Native源码编译

本文为老曾原创,转载需注明出处:http://blog.csdn.net/minimicall?viewmode=contents 在上一节中,我们通过一个相册的制作来学习了React Native编写.这一节我们需要开始学习React Native的源码. 学习源码,从编译源码开始. 首先,我们需要把代码从github中克隆下来. https://github.com/facebook/react-native.git 然后,我们可以切换到它的稳定分支,2016-03-30是我的操作时间,这个

React Native Android入门实战及深入源码分析系列(1)——Hello world

转载需注明出处:http://blog.csdn.net/minimicall?viewmode=contents 从今天起,我要分析React Native for Android的源码. 本系列主要是从使用和源码分析的角度来一步步的剖析React Native Android.当然,因为我对IOS不了解,所以,我只能分析安卓了. 首先来一个Hello world. 对于Rn 安卓的开发环境,本着不重复造轮子的思想,我就不再这里介绍了. 1. 创建一个工程 首先,我们需要创建一个Rn工程,通过

React Native Ubuntu 简介

在 Canonical 的 Webapps 团队,我们总在寻找可以为开发者所用的 web 和 web 相关技术.我们想让每个人生活更轻松,让 web 开发者更加熟悉工具的使用,并且在 Ubuntu 上提供一个使用它们的简单途径. 我们提供对 web 应用以及创建和打包 Cordova 应用的支持,这使得在 Ubuntu 上使用任意 web 框架来创造美妙的应用体验成为可能. 其中一个可以在这些情景中使用的主流框架就是 React.js.React.js 是一个拥有声明式编程模型和强大的组件系统的

React Native Ubuntu简介

在 Canonical 的 Webapps 团队,我们总在寻找可以为开发者所用的 web 和 web 相关技术.我们想让每个人生活更轻松,让 web 开发者更加熟悉工具的使用,并且在 Ubuntu 上提供一个使用它们的简单途径. 我们提供对 web 应用以及创建和打包 Cordova 应用的支持,这使得在 Ubuntu 上使用任意 web 框架来创造美妙的应用体验成为可能. 其中一个可以在这些情景中使用的主流框架就是 React.js.React.js 是一个拥有声明式编程模型和强大的组件系统的

Hybrid App 和 React Native 开发那点事

简介:Hybrid App(混合模式移动应用)开发是指介于Web-app.Native-App这两者之间的一种开发模式,兼具「Native App 良好用户交互体验的优势」和「Web App 跨平台开发的优势」.很多人都知道,React Native 是 Facebook 开源的框架,可以直接用 Javascript 开发原生的APP,本文则会围绕开发中的具体实践问题进行讨论. 此前,我们在多篇文章中提到过 React Native,本次移动精英开发俱乐部又专门围绕 Hybrid App 和 R

是时候了解React Native了

文章首发于简书,欢迎关注 随着科技的发展,手机开发也在向好的方向不停的转变.IOS和Android两大手机操作横空出世,称霸江湖.我们每开发一个手机软件最少都需要开发这两个终端. 两大操作系统都在不断的提升完善,能力越来越强大,这对于我们开发者是好事,因为用智能手机的用户越来越多. 话天下大事,分久必合,合久必分.这句话对于移动开发也是一样的. 这几年来,移动应用开发者做梦都希望有一个能跨平台的开发工具,让他们不要把同一个移动应用使用不同的开发语言写两遍.但跨平台开发工具的实现很难,直到Face