您可以使用Xamarin开发Linux应用程序吗?

问题描述 投票:77回答:5

是否可以使用具有相同代码库的Xamarin开发和构建Linux应用程序?

在使用Ubuntu几年后,我现在的主要操作系统又是Windows。但是我可以切换到Mac并非不可能。

现在,我对Qt有一点经验,而对Xamarin则没有经验。使用Qt,您可以开发Windows,Linux和Mac,以及Windows,Linux,Mac,iOS,Android,Windows Mobile等。。。由于Xamarin现在是免费和开源的,而且我在Qt方面还没有太多经验,所以我正在考虑尝试使用Xamarin而不是Qt进行跨平台开发。无法为Linux发行我的软件对我来说是个大难题。能够在Linux上进行开发很不错,但这是可选的。但是经过我所有的Google研究,我只能找到信息和人们寻求支持来开发Linux,而不是Linux。

据我所知,单单不是Mono的问题。但据我所知Xamarin> Mono,但我并没有在Mono中得到所有东西,而在Xamarin中却可以得到。

我也不确定将来Mono会得到怎样的支持。对我来说,Xamarin对Microsoft而言比Mono本身重要得多。

我不确定是否有可能,因为Xamarin是基于Mono的,但是Microsoft是否有可能在某个时候决定不以与Xamarin相同的方式支持具有.NET兼容性的Mono,甚至取消Mono,完全独立吗?因此,我正在寻找一个我可以依靠的所有台式机和移动平台的单一框架,我想在更深入地了解Xamarin和/或Mono和/或Xamarin + Mono是否可以替代Qt。这些解决方案中的任何一个。

是否可以使用具有相同代码库的Xamarin开发和构建Linux应用程序?在使用Ubuntu几年之后,我现在的主要操作系统再次是Windows。但并非不可能...

以防其他人遇到这个问题:情况已经改变。使用Xamarin.Forms 3.0,支持Gtk#(此刻为预览)。因此,启用了完整的Linux GUI支持。

因此,Xamarin现在涵盖:
  • Linux Gtk desktop applications
  • Mac OS
  • Watch OS
  • tv OS
  • Tizen
  • 唯一希望的是:作为Xamarin的一部分的JS / HTML5 Web App目标平台:)
  • 否,Xamarin无法用于Linux。这是Xamarin团队几年前制作的conscious decision
  • Miguel de Icaza 2011-08-04 11:52:37 UTC

    我们在这里面临质量检查问题。

    支持Linux的问题是,我们需要创建一个自大多数以来,我们运送的所有位的独立式Mono包装关于Mono,Linux发行版略有下降。

    这也意味着,如果我们宣传“ Linux”,我们将需要对许多人进行质量检查。由于Linux发行版不同,组合也不同每个发行版的不同版本。

    也许我们只支持单一发行版和单一发行版版本,这与我们今天在Windows / Mac上必须执行的操作更加接近。

    要澄清,Xamarin产品范围在Linux(Xamarin Studio,Xamarin.iOS和Xamarin.Android)上不可用,但是Xamarin Studio的基础MonoDevelop和跨平台.NET运行时Mono绝对不可用。] >

    您可以使用MonoDevelop构建桌面软件。 MonoDevelop网站上有很多入门指南:

    Install MonoDevelop on Linux

      似乎Xamarin Forms可以在Linux发行版上工作。在此reddit thread中,Miguel de Icaza说:
    • 我们的一些团队成员实际上是在Linux中开发的。我们之所以从未发布过Linux工具是因为我们收取了很多费用金钱和人们理所当然地希望软件能够完全支持的。我们足够让Mac和Windows用户满意,并且添加未知数量的Linux发行版听起来很困难任务。现在我们开始开源SDK,而我不再感到如果某些情况在特定的Linux配置下无法正常运行,则不好我将很高兴发布Linux版本。
      即:Forms是当前的开放源代码工具这一事实打开了这种可能性。

      https://github.com/0xFireball/xamarin-android-linux

      正如matthewrdev所说,不“正式”支持Xamarin.Studio,Xamarin.iOS和Xamarin.Android;但是,Xamarin.iOS仍然使用虚拟仿真器(我认为Xamarin.iOS无法在Linux上运行),但是Xamarin Studio(Linux上的MonoDevelop或Jetbrain的Riders(如何在Linux上运行)没有解决方法。链接中没有提供官方支持)可以作为Xamarin.Studio的替代版本在Linux上运行,我共享的链接说明了如何在Linux上安装Xamarin.Android,因此仅对于Xamarin.iOS,您需要迁移或双重引导或其他功能,希望对您有所帮助(我已停止使用Xamarin我自己,但是此环境有助于在Linux上为Xamarin开发!)

      是的,截至2018年中,可以使用“ Xamarin.Forms”库开发针对Windows / mac / linux / android / ios的跨平台GUI应用程序。基本上,您有一个来自跨平台代码的共享库项目(UI和其他跨平台的东西),每个平台有一个项目用于平台特定的代码(Xamarin.Forms每个平台都有一个后端实现。在Linux上,这是使用GTK )。

      但是,通过MonoDevelop,您只能开发/构建跨平台项目和该应用程序的Linux特定项目。您仍然需要使用Visual Studio或Rider为其他平台进行开发/构建。

    c# .net linux xamarin mono
    5个回答
    52
    投票

    45
    投票
    Miguel de Icaza 2011-08-04 11:52:37 UTC

    我们在这里面临质量检查问题。

    支持Linux的问题是,我们需要创建一个自大多数以来,我们运送的所有位的独立式Mono包装关于Mono,Linux发行版略有下降。

    8
    投票
    即:Forms是当前的开放源代码工具这一事实打开了这种可能性。

    4
    投票

    是的,截至2018年中,可以使用“ Xamarin.Forms”库开发针对Windows / mac / linux / android / ios的跨平台GUI应用程序。基本上,您有一个来自跨平台代码的共享库项目(UI和其他跨平台的东西),每个平台有一个项目用于平台特定的代码(Xamarin.Forms每个平台都有一个后端实现。在Linux上,这是使用GTK )。

    但是,通过MonoDevelop,您只能开发/构建跨平台项目和该应用程序的Linux特定项目。您仍然需要使用Visual Studio或Rider为其他平台进行开发/构建。


    4
    投票
    © www.soinside.com 2019 - 2024. All rights reserved.