使用Facebook的React JavaScript框架,是否可以构建适用于iOS和Android的应用程序,并提供几乎与原生应用相同的性能?
使用Facebook的React JavaScript框架,是否可以构建适用于iOS和Android的应用程序,并提供几乎与原生应用相同的性能?
直到2015年1月,使用混合方法在WebView组件内运行React JavaScript部分将是唯一的选择,使用像Apache Cordova这样的框架,带有典型缺点。像JavaScript垃圾收集之类的任务可能会减慢应用程序的本地部分,导致跳帧,使应用程序感觉迟缓。
在2015年1月28日Facebook宣布了React Native项目,该项目在React.js Conf 2015上发布。React Native将是一个开源项目,可实现使用React构建的HTML5应用程序在iOS和Android上进行本地渲染。 Facebook在内部使用React Native来构建诸如Facebook Groups iOS应用之类的应用程序。
从技术上讲,React Native在后台线程中运行React应用程序的JavaScript代码。虚拟dom的更新被收集,并通过API发送到应用程序的本地部分中进行所有更改。通过这样做,React Native避免了通过使应用程序等待未完成的JavaScript操作而减慢应用程序的FPS速率。
Facebook宣布,React Native的源代码将在React.js Conf 2015之后不久在Github上提供。会议参与者将在2015年1月29日之前就能访问Github存储库。更新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
如上所述,您只能在iOS上使用React Native。
如果您想要在两个平台上使用React: