Riderで始めるXamarin.Forms
はじめに
C#でAndroid/iOSアプリの開発が出来るXamarin。開発するにはWindowsではVisual Studio、macOSではVisual Studio for Macを利用するのが手っ取り早いのです。しかしながらVS for Macは、JetBrains系に慣れ親しんでしまった筆者にはどうにも使いづらいため、Riderを使用してmacOSでXamarin.Formsアプリを開発する方法を紹介します。
作ってみる
環境
- macOS 10.13
- Rider 2017.3
プロジェクト作成
まずはRiderを起動し、Xamarin.Formsの新規プロジェクトを作成します。
左ペインからXamarin Applicationを選択し、画像の通り作成します。
種別 | 値 |
---|---|
Platform | Multiplatform |
Type | Xamarin.Forms |
Shared Code | Portable Class Library |
Framwork | .Net Portable 4.6 |
Profile | Profile151 |
この設定で作成すると、iOS/Androidプラットフォーム用のプロジェクトと共通コードを書くプロジェクトが生成されます。
ライブラリプロジェクトの.NET Standard化
Shared Codeで選択したPCL(Portable Class Library)は.NETのコードを複数の異なる環境(例えばWindowsアプリ、Windows Phone、Windows 8アプリ)で共有するためのプロジェクト種別です。Profileによって何をターゲットにするのかを選択し、使用出来るAPIが最大公約数的に変化します。近年は異なる環境向けのライブラリを作成するにはPCLではなく.NET Standardという種別を利用するのが普通でXamarin.Formsも2.4から.NET Standard 2.0に対応したため、ここでもPCLから.NET Standardへ共通コードを書くライブラリプロジェクトを差し替えます。
ちなみにVisual StudioでXamarin.Formsプロジェクトを作成すると、最初からPCLではなく.NET Standardで生成されます。
App1ライブラリプロジェクトの削除
ソリューションエクスプローラー上からApp1プロジェクトを削除します。App1に元々含まれていたファイルは後で利用する為、App1ディレクトリをApp1_PCLへリネームします。
App1ライブラリプロジェクトの再作成
ソリューションを右クリックして新規プロジェクト作成画面を開きます。
左ペインから.NET Core > Class Libraryを選択して、App1という名前でプロジェクトを作成します。
プロジェクトファイルの移動
先の手順でApp1_PCLへリネームしたディレクトリから、 App1.xaml
App1.xaml.cs
App1Page.xaml
App1Page.xaml.cs
を新しく作成したApp1プロジェクトへ異動します。またプロジェクト作成時に同時に作成されるClass1.csファイルは削除します。
Nuget参照の追加
ソリューションからNuget画面を開き、App1、App1.Droid、App1.iOS全てについて、Xamarin.Forms 2.5.xを参照として追加します。
iOSアプリの起動
iOSプロジェクトを右クリックして実行すると、Xamarin.Formsアプリが起動します。
まとめ
Riderを使用してXamarin.Formsを作成すること自体は簡単にできますが、Riderに同封されているプロジェクトテンプレートが古めかしいのが難点です。RiderはXAMLのライブプレビュー等も非対応で「とりあえず作れる」程度なので、Visual Studio(Windows版。CommunityでOK。)が使える環境があるのならVisual Studioを利用する方をお勧めします。なんとまとまりの無い。。。