React Native 的出现,让前端工程师拥有了使用 JavaScript 编写原生 APP 的能力。相比之前的 Web app 来说,对于性能和用户体验提升了非常多。 但是 React Native 的代码只兼容两个平台(iOS 和 Android),并没有兼容 Web 端访问。这里是因为 Facebook 开发人员认为 Web 端天生兼容性就巨麻烦,而且平台差异性是注定存在而且也要保留的,所以 React Native 的目标是Learn once, write anywhere,而不是Write once, run anywhere。 然而Write once, run anywhere又是一个刚需。从产品还是用户的角度试想一下,APP 的安装成本还是很高的,如何让用户马上体验到你产品的功能再决定是否要安装?此外,尤其是重要的产品,除了 APP 客户端之外,还要有一套兜底的 Web 端以便用户在某些特殊场景下使用。React Native 可以让你写一份代码跑在两个平台,但是你却还要再写一份 Web 的一模一样的应用。就显得十分蛋疼了。 于是 React web 就出现了。 React Web 介绍简单的一句话描述 React Web 就是:它帮你把 React Native 的组件做了一个 Web 端的实现,并提供相关打包工具,让你可以直接打包出一份可以跑在 Web 端的代码。 将 React Native 应用创建一个 Web 版的几个步骤为了重点突出转换过程,这里使用 React Native init 的最简 Demo 来做实验(名字叫 Awes 代码在https://github.com/taobaofed/demo/tree/gh-pages/react-web)。React Web 已经把 React Native 比较复杂的 UI Explorer Demo 跑起来了,所以只要你的代码能跑在 iOS 或者 Android 上面,你基本不用担心有什么组件上的问题。当然如果有,可以马上提 Issue 过来,我们有一个小组在支持 React web :)。 第一步:安装 React web 并进行相关配置这一步操作主要是安装react-web包以及相关依赖,并配置 webpack 打包脚本等。 为了简化这一步操作,我们开发了命令行工具react-web-cli只需要执行两行命令即可。同时命令行工具还支持启动调试服务器、打包等功能,在后面介绍。 安装 cli 工具:
安装配置 React web 等: |