Xamarinを使用してLinuxアプリケーションを開発できますか?


81

同じコードベースでXamarinを使用してLinuxアプリケーションを開発および構築することは可能ですか?

Ubuntuで数年過ごした後、今の私のメインOSは再びWindowsです。しかし、私がMacに切り替えることは不可能ではありません。

現在、私はQtの経験が少しありますが、Xamarinの経験はありません。Qtのを使用すると、開発することができますのWindows、Linux、およびMacとのためには、Windows、Linux、Macの、iOSの、アンドロイド、ウィンドウズモバイル、...彼らはそのことについてかなり明確です。

Xamarinは現在無料でオープンソースであり、Qtの経験がまだ少ないため、Qtの代わりにクロスプラットフォーム開発用にXamarinを試すことを検討しています。

Linux用のソフトウェアをリリースできないことは、私にとって大きな問題になります。Linuxで開発できるのは素晴らしいことですが、オプションです。しかし、すべての私のGoogleの調査の後、私は情報だけと開発を支援するために求めて人々見つけることができる上でLinuxとないためにLinuxを。

私の知る限り、これはMonoだけでは問題にならないはずです。しかし、私が知っている限り、Xamarin> Monoであり、Monoですべてを取得できるわけではありません。Xamarinで取得できます。

また、Monoが将来どの程度サポートされるかはわかりません。私にとって、XamarinはMono自体よりもMicrosoftにとってはるかに重要であるように見えます。

XamarinはMonoに基づいているため、それが可能かどうかはわかりませんが、MicrosoftがXamarinと同じように.NET互換のMonoをサポートしないことを決定したり、Monoをスタンドアロンとして完全にキャンセルしたりする可能性もあります。 ?

そのため、信頼できるすべてのデスクトップおよびモバイルプラットフォーム用の単一のフレームワークを探しています。詳細を説明する前に、Xamarinおよび/またはMonoおよび/またはXamarin + MonoがQtの代替になるかどうかを知りたいです。それらのソリューションの。

回答:


62

他の誰かがこのq / aに出くわした場合に備えて、状況は変化しました。Xamarin.Forms 3.0では、Gtk#がサポートされています(現時点ではプレビューとして)。したがって、完全なLinuxGUIサポートが有効になります。

したがって、Xamarinは次のことをカバーします。

残された唯一のこと:Xamarinの一部としてのJS / HTML5Webアプリターゲットプラットフォーム:)


Xamarinで望むその他のこと:jsからc#関数を実際に呼び出して返す機能...
Alexander

1
Xamarin.MacはmacOSもカバーしていると思いますか?
フランクリンユー

1
希望の「JS / HTML5Webアプリターゲットプラットフォーム」を適切にカバーできるかどうかわからないため、コンテンツはクリーンなHTMLのままであり、WebCrawlerなどで処理できます。しかし、「なんとかして機能する」JS / HTML5 / WebAssemblyUIはすでにメリットがあります。実際のネイティブのHTMLの経験を得るために、あなたはBlazorチェックアウトする必要があり
トーマス・ハラー

1
GTK#は(マイクロソフトによって)サポートされていません。これは、マイクロソフトが貢献したり気にかけたりしないコミュニティのみの取り組みです。Linuxで開発することはできません。Windowsでビルドした後でLinuxで使用するだけです。Xamarin.Forms UIデザイナーは、Linuxではまったく利用できません。マイクロソフトは単にこれを気にしません。
トランプスター

46

いいえ、XamarinはLinuxでは使用できません。これは、数年前にXamarinチームによって行われた意識的な決定でした。

ミゲル・デ・イカザ2011-08-04 11:52:37 UTC

ここでQAの問題に直面しています。

Linuxのサポートに関する問題は、ほとんどのLinuxディストリビューションがMonoに関してわずかにずれているため、出荷するすべてのビットに対して自己完結型のMonoパッケージを作成する必要があることです。

また、「Linux」を宣伝する場合、Linuxディストリビューションや各ディストリビューションのエディションが異なるため、12の異なる組み合わせをQAする必要があることも意味します。

おそらく、単一のディストリビューションと単一のバージョンのみをサポートします。これは、今日のWindows / Macで実行する必要があるものに近いものです。

明確にするために、Xamarin製品範囲はLinux(Xamarin Studio、Xamarin.iOS、Xamarin.Android)では利用できませんが、Xamarin Studioの基盤であるMonoDevelopと、クロスプラットフォームの.NETランタイムであるMonoは間違いなく利用できます。

