[初心者さん・学生さん大歓迎!] 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あたりはまあいいかと思いつつ

やってみた

とりあえずありがちな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以外触らないといけないですよね。

明日 21日目は nia_tn1012さんです。