是否可以使用Facebook的React JavaScript框架为iOS和Android构建应用程序,提供与本机应用程序几乎相同的性能
直到2015年1月,在WebView组件中使用混合方法运行React JavaScript部分将是唯一的选择,使用Apache Cordova等框架,这种方法具有典型的缺点。JavaScript的垃圾收集等任务会减慢应用程序的本机部分,导致跳过帧,使应用程序感觉迟钝
1月28日,Facebook在React.js Conf 2015上宣布了React原生项目。React-Native将是一个开源项目,它支持使用React for iOS和Android构建的HTML5应用程序的本机呈现。React Native已被Facebook内部用于构建应用程序,如用于iOS的Facebook群组应用程序
从技术上讲,React Native在后台线程中运行React应用程序的JavaScript代码。收集对虚拟dom的更新,并通过API将所有更改发送到应用程序的本机部分。通过这样做,React Native避免了让应用程序等待未完成的JavaScript操作,从而降低应用程序的FPS速率
Facebook宣布React Native的源代码将在React.js Conf 2015发布后不久在Github上发布。会议参与者将于2015年1月29日访问Github存储库
更新:Youtube上现在出现了第二个演示视频,其中包含一些技术细节React.js Conf 2015 Keynote 2-深入了解React Native。在演示期间,Facebook宣布iOS和Android的布局和框模型引擎渲染的源代码可在Github上的以下存储库中获得:Github.com/Facebook/css-layout
用于React Native的动画库的iOS版本位于https://github.com/facebook/pop
更新2:源代码现已在Github上提供
React本机源代码现在可用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-app/
有关React本机Android开发的入门说明,请参见:
https://facebook.github.io/react-native/docs/android-setup.html