React Native v Xamarin Forms - 选择跨平台应用程序环境

Hug*_*hgo 25 android ios windows-phone xamarin.forms react-native

我一直在寻找Xamarin Forms来构建跨平台应用程序.我们想要一个针对iOS,Android和Windows Phone的框架.它似乎是一个不错的产品,但许可证成本可能会导致我们的业务模式出现问题,而Windows Phone开发的许可也不清楚.

我遇到了另一个名为React Native的框架,声称能够构建跨平台的应用程序.我想知道是否有人能够让我了解它的优点和缺点,特别是如果可能的话,相对于Xamarin Forms.有一件事是它使用Javascript,它可能无法很好地扩展(无论是代码维护还是执行性能).但是,如果有人密切关注React,并对其有用性形成了一些客观的意见,我将不胜感激.

https://facebook.github.io/react-native/

谢谢.

Mar*_*reu 20

披露:我不是Facebook或微软的员工,我不参与任何一个平台,我是一个刚开始学习如何使用本机开发的网络开发人员.

反应原生

由facebook和开源构建 - 它目前(截至2015年10月)仅支持iOS和Android.它类似于Xamarin,因为您构建的UI组件被转换为本机组件,而不是在Web视图中运行,例如在其他框架中(例如:Cordova); 优点是本机组件比Web组件响应更快.

应用程序应该能够共享业务逻辑代码和大多数UI组件,但是当后面的团队反应本机时,每个平台都有自己独特的界面,而您的应用程序应该考虑到这一点,因此它允许并鼓励您(虽然它没有强制执行)为每个平台编写应用程序UI界面.

所有代码都是用Javascript(不是Java)编写的,在nodejs进程中运行,使用XML元素描述UI,并使用类似于CSS的模式进行样式化,但在内部解析为Javascript.

您的应用程序将在两个线程中运行,即运行大多数UI的主线程,以及运行业务逻辑的nodejs线程.当您构建应用程序时,这会产生一些影响.

该框架已经足够成熟,可以构建生产就绪的应用程序,但官方支持的跨平台组件仍需要增加.社区也在构建您可能想要使用的优秀跨平台组件,大多数(如果不是全部)都是免费的.

现在反应原生工作的团队是什么?(根据我在网上观看的会谈):

  • 修复资产的工作流程 - 目前,如果您修改资产,首先必须在支持的每个平台的不同位置执行此操作,并且为了在开发时查看更改,您必须重新编译应用程序.
  • 增加反应原生UI元素的数量(特别是对于android平台)

总之,这些是您需要考虑的要点:

                 Xamarin                     React Native

built by:        Xamarin                     Facebook
language         C#                          Javascript (nodejs)
age              mature                      (prod ready), but not mature
community:       good support                good support
platforms        iOS, Android, Windows       iOS, Android
cost             FREE (open sourced)         FREE (open sourced)
Run Code Online (Sandbox Code Playgroud)

  • 更新:微软刚买了Xamarin :) http://www.wired.com/2016/02/microsoft-expands-empire-beyond-windows-xamarin-buy/ (7认同)
  • 这是2016年,我不会说Xamarin是"成熟的".这显然是相对的,但是Xamarin Studio每天都会崩溃,或者奇怪的东西(比如:所有菜单突然变灰,除了键盘快捷键之外你不能退出).专业用途产品难以接受,更不用说花费这么多了.在我看来,Xamarin.Forms处于"有希望的alpha"质量水平.我希望微软把一辆装满了钱的汽车推到这里并真正把事情分类 (4认同)
  • 截至今天,Xamarin也是免费开源的 (4认同)
  • 截至今天,React Native还支持Windows:D https://blogs.windows.com/buildingapps/2016/04/13/react-native-on-the-universal-windows-platform/ (3认同)
  • 截至今天,React Native非常棒!(谁知道明天,因为它变化如此之快......) (2认同)