你能用Xamarin开发Linux应用程序吗



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

在使用Ubuntu几年后,我现在的主要操作系统又是Windows。但我也不是不可能换成Mac。

现在我对Qt有一些经验,但对Xamarin没有经验。使用Qt,您可以在Windows、Linux和Mac上开发,并在Windows、Linux、Mac、iOS、Android、Windows Mobile。。。他们对此非常清楚。

由于Xamarin现在是免费开源的,而且我在Qt方面还没有太多经验,我正在考虑试用Xamarin来进行跨平台开发,而不是Qt。

不能发布我的Linux软件对我来说将是一个交易破坏者。能够在Linux上开发会很好,但这是可选的。但在我对谷歌进行了所有研究后,我只能找到信息和寻求支持的人,在Linux上开发,而不是在Linux上开发

据我所知,这不应该是单声道的问题。但据我所知,Xamarin>Mono,我并没有在Mono中获得我在Xamarin中所能获得的一切。

我也不确定Mono在未来会得到多好的支持。对我来说,Xamarin对微软来说比Mono本身重要得多。

我不确定这是否可能,因为Xamarin是基于Mono的,但微软是否有可能在某个时候决定不像Xamarin那样支持与.NET兼容的Mono,甚至完全取消Mono的独立版本?

因此,我正在为我可以依赖的所有桌面和移动平台寻找一个单一的框架,在深入研究这些解决方案之前,我想知道Xamarin和/或Mono和/或Xamarin+Mono是否可以替代Qt。

万一有人来过这个问题:情况已经改变了。对于Xamarin.Forms 3.0,Gtk#是受支持的(目前作为预览)。因此,启用了对Linux GUI的完全支持。

因此,Xamarin现在涵盖:

  • Android
  • iOS
  • UWP应用程序
  • WPF应用程序
  • Linux Gtk桌面应用程序
  • Mac操作系统
  • Watch操作系统
  • 电视操作系统
  • Tizen

剩下的唯一愿望是:JS/HTML5 Web应用程序目标平台,作为Xamarin的一部分:)

否,Xamarin不适用于Linux。这是Xamarin团队几年前做出的一个有意识的决定:

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

我们在这里面临一个QA问题。

支持Linux的问题在于,我们需要创建自大多数以来,我们运送的所有零件都采用了独立的Mono包装当谈到Mono时,Linux发行版有点过时。

这也意味着,如果我们宣传"Linux",我们将需要QA十几个由于不同的Linux发行版和每个发行版的不同版本。

也许我们只支持单一的分发和版本,这更接近于我们今天在Windows/Mac上所要做的。

需要澄清的是,Xamarin产品系列在Linux(Xamarin Studio、Xamarin.OS和Xamarin.Android)上不可用,但Xamarin工作室的基础MonoDevelop和跨平台.NET运行时Mono肯定可用。

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

  • 在Linux上安装MonoDevelop

看起来Xamarin Forms有可能在linux发行版上工作。在这个reddit线程Miguel de Icaza说:

我们的一些团队成员实际上是在Linux中开发的。我们为什么从未发布Linux工具是因为我们收取了很多费用金钱和人们会理所当然地期望该软件支持。我们已经足够让Mac和Windows用户满意了添加数量未知的Linux发行版听起来很难任务现在我们正在开源SDK,我不再觉得如果某些东西在特定的Linux配置下不起作用,那就很糟糕,我很乐意发布Linux版本。

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

是的,截至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

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

正如matthewerdev所说,Xamarin.Studio、Xamarin.iOS和Xamarin.Android都不"官方"支持;然而,Xamarin.iOS无论如何都使用虚拟模拟器(我认为Xamarin.iOS在Linux上运行不会有变通办法),但对于Xamarin Studio(在Linux上的MonoDevelop或Jetbrain的Riders(链接中还提供了如何在没有官方支持的情况下在Linux上运行它),可以作为Xamarin.Studio的alt在Linux上执行,我分享的链接解释了如何在Linux上安装Xamarin.Android,所以对于Xamarin.iOS,你需要迁移或双启动或其他什么,我希望这会有所帮助!(我自己已经停止使用Xamarin了,但是,这个环境有助于在linux上为Xamarin开发!)

GTK被列为Xamarin.支持的平台/后端之一。允许为linux(以及macOS和Windows通过同一GTK项目)构建应用程序的窗体。尽管自2018/2019年和Xamarin.Forms 3.0以来,似乎没有太多的发展。尝试运行2个具有基本UI的应用程序,并在Windows/macOS上比较GTK backedn(与WPF和Xamarin.mac后端相比),发现GTK不值得追求(基本场景失败)。

您可以在上跟踪GTK进度https://github.com/jsuarezruiz/forms-gtk-progress/blob/master/Status.md

在Ubuntu 20.04上,您可以使用XSP4运行ASP.Net MVC 5应用程序。打开一个控制台,在那里安装MVC应用程序,所有文件夹,Global.asax,Web.config,…都在那里,然后运行"xsp4-端口80";或您喜欢的任何其他可用端口。XSP4是一个独立的web服务器,不需要运行Apache。此外,对于C#开发人员来说,即使MonoDevelop不在Ubuntu 20.04中,我也不知道为什么,你仍然可以安装它并调试你的ASP.Net MVC应用程序。您还可以使用MonoDevelop调试任何WinForm和控制台应用程序。您也可以使用mono运行所有应用程序。

最新更新