[初心者さん・学生さん大歓迎!] Xamarin その2 Advent Calendar 2016 の20日目です。
,(´_・ω・)_はい。始めてみることにしました。 初心者向けのアドベントカレンダーにエントリしてしまいましたが、そもそも僕自身初心者です。
環境とか
なんとなくLinuxでやり始めて、xamarin-androidのビルドを試しましたが、PCLのなんかの参照がないとかで調査に時間かかりそうなので断念。 Macなんて持ってないのでWindowsでやってみます。
Visual Studio 2015にXamarinプラットフォーム入れました。
xamarin への期待
仕事でどうこうなどではないしMacもiOSもないので、やりたいことといったらAndroidアプリをC#で書けるということ。 あとIS12TとかMADSMAとかなぜか持ってるので、こいつらをなんかしら活用するためにwindows phoneとかuwpとかのアプリも作りたいなと。
始める前に調べてみたもの
WPFとかまあ多少いじったこともあるのでXAMLとかBindingあたりはまあいいかと思いつつ
- アーキテクチャっぽいところはMVVMが鉄板のよう
- Prism とか Unity とか使うと楽できる
- behaviorも使えるらしいのでUIの制御はこちらでいろいろやればよさそう
- Azure Mobile Appsに接続するライブラリとか認証までできるらしいのでクラウドにつなぐときはそこらへん使えばいいはず
- Nunit-lightとかテストツールも問題なさそう
やってみた
とりあえずありがちなTodoリストアプリでもやってみよう。 Prismとか導入前にいったん手作業でMVVMを組んでみる。
System.ComponentModel.INotifyPropertyChanged
を実装して、プロパティのsetterで PropertyChanged
イベントを発生させるとか、 ObservableCollection
を使うのはかわってない。
ICommand
の実装が Xamarin.Forms
に用意されてるのは便利。Prismにも用意されてるのかな。
Loaded
イベントっぽいものが見つけられなかったので、 DataContext
にVM渡すタイミングがわからず。ひとまずXamlの中でリソースとして作成する方法にした。
実際触り始めたのが今日(2016/12/20)なので、データベースやネットワークまでは手が届かず。(´・ω・`) 時間をとってじっくり触ったのが半日だけ、UI以外のとこほとんどわからないままという状況に。
とりあえずやってみた感触
,(´_・ω・)_ WPF触ったとき、こんなんだったよなーという感じで書いてみて動いたので変わらず使えるMVVMアーキテクチャにはほっとします。 ただ、xamarin.formsと周辺ライブラリのバージョンコンフリクトにはまり、二回ほどプロジェクト作り直したので、そういう状況になってからのうまい復旧方法を知っておきたいと思いました。 (まあこの手の問題はどこでも同じだろうと思いますが)
やりたいこと
,(´_・ω・)_ UI以外触らないといけないですよね。
- ローカルデータベース使う
- とりあえず Azure Mobile App と接続する
- Android Wearから音声入力など試したい
明日 21日目は nia_tn1012さんです。