是否可以使用 Facebook 的 React JavaScript 框架为 iOS 和 Android 构建应用程序,提供与原生应用程序几乎相同的性能?
2 回答
直到 2015 年 1 月,使用在 WebView 组件中运行 React JavaScript 部分的混合方法一直是唯一的选择,使用像Apache Cordova这样的框架,这种方法具有典型的缺点。JavaScript 的垃圾收集等任务会减慢应用程序的本机部分,导致跳帧,使应用程序感觉迟缓。
1 月 28 日,Facebook 在React.js Conf 2015上宣布了 React Native 项目。React Native 将是一个开源项目,它支持使用 React 为 iOS 和 Android 构建的 HTML5 应用程序的原生渲染。Facebook 内部使用 React Native 构建应用程序,例如 iOS 的 Facebook 群组应用程序。
从技术上讲,React Native 在后台线程中运行 React 应用程序的 JavaScript 代码。收集对虚拟 dom 的更新,所有更改都通过 API 发送到应用程序的本机部分。通过这样做,React Native 通过让应用程序等待未完成的 JavaScript 操作来避免减慢应用程序的 FPS 速率。
Facebook 宣布 React Native 的源代码将在 React.js Conf 2015 之后不久在 Github 上提供。会议参与者将在 2015 年 1 月 29 日访问 Github 存储库。
更新:包含一些技术细节的第二个演示视频React.js Conf 2015 Keynote 2 - A Deep Dive into React Native现在在 Youtube 上。在演示过程中,Facebook 宣布 iOS 和 Android 的布局和盒子模型引擎渲染的源代码可在 Github 上的以下存储库中获得:github.com/facebook/css-layout
用于 React Native 的 iOS 版本的动画库托管在https://github.com/facebook/pop
更新 2:源代码现已在 Github 上可用 React Native 源代码现已可用https://github.com/facebook/react-native。
更新 3:React 团队于 2015 年 9 月发布了 Android 支持 https://code.facebook.com/posts/1189117404435352/react-native-for-android-how-we-built-the-first-cross-platform-react-native -应用程序/
可以在此处找到开始使用 React Native Android 开发的说明: https ://facebook.github.io/react-native/docs/android-setup.html
如上所述,您只能在 iOS 上使用 React Native。
如果你想在两个平台上都使用 React:
- 查看 Reapp ( http://reapp.io/ )。它是一个 React + Javascript 框架,用于构建具有酷炫功能的 iOS 和 Android 应用程序。
- 也许试试 Touchstone ( http://touchstonejs.io/ )。基本上:React + Cordova + HTML5/CSS3 UI。文档也即将推出。