React-native简介
使用JavaScript和React编写原生移动应用---React Native使你只使用JavaScript也能编写原生移动应用。
React Native是一个跨平台移动APP开发框架。React Native产出的并不是“网页应用”, 或者说“HTML5应用”,又或者“混合应用”。 最终产品是一个真正的移动应用,从使用感受上和用Objective-C、Swift或Java、Kotlin编写的应用相比几乎是无法区分的。
React Native 提供了与 iOS 平台、Android 平台混合开发的接口,让开发者可以在 React Native 中调用 iOS 平台与 Android 平台中任意的原生 API 或使用原生代码编写的组件。 如果你需要针对应用的某一部分特别优化,中途换用原生代码编写也很容易。 想要应用的一部分用原生,一部分用React Native也完全没问题 —— Facebook的应用就是这么做的。
React简介
React 框架是一个优雅、现代的前端开发框架。传统的 HTML 页面更新页面元素/整个页面,都是将整个页面重新加载重绘,这样操作的代价很昂贵。后来,有了 AJAX(Asynchronous JavaScript And XML)这样的局部更新技术,实现了页面局部组件的异步更新,不过 AJAX 在代码的编写、维护、性能以及更新粒度的控制上还是没有达到一个完美的状态。
React 通过在框架底层设计了一个虚拟 DOM(在 HTML 网页上,组织页面(或文档)的对象元素被组织在一个树形结构中,用来表示文档中对象的标准模型就称为 DOM),此虚拟 DOM 与页面上的真实 DOM 进行映射,当业务逻辑修改了 React 组件中的 state 部分,React 框架底层的 diff 算法会比较虚拟 DOM 与真实 DOM 的差异,只更新差异的部分。并且 React 并不会在 state 更改的第一时间就去执行 diff 并更新页面 DOM,而是将多次操作汇聚成一次批量操作,这样大大提升了页面更新重绘的效率。
React Native 框架在 React 框架的基础上,底层通过转换JavaScript 代码到 iOS 平台与 Android 平台的原生代码调用,这样就可以通过 JavaScript 代码编写出调用 iOS 平台与 Android 平台原生代码的 App。