2017年2月13日月曜日

Windows Developers Day–Creators Update メモ

2017年2月9日に行われたオンライン開発者イベント Windows Developers Day - Creators Update を見て気の付いたところ、気になった所のメモです。
基本自分用備忘録なので…読み物の体裁にはあまりなっていません(特に後半のセッション視聴メモ)。

Telerik UI for UWP


UWP App Devとしては今回一番大きいニュースでした。Fiddler 等でお馴染みの .NET 系 開発ツールベンダ Telerik が、自身のUWP 用 UI Component製品をOpen source化 & 無料化しました。

Telerikの発表
http://www.telerik.com/blogs/telerik-ui-for-uwp-now-open-source
GitHub
https://github.com/telerik/UI-For-UWP
NuGet
https://www.nuget.org/packages/Telerik.UI.for.UniversalWindowsPlatform/

22個のComponent の中では、特にGrid  とChart  が嬉しい人は多いのではないでしょうか。業務系のものを作るには必須ですが、UWP App では中々苦労する部分でした。

他には…WP7?テイストのTime Pickerのような今更使い道あるの?な物まで色々詰まっています。
加えて、

等、XAML UI Control が急に賑やかになった感じです。


Doc形式更新


UWP App 系の文書が、doc.microsoft.com 形式に変更になりました。多少見やすくなります。また突っ込み用フォーム等も追加になっています。
こちらのWindows 10 更新一覧もこの形式になりました。

https://docs.microsoft.com/en-us/windows/uwp/whats-new/windows-10-creators-preview

ちなみに Windows 10 の場合、TH1/2, RS1 とこれまでの更新でのAPI的な…開発者が知るべき変更は全部ここのページでまとめられるスタイルになっています。超便利。

Creators Update = RS2 については、現状まだ全部ここに載っていません。例えば、15031から乗っているCompact Overlay等が未記述です。Creators Update のリリースタイミングあたりで更新されるのではないかなと予想します。


Windows bug and feature backlog 公開


個人的にはビックリ度一番大きかったのがこれです。このBlogでは別記事に書きました。

今後追加されそうなXAML UI Control をFeature List から探す
http://ddlgjp.blogspot.jp/2017/02/xaml-ui-control-feature-list.html


Project Rome supports Android (Preview)


Win10 AUから入っているProject Rome …デバイスを跨いだアプリ間通信の仕組みがAndroid→Windows で使えるようになります。Previewです。 

Romeではざっくり二つの機能…
  1. Remote App Launch  名前を指定してリモートデバイスのアプリを起動する
  2. Remote App Service  リモートのApp Serviceをコールしてデータの送受信を行う
があるのですが、Android SDKは現状1)のみです。2)は今後追加。
また、AndroidはClientのみで、接続を受け付けるHost側にはなれないようです。

このRome、地味だけど個人的には一番夢があると思っています。Win10 環境さえあれば何処でも動くUWP Appですが、唯一…Mobile Platformについて困難を抱えているのはご存知の通りです。PC、Xbox、HoloLens等で動くUWP Appと、Android / iOSなMobile の世界を繋ぐ唯一の橋、のような所がRomeにはあります。

例えば ふたばブラウザで考えてみると… 外出中に使っているAndroid上のブラウザから、Win10 PC 上のブラウザのApp Service に今読んでいるスレの情報を送り、帰宅後PCで同じスレを読み続ける…という動作をさせることが可能になります(これは今F10がRome を使って出来ていることですが、Andoridでも出来るようになる)。


UI.Composition


現在売り出し中の、UI効果の新しい仕組み
XAMLのFrameworkとDWM Layerの間で色々やる
ここで作ってOSに投げたAnimationは以降OS持ちで動くので、App側(UIThread側)のCPU時間を全く使わないのが特徴 ぬるぬる動く

この辺り、中の人Blog がMSDN Docでは言い切れない気持ち的な所を色々書いてるのでおすすめです。
http://blog.robmikh.com/


UWP Games on Xbox One 


  • Game mode - 各種報道でもう御馴染みのやつ
  • UWP on Xbox - 例のUWPゲーム話
後者、詳細はGDCでないと分からないようです。この件、「XboxでUWP Gameが遊べるようになる!」という報道もあるようで、大筋そうだとは思うんですが…懸案の、ID@Xbox についてはまだよくわからんというのが正確な所ではないかと思います。Windows Centralのこの記事が現状を良く説明できているように思われます。

Microsoft is NOT opening Xbox One to all UWP games ... but should it?
http://www.windowscentral.com/microsoft-isnt-opening-xbox-one-to-all-uwp-games

(この記事が載った数日後に、記事中で触れられているSteam Greenlightの終了が発表されています。)


🍙🍙🍙


ここから、Developers Day でのセッションの視聴メモです。
見たのをそのままメモ書きにしているのでかなり雑です。また、個人的な感想は(カッコ)に括っています。


Build Beautiful, Engaging UX


Harneet Sidhana
https://channel9.msdn.com/Events/Windows/Windows-Developer-Day-Creators-Update/Building-personal-and-productive-apps-with-Composition-and-XAML-updates

XAML  Layer

Creators Update (CU) でのXAML系変更
  • SVG support - Image controlのSource として直で.svgを指定できる アイコン等に使える
  • Keytips/mnemonics
  • Strikethrough - 取り消し線
  • MenuにIcon追加  MenuItem でアイコン指定が可能になる 実は今までなかった
  • Connected Animation
Anniversary Update (AU) でUI.Composition ベースで追加になったやつ ページ遷移の間で、ビデオ窓のようなUI Controlを等をリサイズしつつぐにょっと繋げて表示するやつ(伝わる?)
  1. ConnectedAnimationService.GetForCurrentView()で取得AnimationServiceを取得し、
  2. アニメ対象のアイテムDurationを設定する このページはここまで
  3. んで遷移
  4. 飛び先のPageのOnNavigatedTo でまたConnectedAnimationService.GetForCurrentView().GetAnimationでさっきの奴を持ってきて、TryStart(CanvasControl)
  • Effects/Lighting XAML
