かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

ReactiveProperty v0.4.0-rc1をリリースしました

id:neueccさんから、nugetのownerに追加してもらったのでReactiveProperty-PCLとして公開していたパッケージをReactivePropertyのほうに載せました。それに伴い、ReactiveProperty-PCLは検索対象から消しました。

ソースコードの中身は、ReactiveProperty-PCLから変えてませんがnugetのパッケージの設定を変えたので色々ちゃんと参照設定に追加されたりするようになってます。

Windows 8.1だけBehavior SDK(XAML)を手動で追加しないといけないのはnugetが、現状対応してないからになります…

PCL化にあたってのメリット

PCL化したので、大部分をPortable Class Libraryで作成することができます。 ターゲットフレームワークの.NET 4.5, WP8, Windows store app(Windows 8.1)の中で、WP8だけDataAnnotationsが使えないので、その部分だけコードの共有が無理です。

CodePlexのサイトのサンプルソースの中もViewModel系のクラスはPCLで作成して、XAMLとコードビハインドだけ個々のプラットフォームで作成しています。

下位互換は捨てた・・・

PCL化にあたって下位互換は結構ばっさり切りました…。 PullRequestで来ていたPCL化のほうは、下位互換を、維持したままPCL化したり対象プラットフォームも過去のものを踏襲したりとかなり力が入っていたのですが、ソースコードが一本でもプラットフォームの数だけソースをリンクしたプロジェクトを維持していくことを考えると、もう何年も更新されてないものなので、ここらで大掃除といった感じでPCLに寄せれるところは寄せてしまおうというポリシーで今の状態になっています。

残タスク

リリースまでに残っているタスク。

  • UnitTestプロジェクトを修正
    • Molesベースで作られているのでFakesベースに作りなおす
  • Windows ストア アプリのサンプルの作成
  • PCLのターゲットフレームワークをひろげれないか確認(少なくとも.NET4から使いたい…)
  • CodePlexのページの内容の修正
    • 今回の修正内容を反映させた状態で書き直す。

結構重たい気がする。がxin9leさんもいるし大丈夫でしょう。