首页 文章

使用Xamarin for Linux进行开发

提问于
浏览
51

Is it possible to develop and build Linux applications with Xamarin with the same code base?
使用Ubuntu几年后,我的主操作系统现在又是Windows . 但这并非不可能,我可以切换到Mac .

Rigth现在我对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对于微软而言比Mono本身更为重要 . 我不确定它是否可能,因为Xamarin基于Mono,但是有可能,微软在某种程度上决定不支持Mono与.NET的兼容性与Xamarin一样,甚至完全取消单声道Mono吗?

所以我正在寻找一个可以依赖的所有桌面和移动平台的单一框架,我想知道在我深入了解之前,Xamarin和/或Mono和/或Xamarin Mono是否可以替代Qt两种解决方案

5 回答

  • 37

    不,Xamarin不适用于Linux . 这是几年前由Xamarin团队制作的conscious decision

    Miguel de Icaza 2011-08-04 11:52:37 UTC我们在这里面临质量保证问题 . 支持Linux的问题在于,我们需要为我们发布的所有位创建一个独立的Mono包装,因为大多数Linux发行版在Mono方面略有不同 . 这也意味着如果我们宣传“Linux”,由于不同的Linux发行版和每个发行版的不同版本,我们需要QA十几种不同的组合 . 也许我们只支持单个发行版和单个版本,这更接近我们今天在Windows / Mac上所做的工作 .

    为了澄清,Xamarin产品系列不适用于Linux(Xamarin Studio,Xamarin.iOS和Xamarin.Android),但Xamarin Studio的基础MonoDevelop和跨平台.NET运行时Mono绝对是 .

    您可以使用MonoDevelop构建桌面软件 . MonoDevelop网站有很多关于入门的说明:

  • 1

    以防其他人遇到这个问题:情况发生了变化 . 使用Xamarin.Forms 3.0,支持Gtk#(此时预览) . 因此,启用了完整的Linux GUI支持 .

    https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/gtk?tabs=vswin

    所以,Xamarin现在涵盖:

    • Android

    • iOS

    • Windows Mobile

    • Windows桌面应用程序

    • Linux Gtk桌面应用程序

    唯一剩下的就是:JS / HTML5 Web App目标平台,作为Xamarin :)的一部分:)

  • 4

    似乎Xamarin Forms有可能在Linux发行版上工作 . 在此reddit thread Miguel de Icaza说:

    我们的一些团队成员实际上是在Linux中开发的 . 我们之前从未发布Linux工具的原因是因为我们收取了大量资金,人们会理所当然地希望软件得到完全支持 . 我们已经足够让我们的Mac和Windows用户满意了,添加未知数量的Linux发行版听起来像是一项艰巨的任务 . 现在我们正在开源SDK并且如果某些内容在特定的Linux配置下无效,我将不再感到难过,我将很乐意发布Linux版本 .

    那就是:Forms是一个开源工具,这一事实目前开启了这种可能性 .

  • 17

    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上运行)链接中也提供没有官方支持)可以在Linux上作为Xamarin.Studio的alt运行,我分享的链接解释了如何在linux上安装Xamarin.Android,所以只需要Xamarin.iOS你需要迁移或者双启动或者......我希望这有帮助! (我停止使用Xamarin我自己,但是,这个环境有助于在Linux上开发Xamarin!)

  • 7

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

    但是,使用MonoDevelop,您只能开发/构建跨平台项目和应用程序的特定于Linux的项目 . 您仍然需要使用Visual Studio或Rider来开发/构建其他平台 .

    请参阅以下答案:https://stackoverflow.com/a/53317021/298005

相关问题