我一直在寻找Xamarin Forms来构建跨平台应用程序 . 我们想要一个针对iOS,Android和Windows Phone的框架 . 它似乎是一个不错的产品,但许可证成本可能会导致我们的业务模式出现问题,而Windows Phone开发的许可也不清楚 .
我遇到了另一个名为React Native的框架,它声称能够构建跨平台的应用程序 . 我想知道是否有人能够让我了解它的优点和缺点,特别是如果可能的话,相对于Xamarin Forms . 有一件事是它使用Javascript,它可能无法很好地扩展(无论是代码维护还是执行性能) . 但是,如果有人密切关注React,并对其有用性形成了一些客观的意见,我将不胜感激 .
https://facebook.github.io/react-native/
谢谢 .
1 回答
披露:我不是Facebook或微软的员工,我不参与任何一个平台,我是一个刚开始学习如何使用本机开发的网络开发人员 .
反应原生
由facebook和开源构建 - 它目前(截至2015年10月)仅支持iOS和Android . 它类似于Xamarin,因为您构建的UI组件将转换为本机组件,而不是在Web视图中运行,例如在其他框架中(例如:Cordova);优点是本机组件比Web组件响应更快 .
应用程序应该能够共享业务逻辑代码和大多数UI组件,但是由于团队背后的反应是每个平台都有自己独特的界面,并且您的应用应该考虑到这一点,因此它允许并鼓励您(虽然它没有强制执行)为每个平台编写应用程序UI界面 .
所有代码都是用Javascript(不是Java)编写的,在nodejs进程中运行,使用XML元素描述UI,并使用类似于CSS的模式进行样式化,但在内部解析为Javascript .
您的应用程序将在两个线程中运行,即运行大多数UI的主线程,以及运行业务逻辑的nodejs线程 . 当您构建应用程序时,这会产生一些影响 .
该框架已经足够成熟,可以构建 生产环境 就绪的应用程序,但官方支持的跨平台组件仍需要增加 . 社区也在构建您可能想要使用的优秀跨平台组件,大多数(如果不是全部)都是免费的 .
现在反应原生工作的团队是什么? (根据我在网上观看的会谈):
修复资产的工作流程 - 目前,如果您修改资产,首先必须在支持的每个平台的不同位置执行此操作,并且为了在开发时查看更改,您必须重新编译应用程序 .
增加反应原生UI元素的数量(特别是对于android平台)
总之,这些是您需要考虑的要点: