Xamarin は、C# で iOS、Android、Windows、Mac OS のアプリケーションを開発できるクロス プラットフォーム開発環境だ。
ネイティブにアプリケーションを書けるのを特長としており、それぞれのプラットフォーム用のコードを C# で記述できる。
その為、特化した部分はプラットフォーム毎に別個に書く必要があり、複数のプラットフォームで動作するアプリケーションを効率よく書く為には、いかにコードを共通化するか、が重要となる。
Xamarin は、PCL (Portable Class Library: 複数のプラットフォームに対応可能な .NET Framework のクラス ライブラリ) に対応しており、ここにできるだけ多くのコードを集めたい。 その為には、MVVM (Model-View-ViewModel) パターンで Model と ViewModel の部分を PCL において共通化し、なるべく View の薄い部分だけを個々に記述するようにしたいものだ。 画面の記述は、プラットフォームによって異なるので、個々の画面の記述をできるだけ薄くし、内部処理等を切り離して共通化する訳だ。
Xamarin から利用できる MVVM フレームワーク "MvvmCross" 関連の情報を集めてみた。
- MvvmCross の紹介
- N plus 1 Videos Of MvvmCross · MvvmCross/MvvmCross Wiki
- Xamarin - マルチプラットフォーム MVVMフレームワーク「MvvmCross」を使う - Qiita
- MvvmCross と Xamarin for Visual Studio で iOS, Android, Windows アプリを作る流れ - Yuta Watanabe's Blog
- Xamarin を使って iOS, Android, Windows ストアアプリを効率的に開発する! - デベロッパーズブログ- フェンリル
- Cross platform development with Xamarin 2.0 + MvvmCross 伊勢 シン, Room metro #23 (2014.03.01) - slideshare
- Xamarin+MvvmCrossでAndroidもデータバィンディング - 眠るシーラカンスと水底のプログラマー
- Xamarin+MvvmCrossでiPhoneもデータバィンディング - 眠るシーラカンスと水底のプログラマー
- 主にストアアプリが作りたい!! しかも iOS とか Android アプリとかも作りたい!! Makoto Nishimura, Hokuriku.NET #13 (2014.01.25) - slideshare
- MvvmCross のインストール
- Xamarin Studio に NuGet で MvvmCross をインストールする - Yuta Watanabe's Blog
- MvvmCross で使うコード スニペットを Visual Studio に追加する - Yuta Watanabe's Blog
- Xamarin+MvvmCrossでアプリ開発をはじめる準備 2014年3月版 - Qiita
- Xamarin StudioでNuGetを使う - 三角Validator
- PCL and .NET NuGet Libraries are now enabled for Xamarin - .NET Blog - MSDN Blogs
- MvvmCross 以外のクロスプラットフォーム MVVM フレームワーク
- 関連情報