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 回答
不,Xamarin不适用于Linux . 这是几年前由Xamarin团队制作的conscious decision:
为了澄清,Xamarin产品系列不适用于Linux(Xamarin Studio,Xamarin.iOS和Xamarin.Android),但Xamarin Studio的基础MonoDevelop和跨平台.NET运行时Mono绝对是 .
您可以使用MonoDevelop构建桌面软件 . MonoDevelop网站有很多关于入门的说明:
以防其他人遇到这个问题:情况发生了变化 . 使用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 :)的一部分:)
似乎Xamarin Forms有可能在Linux发行版上工作 . 在此reddit thread Miguel de Icaza说:
那就是: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上运行)链接中也提供没有官方支持)可以在Linux上作为Xamarin.Studio的alt运行,我分享的链接解释了如何在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来开发/构建其他平台 .
请参阅以下答案:https://stackoverflow.com/a/53317021/298005