web-dev-qa-db-ja.com

Xamarin for Linuxを使用した開発

同じコードベースでXamarinを使用してLinuxアプリケーションを開発および構築できますか?
Ubuntuで数年経った今、私のメインOSは再びWindowsです。しかし、私がMacに切り替えることは不可能ではありません。

今、RigthはQtの経験が少しありますが、Xamarinの経験はありません。 Qtを使用すると、Windows、Linux、Mac、およびWindows、Linux、Mac、iOS、Android、Windows Mobileなどで開発できます。 Xamarinは現在無料でオープンソースであり、Qtの経験がまだないため、Qtではなくクロスプラットフォーム開発用にXamarinを試すことを検討しています。

Linux向けのソフトウェアをリリースできないことは、私にとって大きな障害となります。 Linuxで開発できるのはいいことですが、オプションです。しかし、Googleですべての調査を行った結果、LinuxではなくLinuxで開発するためのサポートを求める情報と人々しか見つかりませんでした。

私の知る限り、これはMonoだけの問題ではないはずです。しかし、Xamarin> Monoを知っている限り、Xamarinで取得できるすべてをMonoで取得できるわけではありません。また、Monoが今後どの程度サポートされるかはわかりません。私にとって、XamarinはMono自体よりもMicrosoftにとってはるかに重要であるように見えます。 XamarinはMonoをベースにしているのでそれが可能かどうかはわかりませんが、Microsoftは、Xamarinと同じ方法で.NET互換性を持つMonoをサポートしないか、Monoをスタンドアロンとして完全にキャンセルすることもあると考えていますか?

だから、私は信頼できるすべてのデスクトップおよびモバイルプラットフォーム用の単一のフレームワークを探しています.Xamarinおよび/またはMonoおよび/またはXamarin + MonoがQtの代替になる可能性があるかどうかを知りたいこれらの2つのソリューション。

61
JuSchu

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

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

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

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

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

おそらく、1つのディストリビューションと1つのバージョンのみをサポートすることになるでしょう。これは、現在のWindows/Macで行わなければならないことに近いものです。

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

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

43
matthewrdev

他の誰かがこのq/aに出くわした場合に備えて、状況が変わりました。 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デスクトップアプリケーション

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

28
hardyVeles

Xamarin FormsがLinuxディストリビューションで動作する可能性があるようです。これで reddit thread Miguel de Icazaのコメント:

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

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

8
Bruno Peres

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

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

4

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

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

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

2