2013年7月26日金曜日

XAML を使うストアアプリのWin8 から Win8.1 への移行

XAML を使うストアアプリのWin8.1 への移行について、App Builder Blogにガイドが出ています。

Windows 8 to Windows 8.1 Preview starting with XAML templates
http://blogs.windows.com/windows/b/appbuilder/archive/2013/07/24/windows-8-to-windows-8-1-preview-starting-with-the-xaml-templates.aspx

以前に出た、もう少し引いた大きな絵の移行ガイドと併せて必見な感じです。
Updating your app from Windows 8 to Windows 8.1 Preview
http://go.microsoft.com/fwlink/?LinkID=304117

今回のガイドは、XAMLのプロジェクト テンプレートに大きな変更が入ったよ、という話で、

  • LayoutAwarePages は廃止 同機能は各PagesのCode Behind に移動
  • SuspensionManager は残留するも、そのWrapperClass NavigationHelper が登場
  • プロジェクト毎の既定のResourceDictionary "StandardStyles.xaml" の廃止 並びに使用頻度の高いStyleの名前変更

…じゃあ今のWin8 Project のコード全部書き換えねばならんの?というとそうではなくて、
ミソなのは、
上はあくまでもプロジェクト テンプレートの変更であるため、LayoutAwarePagesを使った以前のWin8 Projectも、必要最低限の変更だけでBuildは通るという所でしょう。

ただ、昔のテンプレートを使い続ける事には、移行初期の作業量を減らす以上の意味はあまり無いのかもしれません。今後、MSDNの記事にしてもStackOverflowにしても、新しいテンプレートベースで議論と知識が積み上がっていくであろう事を考えると、とっとと新テンプレートにコードも頭も切り替えた方がいいのかな、と思っています。

...

Win8 でのXAML + C# プロジェクトでハマる所・判りにくい所というのは大体LayoutAwarePages 絡みなのではなかったかなと言う気がしています。個人的にも、MSDN Forumの質問のやり取りを見ていてもです。上の話とは裏表になりますが、言語やWinRTの仕様ではなく、あくまでVSのProject Template扱いなので、MSDNにまともなDocumentationが無いのが辛かった。ソース見ればいい、という話では無いんじゃないカナーと(そのソースの日本語っぽい謎コメントがさらに混乱のズンドコ)。
ですので、LayoutAwarePages 廃止、CodeBehindに移動、という今回の変更は個人的には賛成です。


0 件のコメント:

コメントを投稿