[c#] Developing with Xamarin for Linux



Answers

Seems that there is a chance of Xamarin Forms work on linux distros. In this reddit thread Miguel de Icaza says:

Some of our team members actually develop in Linux. The reason why we never released the Linux tools is because we were charging a lot of money and people would rightfully expect the software to be fully supported. We had enough keeping our Mac and Windows users happy, and adding an unknown number of Linux distributions sounded like a hard task. Now that we are open sourcing the SDKs and I no longer will feel bad if something does not work under a particular Linux configuration, I will be happy to release the Linux builds.

That is: the fact that Forms is an open source tool currently opens this possibility.

Question

Is it possible to develop and build Linux applications with Xamarin with the same code base?
After a few years with Ubuntu my main OS right now is Windows again. But it's not impossible, that I could switch to Mac.

Rigth now I have a bit experience with Qt and no experience with Xamarin. With Qt you can develop under Windows, Linux and Mac and for Windows, Linux, Mac, iOS, Android, Windows Mobile, ... They are pretty clear about that. Since Xamarin is free and open source now and I still don't have much experience in Qt I'm considering trying out Xamarin for cross plattform development instead of Qt.

Not being able to release my software for Linux would be a dealbreaker for me. Being able to develop under Linux would be nice, but is optional. But after all my Google research I could only find information and people asking for support to develop under Linux and not for Linux.

As far as I know this shouldn't be a problem with Mono alone. But as far as I know Xamarin > Mono and I don't get everything in Mono I could get in Xamarin. I'm also not sure how well supported Mono will be in the future. For me it looks like Xamarin is much more important for Microsoft than Mono itself. I'm not sure if it's even possible, since Xamarin is based on Mono, but is it possible, that Microsoft at some point descides not to support Mono with .NET compatibility in the same way as Xamarin or even cancel Mono as standalone completely?

So I'm looking for one single framework for all desktop and mobile platfforms I can rely on and I want to know if Xamarin and/or Mono and and/or Xamarin+Mono could be an alternative to Qt before I go deeper in any of those two solutions.




Just in case someone else comes accross this q/a: the situation has changed. With Xamarin.Forms 3.0, Gtk# is supported (as preview, at this moment). Therefore, full Linux GUI support is enabled.

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

So, Xamarin now covers:

  • Android
  • iOS
  • Windows Mobile
  • Windows desktop applications
  • Linux Gtk desktop applications

The only thing left to wish for: JS/HTML5 Web App target platform, as part of Xamarin :)






Links