为iOS和Android构建具有本机性能的混合React应用程序

是否可以使用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

发表评论