2016-04-11 5 views
4

私はXamarin.Formsプロジェクトに取り組んでいます。 Xamarin.Formsポータブルソリューションを作成すると、iOS、Android、Windows8.1、WindowsPhone 8.1のポータブルプロジェクトとプラットフォームプロジェクトがそれぞれ1つずつ得られます。Xamarin.Formsソリューションをどのように整理すればよいですか?

ポータブルプロジェクトにはすべてのUIページとロジックコードがあり、各プラットフォームプロジェクトにはすべてのプラットフォーム固有の呼び出しがあります。今度はXamarin Architectureを参照すると、6つのアプリケーション層を持つことができます。

これを達成するには、私のプロジェクト構造で何をする必要がありますか?

私はUIページを分けて別のプロジェクトに入れて、ビジネスロジックを別のプロジェクトに入れなければなりませんか? 私はXamarinの新人ですので、専門家の意見を知りたいと思います。

+1

まず、一般的な示唆に過ぎないので、まずこのドキュメントに記載されているレイヤーに厳密に従わないでください。第2に、最初の4つのレイヤー(データレイヤーからサービスへのアクセス(もしあれば)...)はコードの共通部分に含めるべきですが、残りの(実質的にUIコードとプラットフォーム固有のコード)はフォームプロジェクト。プラットフォーム固有のプロジェクト(ios、android ...)は、非常に特定のカスタマイズにのみ使用する必要があります。 – markusian

+0

「コードの共通部分」とはポータブルプロジェクトを意味しますか?フォームプロジェクトは何ですか?私の場合、一般的なUIを含むすべての共通部分はポータブルプロジェクトにあります。 – Arti

+4

あなたのやっていることは、すでに私の意見では大丈夫です。より大きな分離を望むなら、ポータブルプロジェクトにすべてのUIを残して、すべての一般的なもの(データベース、ビジネスロジック...へのアクセス)を新しいプロジェクトに移動することができます。プラットフォーム。たとえば、App.Common、App.Forms、App.iOS、App.Android ... – markusian

答えて

1

Web/Desktop用に同じプロジェクトを実装する必要がある場合は、どうやってそれを実行しますか?ここでも同じ実装を使用します。

基本的に、Xamarin.Formsソリューションでは、ポータブルクラスライブラリプロジェクトは、アプリケーションのエントリポイントです。 iOS、Android、Windows 8.1、WindowsPhone 8.1プロジェクトは、各プラットフォームのポータブルクラスライブラリプロジェクトにUIをパッケージ化するために使用されます。したがって、各プラットフォームのUIを書き換える必要はありません。

すべてのDTO、データアクセスレイヤーおよびアルゴリズムは、ポータブルクラスライブラリプロジェクトに直接参照されます。

+1

したがって、@markusianがApp.common、App.portable、App.iOS、App.Anroid ..を持つ構造が最良の構造になります。 – Arti

+0

@Artiはい、そうだと思います。 –

関連する問題