↑ 点击上方“尚学堂”关注我们
React Native 让开发者使用 JavaScript 和 React 编写应用,利用相同的核心代码就可以创建 Web,iOS 和 Android 平台的原生应用。React Native 的宗旨是,学习一次,高效编写跨平台原生应用。
React Native提出“Learn once, write anywhere”。使用React Native可为Android和iOS两个操作系统开发应用程序,但不同平台上的代码根据平台会有细小区别,但开发思路是相同的。
React Native允许开发者在React Native擅长的领域使用React Native开发,而在React Native不能实现的领域或者已经有原生代码实现好的领域直接使用原生代码。React Native 代码开发模块与原生代码开发的模块可以双向通信、无缝衔接。
1.提供了原生的控件支持
使用 React Native 你可以使用原生的控件,入在iOS平台我们可以使用UITabBar控件,在Android平台我们可以使用Drawer控件。这样,就让我们的App从使用上和视觉上拥有像原生App一样的体验。而且使用起来也非常简单。
2.异步执行
所有的JavaScript逻辑与原生的代码逻辑都是在异步中执行的。原生的代码逻辑当然也可以添加自己的额外的线程。
这个特性意味着,我们可以将图片解码过程的线程从主线程中抽离出来,在后台线程将其保存在磁盘中,在不影响UI的情况下计算调整布局等等。
所以,这些让React Native开发出来的App都是较为的流畅。
这个之间的通信过程也是有序列化来完成的,这个就让我们可以使用Chrome Developer Tools 来完成JavaScript逻辑的调试,当然我们也能够在模拟器和物理设备上调试。
3.触屏处理
React Native实现了高性能的图层点击与接触处理。
4.Flexbox的布局样式
使布局将变得更简单,这就使我们为什么要将网页的布局模式切换到React Native的Flexbox布局模式。Flexbox让UI布局变得简单,入使用margin和padding的嵌套模式。当然,React Native 同样也支持网页原生的一些属性布局模式,如FontWeight之类的。这些声明的布局和样式,都会存在内联的机制将其优化。
5.Polyfills机制
React Native也支持我们使用第三方的JavaScript库,来方便我们的开发。支持npm中的成千上万的模块。
6.基于React JS
拥有React JS的优良特性。
-
React Native的导航不是无缝的
-
React Native的UI比较复杂
如之前所介绍的,Android与IOS跨平台开发框架如此这多,如之前我们介绍的PhoneGap、Xamarin等,为什么重点关注React Native呢?
-
1、Facebook所开源的框架
我们知道,所有的开源框架,只有是一线的大公司研发出来的才能够保证框架的维护性、可用性。当然,这样也会吸引更多的开发者使用这个框架,才能够使我们在人才储备上有人可用。并不是说,框架多好就能够用的。如国内的CrossApp,虽然很好用,但是知名度不够,造成我们研发、bug反馈、人才招聘上的种种窘境。
-
2、React JS技术的革命
这个东西也就是国内的很多跨平台框架没有关注的地方,Facebook使用了React JS已经有了好几年的技术变革,特别是JSX与Virtual DOM的加入,给使用JavaScript来开发Native App简直是一个质的飞跃。
-
3、BAT团队已经投入研发与使用
如果很多中小型公司,看不清方向,这个我们倒是可以模仿BAT的脚步。现在的BAT公司内部,特别是A,已经投入了大量的人力在React Native上面,听说TMall App已经开始使用React 进行重构。
目前对于Facebook来说,他们的新业务线也将直接使用了React Native的开发模式。
使用React Native进行跨平台开发的一些关键原因包括以下几点。
-
通过单一代码库,开发人员可以享受iOS和Android更快的开发速度。
-
React Native带有Node Package Manager来处理软件包。
-
React Native提供了一个强大且不断增长的开发者社区。
-
React Native提供了对许多高质量第三方库的访问。
Web前端全系列第二十阶段:ReactNative跨平台应用开发框架
React Native使你只使用JavaScript也能编写原生移动应用。它在设计原理上和React一致,通过声明式的组件机制来搭建丰富多彩的用户界面。React Native产出的并不是“网页应用”, 或者说“HTML5应用”,又或者“混合应用”。最终产品是一个真正的移动应用,从使用感受上和用Objective-C或Java编写的应用相比几乎是无法区分的。React Native所使用的基础UI组件和原生应用完全一致。你要做的就是把这些基础组件使用JavaScript和React的方式组合起来。React Native完美兼容使用Objective-C、Java或是Swift编写的组件。如果你需要针对应用的某一部分特别优化,中途换用原生代码编写也很容易。想要应用的一部分用原生,一部分用React Native也完全没问题 —— Facebook的应用就是这么做的。
第二十阶段:React Native跨平台应用开发框架 |
第一章:环境搭建与常用组件 |
第二章:ReactNative路由配置react—navigation |
第三章:导航实战练习 |
第四章:集成Redux |
全套章节详细课程大纲
扫码查看
文章评论