放浪軍師のアプリ開発局スマートフォン用の表示で見る放浪軍師のアプリ開発局Xamarin.Formsを使ってAndroid,iOS,UWP,WPFで動くアプリを開発したりしています。2018-04-04ReactivePropertyを学ぶXamarin.Forms放浪軍師のXamarin.Formsによるアプリ開発。今回はReactivePropertyを学んでみるよ!まず、初めて訪問された方は以下をお読みください。前回、とりあえずルーレット部分は完成したのですが、そこにたどり着くまでにtwitterで以下のようなアドバイスを受けました。2018年3月20日FF外から失礼します。ReactivePropertyは使いこなすまで慣れが必要ですが、覚えてしまうと手放せない強力なライブラリです。OnPropertyChangedとか書くコードからのステップアップにどうぞ。2018年3月20日もし導入するのでしたら、とりあえず単純に変更通知もったプロパティが簡単に作れるやつくらいの使い方でいいと思います。機能使うと強力なのは確かですが、やはり学習コストは低くないと思うので、そこは切ってしまってもいいと思います。2018年3月22日...いやぁ、すげぇわ。色んな人が助けてくれます。俺なんか足元にも及ばないような方々ですよほんと。テカホントウニイインデスカネ...カネナンテネェゾ...まぁ結局はReactivePropertyを使わずに動きはしたのですが、どうやらこのReactivePropertyというのは強力な機能であるようで、折角だし学んでみようと思います。いうか、このやり取りの直後にかずきさんがこんな記事を上げています。blog.okazuki.jpいやいや、マジで!?俺の為なの!?この記事!!本気でビビったんだが?いやまぁ俺の為ってのは言い過ぎかもしれんが...ここまでしてもらって習得しないわけにはいかねーですわ。...で、早速YSRさんやかずきさんの記事を拝見させていただきました。初心者向けで非常にわかりやs...わか...わ...わからん!!!いやね、絶対に初心者向けに書いてあるはずなのですよ。それは重々伝わってくるのですよ。残念なことに俺が初心者以下なのですよ。=>とかとかの時点でわからんのですよ。色んなブログを漁りつつえっちらおっちら習得に励んでみました。色んなブログを漁って、=>というのがどうやらラムダ式という奴に関係しているという事を理解しました。このラムダ式ってのは簡単に言うとメソッドの簡略化ですかね。メソッドを作るまでもない程に小さいが、微妙に汎用性のあるメソッドを名称も付けずに簡単に書いちまう方法。ボタンを押したときなんかのイベントハンドラやメソッドへの引数とかに用いられる模様です。いやぁこれを理解するだけでかなり大変でしたね。ほんっと意味わかんねーだったのさ。メソッドをメソッド内で作るなんてVB6では考えられんよ!?メソッドにメソッドを丸ごと引き渡すって何それ!すげー!(※俺は業務ではVB6という古代の技術にしか携わっていません)LINQこっちは知ってます。我が福岡のご当地アイドルLinQの事でしょ?毎朝アサデス。見てるからね!loveinq.com...って事ではないらしいです。「from」「where」「orderby」「select」なんかを使って絞り込み検索を行うような事が出来るんだそうです。なんだかSQL文みたいですね!実際SQLへのアクセスにも使えるみたいです。...ってか、VB6なんかじゃ足元にも及ばないレベルで便利ですねこれ...。あっちはSQL文を文字列型で記述して一気に渡すんですよ?ちょっと長くなるだけで絶対ミスりますよそんなん。何をミスったのか一切教えてくれないという...あーまたVB6辞めたくなってきた...辞めさせろやごるぁああああ!!!...失礼。ま、一応SQL文自体は扱ったことある為ラムダ式よりはとっつきやすかったです。SQL以外での使い道については今のところ思いつかないですね。このLINQの表記方法自体はSQL文に限った話ではなく、ReactivePropertyにもかかわってくるようです。ReactiveProperty他にもいくつかの基礎勉強を経て、ReactivePropertyの件に戻ってきました。前述の記事がよくわからなかったのは、ラムダ式やLinQの件もありますが、Prismを使用していたからですね。さんがコメントで指摘してくれていました。Prismの書き方とReactivePropertyの書き方。どっちがやりやすいか?って事になります。これに関しては実際にやってみたいと思います。ReactiveProperty<string>();うん、圧倒的にReactivePropertyの方が楽でしょう。Binding文や代入文に.Valueをつけなければいけないというデメリットもありますが、それを差し引いても1行で済むメリットは大きく、これだけの為にReactivePropertyを使っても良いと思いました。ReactivePropertyにはもっとたくさんの便利機能があるらしいので、使えそうな場面ではバンバン使っていこうと思います。