加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

了解React Native

发布时间:2020-12-15 08:18:07 所属栏目:百科 来源:网络整理
导读:React Native 正像它的名字,将 React 带到了原生世界,和 H5 不同的是,我们不再使用 CSS 和 HTML,而只有 js 为伴。我们也不再有那些 div,input 这些标签,而是由 View,TextInput 等等取代,更符合原生开发者们的习惯。布局上,幸而有强大的 Flexbox 支持

React Native 正像它的名字,将 React 带到了原生世界,和 H5 不同的是,我们不再使用 CSS 和 HTML,而只有 js 为伴。我们也不再有那些 div,input 这些标签,而是由 View,TextInput 等等取代,更符合原生开发者们的习惯。布局上,幸而有强大的 Flexbox 支持,如果开发者们之前有使用或者看到过 Google 在 GitHub 发布的 Android 版 FlexboxLayout,相信对它会很熟悉。原生开发中的页面栈,也由 Navigator 进行了实现(在 Android 上还有 BackAndroid 的返回键支持)。

与 WebView 不同,React Native 运行的界面,最终会被解释映射为原生的 View,可以直接使用布局边界或者 Hierarchy Viewer 看出层级(js 文件会打包为一个bundle,位于assets下面,RN引擎会加载并进行解释映射)。

好处

* 体验 web 开发的便捷,不再需要编译,重新加载一下 js 就行了
* 可以直接使用 Chrome 或者 Nuclide 调试
* Android / iOS 两端可以共享很大一部分代码(RN 还在进行 Windows,MacOS,Node-webkit 等平台的支持)
* 热更新,JS bundle 下发一下新的就行了(当然也有一定局限性,如果是 hybrid,则 native 的 RN module 部分不能更新)

坏处

* 前端开发不会原生做不了 React Native(除非你能真只用自带的那些东西),而且理解那些 RN 提供的组件也会很头晕(需要同时了解 Android 和 iOS)。
* 原生开发需要一定成本的学习实践才能掌握 React Native。毕竟 ES6 不像过去的 JS 那么傻瓜式了。
* React Native 目前仍然处于快速迭代开发的阶段,你永远也不知道下个版本自己升级需要修改多少原来的代码。
* React Native 的资料较少,尤其是国内的,更尤其是 hybrid 开发的(GitHub 上的开源项目大多是纯 RN 的)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读