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

时间:2015-01-29 13:31:22

标签: android ios reactjs reactjs-native

是否可以使用Facebook的React JavaScript框架为iOS和Android构建应用程序,提供与本机应用程序几乎相同的性能?

2 个答案:

答案 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:

  • 查看Reapp(http://reapp.io/)。这是一个用于构建iOS和Linux的React + Javascript框架。具有很酷功能的Android应用程序。
  • 也许试试Touchstone(http://touchstonejs.io/)吧。基本上:React + Cordova + HTML5 / CSS3 UI。文档即将推出。