React Native填坑之旅--重新认识RN
如同黑夜里的一道光一样,就这么知道了F8. F8是每年一次Facebook每年一次的开发者大会。每次大会都会release相应的APP,iOS、Android都有。之前都是用Native开发的,但是2016的这一次是用React Native开发的。
FB开源了RN的App
这次fb不仅开源了纯RN写的App,而且一同发布的还有开发这个App的教程。FB承诺会不断的更新这个app。教程放在make it open。不幸的是这个站点居然被墙了!!!技术博也能被墙,心中跑过一万个草泥马!!!F8的App可以在app store和google play下到。不要着急下,我么先一睹F8的风采。

App的设计本身是没的说,而且两个平台的App都遵守了各自平台的设计规范。iOS的用底部的Tab bar,Android的用了侧边划入的菜单。Android的还没来得及用,在低版本、低配置的Android设备上尤其能反映出RN的性能如何。
facebook在F8教程中提到在fb的内部团队使用了RN后,app有大约85%的代码是可以重用的。这是着实减少了很多的开发量。而且使用RN可以快速的开发出app原型。
RN应用处理数据
在应用的开发中少不了需要处理一些数据。F8 使用了Parse实现了后端的功能。Parse很适合作为对数据依赖不那么强的应用的后端。具体Parse如何使用,各位可以查看文档。我们集中讨论RN应用。
一直以来RN都被认为是MVC模式里处理“View”部分的。但是React本身的特点又让这些略有改变。几个React组件组成了一个view,每一个组件内部都可以包含一些逻辑处理的代码。而这些逻辑处理的代码本来应该是由controller来处理的。
React提供了一种开发模式Flux。RN里就可以使用了Flux模式的最佳实践库Redux。Redux引入了Store的概念,提供了一个新的修改state的工作流,扩展了React的数据关系。你可以参考Flux如何使得React应用实现单向数据流的。
F8有一点需求,需要可以离线使用。正好Redux提供了可以存储和缓存方面的功能。用fb教程的话来说:“Redux提供了功能和易用的最佳平衡”。
其他
很多的公司虽然使用了React,但是没有使用Flow。这里有填坑番外来介绍flow的使用方法。Flow是fb为了保证js开发的时候能尽早,尽可能多的发现错误而开发的一款开源工具。
有很多的js错误,你不需要在代码运行起来以后才发现错误。只要几个flow命令就可以检测出来。如果使用Nuclide,这个React专用的开发工具的话,Flow会在你写完代码之后就给出提示。非常有帮助。
最后
这些应用开发的只是,以及开发对于开发一款React Native应用都有非常大的帮助。F8是一个开发和几个帮忙的设计开发出来的App。其中所使用的开发知识,第三方库和开发工具对于开发React尤其是React Native应用来说不是必不可少、也是非常有益的。学习掌握他们对于我们以后的开发都是大有裨益的!
React Native填坑之旅--重新认识RN的更多相关文章
- React Native填坑之旅--与Native通信之iOS篇
终于开始新一篇的填坑之旅了.RN厉害的一个地方就是RN可以和Native组件通信.这个Native组件包括native的库和自定义视图,我们今天主要设计的内容是native库方面的只是.自定义视图的使 ...
- React Native填坑之旅--Flow篇(番外)
flow不是React Native必会的技能,但是作为正式的产品开发优势很有必要掌握的技能之一.所以,算是RN填坑之旅系列的番外篇. Flow是一个静态的检查类型检查工具,设计之初的目的就是为了可以 ...
- React Native填坑之旅--布局篇
代码在这里: https://github.com/future-challenger/petshop/tree/master/client/petshop/src/controller 回头看看RN ...
- React Native填坑之旅--组件生命周期
这次我们来填React Native生命周期的坑.这一点非常重要,需要有一个清晰的认识.如果你了解Android或者iOS的话,你会非常熟悉我们今天要说的的内容. 基本上一个React Native的 ...
- React Native填坑之旅--Navigation篇
React Native的导航有两种,一种是iOS和Android通用的叫做Navigator,一种是支持iOS的叫做NavigatorIOS.我们这里只讨论通用的Navigator.会了Naviga ...
- React Native填坑之旅--ListView篇
列表显示数据,基本什么应用都是必须.今天就来从浅到深的看看React Native的ListView怎么使用.笔者写作的时候RN版本是0.34. 最简单的 //@flow import React f ...
- React Native填坑之旅--动画
动画是提高用户体验不可缺少的一个元素.恰如其分的动画可以让用户更明确的感知当前的操作是什么. 无疑在使用React Native开发应用的时候也需要动画.这就需要知道RN都给我们提供了那些动画,和每个 ...
- React Native填坑之旅--Button篇
从React过来,发现React Native(以下简称RN)居然没有Button.隔壁的iOS是有UIButton的,隔壁的隔壁的Android里也是有的.没有Button,就没有点击效果啊.这还真 ...
- React Native填坑之旅 -- 使用iOS原生视图(高德地图)
在开发React Native的App的时候,你会遇到很多情况是原生的视图组件已经开发好了的.有的是系统的SDK提供的,有的是第三方试图组件,总之你的APP可以直接使用的原生视图是很多的.React ...
随机推荐
- npm -v 一直闪
一直闪一般是配置搞错了 参考: windows安装完nodejs后做了相关环境变量配置后,cmd输入npm没反应啊 就光标一直闪 node是正常的 或者 https://segmentfault.co ...
- 配置 samba 实现文件共享
用于实现文件共享 netstat -apn|grep smb 可以按到 smb服务,需要开启139 .445端口号 需要在防火墙添加如下规则vi /etc/sysconfig/iptables -A ...
- JSP(include指令)页面
<%@ page language= "java" contentType="text/html;charset=UTF-8" %><html ...
- ffmpeg总结整理
ffmpeg总结整理参考链接: http://www.cnblogs.com/youngt/p/5754415.html
- The Zero
TOday is just a alpha, but there isnot 欧米伽. 编程,是你选的,是你学的,也是你喜欢的,更是你追求的.为什么要放弃塔!. 加油! 为自己. #include&l ...
- 第三节 Hello world --python初体验
祭旗--hello world 据说简单优雅.功能强大是python的魅力所在,这里看到简单了,优雅是什么样的,接下来的学习中慢慢体会吧! print ("Hello world" ...
- node.js 基础学习笔记3 -express
1.工作原理 当通过app.js建立的服务器时,会看到一个简单的页面.返回页面时,浏览器会向服务器发送请求.app会解析请求的路径,调用相应的逻辑,调用对应的视图模板,传递对象数值,最终生成HTML页 ...
- java获取classpath
public class PathTest { public static void main(String[] args) { //获取根路径三种方式 System.out.println(Path ...
- asp.net web api添加统一异常处理
1.自定义异常处理过滤器 /// <summary> /// 自定义异常处理过滤器 /// </summary> public class CustomExceptionFil ...
- 一个简单算法题引发的思考<DNA sorting>(about cin/template/new etc)
首先是昨天在北京大学oj网上看到一个简单的算法题目,虽然简单,但是如何完成一段高效.简洁.让人容易看懂的代码对于我这个基础不好,刚刚进入计算机行业的小白来说还是有意义的.而且在写代码的过程中,会发现自 ...