是否可以使用Facebook的React JavaScript框架为iOS和Android构建应用程序,提供与本机应用程序几乎相同的性能?
答案 0 :(得分:45)
直到2015年1月,使用在WebView组件中运行React JavaScript部分的混合方法将是使用Apache Cordova等框架的唯一选择,具有此方法的典型缺点。像JavaScript的垃圾收集这样的任务可以减慢应用程序的原生部分,导致跳过帧,使应用程序感觉迟钝。
1月28日Facebook announced React.js Conf 2015的React Native项目。 React Native将是一个开源项目,它支持使用React for iOS和Android构建的HTML5应用程序的本机呈现。 Facebook内部已经使用React Native来构建类似iOS的Facebook Groups应用程序的应用程序。
从技术上讲,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-app/
可以在此处找到开始使用React Native Android开发的说明: https://facebook.github.io/react-native/docs/android-setup.html
答案 1 :(得分:0)
如上所述,您只能使用React Native for iOS。
如果您想在两个平台上使用React: