首页 文章

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

提问于
浏览
24

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

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

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

谢谢 .

1 回答

  • 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)
    

相关问题