かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

Prism の v7.1 がリリースされてました

Prism v7.1 が2週間ちょっと前にリリースされてました。

github.com

かなり大きな更新に見えます。 個人的にインパクトが大きそうだと思ったのが Autofac と MEF が Prism の将来のサポート対象から外れてしまうことでしょうか。 Autofac はイミュータブルになってるので、Prism の提供するモジュールまわりの機能と相性がよくないみたいですね。

ということで、特に理由が無ければ Unity (こっちはこっちで名前空間が昔と変わったりしてる)を使うのがいいと思います。

Xamarin.Forms 向けでは XAML でナビゲーションを定義出来たり、あと一番アツイのが ContainerProvider です。今まで Converter とかに対して DI しようと思ったらコードで DI コンテナからインスタンス取ってきて ResourceDictionary に自分で追加とかしないといけなかったけど、それが XAML でいける。ヤバイ。

あとは、この v7.1 系が WPF 向けの最初の v7 系の Prism のリリースというのも個人的にアツイです。6.3 から 7.1 への更新ということなので結構な破壊的変更のオンパレードです。 v6 系で作ってるひとは、アップデートするときにはちょっと苦痛が伴うかもしれません。

例えば Bootstrapper クラスが非推奨になって PrismApplication を使うようになっていたり、今までは DI コンテナへのインスタンスの登録は生の DI コンテナの API をたたいてたけど抽象化するレイヤーが設けられていたり(多分がんばれば裏で動いてる DI コンテナのインスタンスにダイレクトアクセスして、既存の登録ロジックに回したりは出来ると思う「要出典」)

モジュール系のインターフェースが Prism.Core に行ってたり、Unity のバージョンを上げたので、そっちの破壊的変更にも引きずられたり(名前空間が違う)。

とりあえず、新しいものが出てくると楽しいですね。