MonoDevelopを使用してデスクトップソフトウェアを構築できます。MonoDevelopサイトには、開始するための多くの指示があります。


ありがとう。もちろん今、Monoを使用するだけで何が欠けているのか興味深いですか?MonoはAndroidとiOSもサポートしているようです。Xamarinの利点は、IDE(利点である場合)とXamarin Test Cloudのようなものだけですか?
juSchu 2016

または、Xamarinを使用できるすべてのものに使用して、同じコードベースでLinux用にビルドすることは可能でしょうか?
juSchu 2016

5
@JuSchuMonoはiOSとAndroidをサポートしていません。そのため、XamarinはMonoTouchの名前をXamarin.iOSに、Mono forAndroidの名前をXamarin.Androidに変更しました。また、.NET / Monoは、1つのコードベースを使用してすべてのプラットフォームをサポートできるようにすることを目的としていません。コードを共有することはできますが、すべての行を共有することを夢見ないでください。
Lex Li

1
@JuSchuはい、ビジネスロジックはどこでも共有できますが、関連するビルドセッションを既にチェックアウトしている場合、共有メカニズムは現在大きな変更(PCLから.NET標準ライブラリへ)になっています。
Lex Li

7
Miguel de Icazaのチームは、Linux用のXamarinサポートすることを決定したようです:)
Upol Ryskulova 2017年

9

XamarinFormsがLinuxディストリビューションで動作する可能性があるようです。このredditスレッドで、 Miguel deIcazaは次のように述べています。

私たちのチームメンバーの何人かは実際にLinuxで開発しています。Linuxツールをリリースしなかった理由は、多額の費用がかかり、ソフトウェアが完全にサポートされることを人々が当然期待しているためです。MacとWindowsのユーザーを満足させるのに十分であり、未知の数のLinuxディストリビューションを追加するのは大変な作業のように思えました。SDKのオープンソース化が完了し、特定のLinux構成で何かが機能しなくても気分が悪くなることはなくなったので、Linuxビルドをリリースさせていただきます。

つまり、Formsがオープンソースツールであるという事実は、現在この可能性を開きます。


5

はい。2018年半ばの時点で、「Xamarin.Forms」ライブラリを使用して、windows / mac / linux / android / iosをターゲットとするクロスプラットフォームのGUIアプリケーションを開発できます。基本的に、クロスプラットフォームコード(UIおよびその他のクロスプラットフォームのもの)から1つの共有ライブラリプロジェクトがあり、プラットフォーム固有のコード用にプラットフォームごとに1つのプロジェクトがあります(Xamarin.Formsにはプラットフォームごとに1つのバックエンド実装があります。Linuxでは、これはGTKを使用しています)。

ただし、MonoDevelopでは、アプリケーションのクロスプラットフォームプロジェクトとLinux固有のプロジェクトのみを開発/ビルドできます。他のプラットフォーム用に開発/ビルドするには、引き続きVisualStudioまたはRiderを使用する必要があります。

次の回答を参照してください:https//stackoverflow.com/a/53317021/298005


4

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

matthewrdevが言ったように、Xamarin.Studio、Xamarin.iOS、およびXamarin.Androidは「公式に」サポートされていません。ただし、Xamarin.iOSはとにかく仮想エミュレーターを使用します(Xamarin.iOSをLinuxで実行するための回避策はないと思います)が、Xamarin Studio(Linux上のMonoDevelop、またはJetbrain's Riders(Linux上で実行する方法)公式サポートはリンクで提供されていません)Xamarin.Studioの代替としてLinuxで実行できます。共有したリンクでは、LinuxにXamarin.Androidをインストールする方法が説明されているため、Xamarin.iOSの場合のみ移行する必要があります。デュアルブートまたはsth、それが役立つことを願っています!(Xamarinの使用を自分でやめましたが、この環境はLinuxでのXamarinの開発に役立ちます!)


2
こんにちは、私はあなたがリンクしたガイドを維持します。一部のパスが変更されたため、しばらくの間壊れていました。本日現在、更新され、動作が確認されています。
n3n7 2018

それでも動作することを確認できます。唯一の問題はlibzip.so.4エラーにありました。そもそも持っていなかったので、次の方法でインストールする必要がありました:sudo apt-get install libzip4
ignacardel
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.