すでに ATND に登録されているのでご存知の方もいらっしゃるかもしれませんが、来たる 11/22(土)第二回 JXUG Conference にて登壇することになりました;
第2回 Japan Xamarin User Group Conference 東日本編 : ATND
テーマは Xamarin × Prism ・・・なので Prism ネタをまた仕込まねばなりません!
というわけで「まだ」 Xamarin 対応ではない Prism を Xamarin で使えるようにする方法を調べていきたいと思います
とりあえず Prism for Windows Runtime のページ を見に行ってみたら、いくつかの機能単位にライブラリが分割されていました
これは移植が簡単になりそうだと思い、もっとも基盤機能といえそうな MVVM のライブラリ のソースをダウンロードして開いてみるとこんな感じになってました
クロスプラットフォームで流用できるコア機能が Prism.Mvvm という Portable Class Library プロジェクトになっており、各プラットフォームごとの個別実装(ViewModelLocator)がプラットフォームを表すサブ名前空間でプロジェクト分けされています
また、それぞれのプラットフォームで共有するインタフェースを集めたプロジェクトが Prism.SharedInterfaces という Portable Class Library プロジェクトにまとめられてますね
ここには DelegateCommand が実装している IActiveAware というインタフェースがありますがもう少し見てみないと使い方がよくわかりません
Prism.Mvvm 、Prism.SharedInterfaces のプロパティを開いてみると・・・
Xamarin.Android、Xamarin.iOS 対応!
これは移植したいなら Xamarin.Android、Xamarin.iOS 用に ViewModelLocator を含むプロジェクトを作成せよ!ということですかね!