このあたりはAUではVisualLayer用のコードを自分で書かないといけなかったやつ CUではXAML上で書けば済む VisualLayerを使うBrushをLocalで定義してxamlで使う等
  • Image Loading service for use with Visual layer
GridViewのItemContainerStyleの中で、ContentPresenterのVisualStateManagerの中でCommonStates・PointerOver、でSetterでLocalのSpotlightのPropertyを操作してる キモ面白い
  • Implicit Show/Hide Animation - F10のAU時代のUI.Compositionではいちいち書いてたやつ

Visual Layer


(感想・CUではだいぶXAMLで触れるようなので、こちらに降りなくても済む場合が増えるかもしれない)

Input & Interactions

  • Pen, Dial(感想・InkもDialもSurface以外は正直関係無いのであんまり興味が無い…)
    InkToolBar enhancements
    Dial - integrated with inkToolbar
    色々良くなるらしいですな
  • Making easy the default
  • ScrollbarのAutohide, smooth windows resize
  • Semantic animations
(感想・うーn 低調? Visual Layerは楽しいし便利なんだけど 言っちゃ悪いが所詮エフェクトでもあるので これでアプリのUsabilityを大きく改善できるとかそういう類のでは無いからね… 噂のNeon話も特に無かった 背景画像のみ … この辺り大きい話はbuild2017でしょうね )
(小さい声でConcernをもう一つ言うと、Visual Layerは完全にUWP…Win10だけの世界の話であり、
Xamarin等Cross Platformな要素は全く無いのがつらい所 )
拙作F10ではGridViewのアイテムぐりぐり回すのに使っています

Improving user engagement with Windows and Cortana Skills

Thomas Fennel
https://channel9.msdn.com/Events/Windows/Windows-Developer-Day-Creators-Update/Improving-user-engagement-with-Windows-and-Cortana-Skills

Desktop bridge


Support - Font Install, COM server registering, MAPI
(感想:トランプじゃないけど、DACの話だけ90年代・00年代に戻ったみたいな空気があるんだよな…COMだのMAPIだの)

AppX


さらに強まるAppX
  • Streaming Install - 全部DLする前に、始められるところでゲーム開始しちゃう 残りは裏でDL
    (このあたりはAUでも話があった 今のAppXは凄くて、ファイルはChunkに分けて更新分だけ転送する なので、ファイル更新するときは末尾だけにすると転送量が減るぜ!!という冗談みたいなアドバイスがある)
March 21 2017 追記:この辺りを説明するBlog記事が始まりました。

UWP Streaming App Installation


  • Streaming Installのデモ
    AppXのManifestの中でAdditionalなものを指定する ContentGroupMap/Automatic/ContentGroup
    そうするとAppXInstall途中に本当にAppが起動する これは笑う 凄い 8分あたり
    (しかし最近の巨大ゲームではこれ普通に必要なんだろうね Steamとかもうやってるのかな?)
  • 差分Installデモ

 

Action Center

  • Pin the primary tile
  • Toast with progress bar
  • Grouping
  • Custom timestamp
このあたり、MSのTiles and Toasts Blogで既に詳しく説明されているので省略
このBlogが一番情報早いです(というかMSDN Docだけ見てるとよくわからない)
https://blogs.msdn.microsoft.com/tiles_and_toasts/

Project Rome

(Romeは別に書きます)

Apps for Websites (AFW)


所謂AppUriHandler話
サイトへのリンクをアプリの起動でOverrideするやつ
サイトのルートにJson置くのは相変わらず
CUではEdgeでリンク踏むと効くようになった(AUでは効かなかった ただこれ、EdgeがMS製品だから出来るので…ChromeやFirefoxでは無理な話)
デモ
AFWを使うページ 18分頃 笑い
http://winformtowers.azurewebsites.net/

Cortana Skills Kit



Windows Store


https://channel9.msdn.com/Events/Windows/Windows-Developer-Day-Creators-Update/Using-the-Windows-Store-to-enhance-your-app

(感想・2016年のBuild以降、Dashboardの進化は目を見張るものがある )

現状説明は略 自分は毎日使ってるので今更
おーーー Store ListingをExcelにExportしてくれる機能 これはいい
Excelで作ってImportも出来る
細かいPricing あのApp持ってる人には特別にこのお値段で!みたいな
この辺りもBuild2016で言ってた話


この記事では省略

  • Desktop Bridge – Win32 から UWP API を呼ぶためのNuGet Packageの整備が進んでいます。またDAC そのものにも更新があり… MAPI サポート Out-processなCOMサーバの登録サポート等が追加になるようです。
  • Hololens - 私には高価すぎます どこかに30万落ちてませんかね
  • Cortana Skills Kit  略

Compact Overlay - a.k.a. "PinP"

Developers Day では落ちていたけどCreators Updateに乗る大事な機能
ApplicationViewModeにそういうモード作ってやったから、あとは各自Multi View作って頑張りなさいというストロングスタイル
Mobileには現状乗ってないそうです :(
https://blogs.msdn.microsoft.com/universal-windows-app-model/2017/02/11/compactoverlay-mode-aka-picture-in-picture/
https://github.com/clarkezone/UWPCompositionDemos/tree/master/MediaPlaybackViews


総評


Buildと違って Session最後にエグい質疑応答が無いのは寂しいですね。
機能の担当者が直で、自分の反応速度で答えるあの時間は一番大事なのかもしれません。


0 件のコメント:

コメントを投稿