Ist es möglich, Linux-Anwendungen mit Xamarin mit derselben Codebasis zu entwickeln und zu erstellen?
Nach ein paar Jahren mit Ubuntu ist mein Hauptbetriebssystem jetzt wieder Windows. Aber es ist nicht unmöglich, dass ich zu Mac wechseln könnte.
Im Moment habe ich ein bisschen Erfahrung mit Qt und keine Erfahrung mit Xamarin. Mit Qt können Sie entwickeln auf Windows, Linux und Mac und für Windows, Linux, Mac, iOS, Android, Windows Mobile, ... Sie sind ziemlich klar darüber.
Da Xamarin jetzt kostenlos und Open Source ist und ich noch nicht viel Erfahrung mit Qt habe, denke ich darüber nach, Xamarin für die plattformübergreifende Entwicklung anstelle von Qt auszuprobieren.
Meine Software für Linux nicht veröffentlichen zu können, wäre für mich ein Deal Breaker. Unter Linux entwickeln zu können wäre schön, ist aber optional. Aber nachdem alle meine Google Forschung, konnte ich nur Informationen und Menschen um Hilfe bitten Sie zu entwickeln , auf Linux und nicht für Linux.
Soweit ich weiß, sollte dies mit Mono allein kein Problem sein. Aber soweit ich Xamarin> Mono kenne und ich nicht alles in Mono bekomme, was ich in Xamarin bekommen könnte.
Ich bin mir auch nicht sicher, wie gut Mono in Zukunft unterstützt wird. Für mich scheint Xamarin für Microsoft viel wichtiger zu sein als Mono selbst.
Ich bin mir nicht sicher, ob es überhaupt möglich ist, da Xamarin auf Mono basiert, aber es ist möglich, dass Microsoft irgendwann beschließt, Mono nicht mit .NET-Kompatibilität auf die gleiche Weise wie Xamarin zu unterstützen oder Mono sogar vollständig als eigenständiges System abzubrechen ?
Daher suche ich nach einem einzigen Framework für alle Desktop- und Mobilplattformen, auf die ich mich verlassen kann, und möchte wissen, ob Xamarin und / oder Mono und / oder Xamarin + Mono eine Alternative zu Qt sein könnten, bevor ich mich näher mit einer befasse dieser Lösungen.
Nein, Xamarin ist für Linux nicht verfügbar. Dies war eine bewusste Entscheidung des Xamarin-Teams vor einigen Jahren:
Zur Verdeutlichung ist die Xamarin-Produktreihe unter Linux (Xamarin Studio, Xamarin.iOS und Xamarin.Android) nicht verfügbar, aber MonoDevelop, die Grundlage von Xamarin Studio, und Mono, die plattformübergreifende .NET-Laufzeit, sind es definitiv.
Sie können Desktop-Software mit MonoDevelop erstellen. Auf der MonoDevelop-Website finden Sie zahlreiche Anweisungen für den Einstieg:
quelle
Es scheint, dass Xamarin Forms möglicherweise unter Linux-Distributionen funktioniert. In diesem reddit Thread sagt Miguel de Icaza:
Das heißt: Die Tatsache, dass Forms ein Open-Source-Tool ist, eröffnet derzeit diese Möglichkeit.
quelle
Ja, ab Mitte 2018 können plattformübergreifende GUI-Anwendungen für Windows / Mac / Linux / Android / iOS mithilfe der Bibliothek "Xamarin.Forms" entwickelt werden. Grundsätzlich haben Sie ein gemeinsam genutztes Bibliotheksprojekt aus plattformübergreifendem Code (Benutzeroberfläche und andere plattformübergreifende Inhalte) und ein Projekt pro Plattform für plattformspezifischen Code (Xamarin.Forms verfügt über eine Backend-Implementierung für jede Plattform. Unter Linux wird GTK verwendet ).
Mit MonoDevelop können Sie jedoch nur das plattformübergreifende Projekt und das Linux-spezifische Projekt der Anwendung entwickeln / erstellen. Sie müssen weiterhin Visual Studio oder Rider verwenden, um für die anderen Plattformen zu entwickeln / erstellen.
Siehe die folgende Antwort: https://stackoverflow.com/a/53317021/298005
quelle
https://github.com/0xFireball/xamarin-android-linux
Wie matthewrdev sagte, werden Xamarin.Studio, Xamarin.iOS und Xamarin.Android nicht "offiziell" unterstützt. Xamarin.iOS verwendet jedoch ohnehin einen virtuellen Emulator (und ich glaube nicht, dass es eine Problemumgehung für Xamarin.iOS unter Linux geben wird), sondern für Xamarin Studio (MonoDevelop unter Linux oder Jetbrains Riders (wie man es unter Linux ausführt) Der Link kann auch unter Linux als Alternative für Xamarin.Studio ausgeführt werden. Dieser Link, den ich geteilt habe, erklärt, wie Xamarin.Android unter Linux installiert wird. Nur für Xamarin.iOS müssen Sie also migrieren oder Dual Boot oder etw, ich hoffe das hilft! (Ich habe Xamarin selbst nicht mehr verwendet, aber diese Umgebung hilft bei der Entwicklung für Xamarin unter Linux!)
quelle