2017年5月14日日曜日

Build 2017 Session視聴メモ その1

Build 2017, 見たセッションの内容をメモしておこうという記事です。
そうしないと忘れちゃうので。

Build 2017 Session視聴メモ その2
http://ddlgjp.blogspot.jp/2017/05/build2017.html


B8096 Ten things you didn't know about Visual Studio 2017 for building .NET UWP apps
P4171 Windows 10 on ARM
T6109-R2 Black Marble: What did UWP ever do for us?
B8004 App Model Evolution
B8098 Windows Store: Manage and promote apps your way
B8025 Cross-device and cross-platform experiences with Project Rome and Microsoft Graph
B8066 Introducing Fluent Design
B8034 Build Amazing Apps with Fluent Design
B8103 Xamarin: The future of mobile app development
B8099 What's new in Xamarin.Forms






B8096 Ten things you didn't know about Visual Studio 2017 for building .NET UWP apps


https://channel9.msdn.com/Events/Build/2017/B8096
https://sec.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/B8096.pptx



1 VS Install


UWP buildするにはチェックすれ
VS2017とSDKはSideBySide…サポートしてるので使え(VS本番とVSPreviewなど)


2 Windows Template Studio


UWPのBoilerplateな部分が大体入ってるFramework
Navigation, MasterDetail, background, MVVM, etc…
VSIX形式なので、VSで新規作成するとTemplate選択UIにシームレスに飛び、そこからFrameworkの種類を選択できる お馴染みの形式
MVVM basic, MVVM Light, そして「Code Behind」も選べるのがミソ
Pageの追加もここからできる
Githubにソース全部あるので何かあったらIssue立てれや

デモ 🍔ボタン、Master Detail Model、マップ、等のよくあるページがテンプレから選べるだけで即作れますよー Size変更に対応できるResponsiveなやつですよー という

(感想…VS統合型の分かりやすいテンプレートは今迄待ち望まれていた部分 既存のTemplate10、UWP Community Toolkitと合わせて便利に使えると思います)

3 Connected Services


UWPから サービスに繋げるのが楽になった
  • HockeyApp
  • Azure Mobile Apps Backend
  • Azure Cloud Storage
  • Office 365

デモ AzureMobileAppsも簡単に追加できるよー URL入れるだけよー
さっきのWTSと組み合わせればMVVMでRelayCommandで作るのも簡単だよ
ダメなコードはVS2017がそれダサいから書き直せと指摘してくださる
ほうらMobile ServiceへのFacebookを使った認証も一発だーーー(88888)

(感想 HockeyAppは今後どうなるんだべ MobileCenterに置き換えられそうな空気があるが)

4 NuGet PackageReference

今迄はProject.jsonに全部入れてたが、2017ではprojectの.csproj に入れるようになった

5 .NET Standard 2.0


1.x は.NET Core に引っ張られて扱う範囲小さかったっす
UWPは1.4だったが?
2.0は違うよ!でかいよ!!
.NET Core 2.0が太ったのに合わせて太った!
他のNuGetもかなり食えるようになった
表参照…PPTがもう上がってる 色々できる
そーしーてーーーーー SqlClientも使えますよお客さん!!!イエーーーーーーーーー!!!!!(Fall CUから)
.NET Native の改善
Incremental compilation support for .NET Native
.NET Native portable PDB

6 XAML Controls

TelerikのDataGridViewが使えます
UWP Community ToolKit HamburgerMenuも使えるよ

7 Coding Productivity


VS2017のCtrl-T Navigationは超便利だからお前ら使うべき
XAMLのIntellisenseが強まった
Namespaceの自動補完も効くぜ
色々

8 Debugging Productivity


2017のXAML UI Debugging…例の奴
LiveVisualTreeでOnTheFlyで書き換えられる
XAML UI Analysisも Performance Issue追っかけるのに使える
UI Elementそれぞれの初期化時間が全部出てくる しゅごい ListViewが仮想化されてないよ!UI ThreadをBlockしてるよ!等も教えてくれる そしてこうすれば早くなるよというms.docs文書に飛ばす 36分あたり

(感想 XAMLもののPerformance 問題、真剣に直そうとすると結構疲れる作業なのでこれはかなり有難いと思います)

9 Visual Asset Generator


UWP Appでアイコンだのなんだの100万個作る奴の自動化
今迄は有志のWebServiceその他でやってた奴

10 Visual Studio Mobile Center

UWPでも使えるようになーりーまーしーたーーーーーー
これはFall CU待ちなくて今日もう使える
余談だが💡サポートがさらに強まって、今迄はusing ついてないよ までだったが、今はこのnuget packageが入って無いからManagerからInstallしましょうか?まで提案するようになった これはVS2017Previewかな?

(感想 そこまでわかってんならお前が書けとちょっと思うが)
(感想 Mobile Center、Xamarin.Android で今使ってるけど良く出来ている Application Insightから移ってもいいかも)

まとめ

VSPreviewとSDKPreviewをDLすれナウ!SideBySideで入るから!痛くない!

(感想 そうはいっても、Fall CUの新機能はそれこそ秋になるまで世に出せないのでいまいちやりがいが無い Insider Preview 向けにアプリ出せる環境があればまた違うんだけど)

Q&A

UWP Community Toolkit  WTS 違い
UCTはNovember Updateから使える
WTSはCreators Update以降
重なってる部分多い



P4171 Windows 10 on ARM


https://channel9.msdn.com/Events/Build/2017/P4171

(これはPre-recordedなSession、12分の短いやつ 会期中にライブでやってたのとは別)

2020年に向けてConnectivityが要る!だからARM!

(感想 わかるし面白いと思うけど若干弱くないかなぁ)

Qualcomm製の小さいデバイスを見せる Phabletくらいのサイズかな
Win on ARM, ArmはARM 上から下まで メモリ4GB
Edgeも全然普通に動いている

(感想 WindowsRTもこのあたりは出来ていたので)

ビデオカメラ刺すと即Inbox Driverが動くよ!

7Zipのデモ 野良で拾ったWin32 Appももちろん動く (一部で心配されていた Win10SみたいにストアOnlyでは?というのは無い)
Win32 → ARM64 Emulationは全く透過的、Runtimeに行われ、またディスクにキャッシュされる

基本、OS持ちのアプリ…EdgeだのExplorerだの…は上から下まで全部ARM Native
X86はWOWレイヤに乗せてEmulation
Compiled Hybrid PE(CHPE) DLL…キメラというか Appからはx86DLLに見えるが中ではARMで動く この半年くらいWalking Cat氏が追っかけてたやつですね
OS持ちのSystemDLLをこれで準備しておくことで、RuntimeなEmulationをかなり減らせる

UWPのデモ
…UWPの場合、.NETものは.NET Native でそれぞれにNativeなのが降ってくるので問題は無い

(感想 一部、.NETじゃないC++の場合はビルド時に明示的にARMをチェックする必要があるかも)
(感想 個人的にはWindows がARMで動くだけで面白いので以前SurfaceRT買って遊んでたんだけども だが、それが一般に受け入れられるかというと微妙な気もしており・・・セッションの始めで言っていた「ARMで動かす理由」をもう少しBrushUpする必要があるように感じた)


T6109-R2 Black Marble: What did UWP ever do for us?


https://channel9.msdn.com/Events/Build/2017/T6109-R2

ソフト屋さん Black Marble が自アプリ tuServ をUWP化したよ話
Android・Win10 Client からBackendに繋げる感じ
警察で使うアプリなのかな
うn かなり良く出来ている (が、それ以上特に得るところが無かった…)



B8004 App Model Evolution



https://sec.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/B8004.pptx

(SpeakerのAndrew ClinickさんはWPの頃からAppModel、AppXの親分 今迄もDesktop Bridge、AppX、UWP Appで大事な話が多かったです Q&Aの時間たっぷり取ってくれるのもナイス)

AppX


Streaming supportが入った
Game等で、CoreDL完了した時点で起動 残りのデータ部分はBgDL
Self updating apps for UWP - 更新を自分で制御・App起動前に更新を強制・社内・ベータ配布等… しかしこのSessionではこれ以上の詳しい説明無し

Desktop Bridge



このSessionのKey Messageはこれでしょう。





(感想 ワオ 踏み込んだ この1年弱のDesktop Bridge運用で自信ついたのかな? もうWin32 Appの配布はAppXが本筋だぜ!という宣言ですね)

Lesson Learned
  • Q どうしてほとんどのWin32 Appが簡単に変換できるの?
  • A Appは変換していないから。インストーラを変換しています。
(感想 腑に落ちる大変分かりやすい説明です)

AppXを直接吐けるインストーラー製品が増えてきた
  • FLEXERA InstallShieldでお馴染み)
  • RAD Studio
  • Firegiant (WiXでお馴染み)
  • InstallAware
  • Advanced Installer
「でもMS自身はDesktop Bridgeあんまり使ってないよね?」
「使います!」
  • Office - Win10 SのタイミングでPreviewGAは後で
  • Team - Soon
ここからMicrosoft Graph の話

Graph、今まではIdentityのフレームワーク、くらいの地味な扱いだったんだけど、このBuildで急にスポットライトが当たった感じ
後の説明で分かるけど、Romeその他で今までWin10に少しづつ乗っていた機能がGraph,ということでAppでも使えるようになった感じします

App Graph


App同士がMSAまたはAADで認証してGraph経由でデータをやりとり
今回のGraphWindowsだけでなくてiOSAndroidも入ってるのがポイント

Device Graph



いわゆるDevice DiscoverySerivce Discovery デバイスのEnumeration、デバイスが持つサービスのEnumerationを行う
MSAまたはAADの認証トークン付きでMSに
https://graph.microsoft.com/me/devices
で投げると、答えがJsonで返ってくる

KeyMessage

Tranform your app into a service


(感想 この考え方は大事やなと 特に…UWP Mobileが沈没した今、Windows AppMobile Appの世界と連携していくには、UWP App側がサービスになってMobile AppiOS / Android からGraph経由で繋げるしか無いんだろうと思います)
おそらく、RomeRemoteServiceDeivceDiscoveryはこれで実装してたんだなーいうのが分かる

Activity Graph


Fall CUTimelineや、AUで追加になった通知の同期がこれで作られている メッセージの同期・やりとりをGraphで行うよ、という話
(感想 Romeや通知の同期などは、「MSのクラウドで同期」というふんわりした説明が今まで多かったんだけど 今度からは「Graphで同期」と名前がついた感じです)

Adaptive Cardの話


通知の単位としてのAdaptive Card 例えば、Fall CUのタイムラインでタイルっぽく出しているのはまさにAdaptive Card
全部の通知がCardを持つという話でも無い(Grooveの再生ポジションとかカードにしても仕方ない)
Adaptive Card - MetaData、URIVisual

Demo
これは実際手を動かした方が早い
http://adaptivecards.io/visualizer/index.html
ここで右上のコンボボックスからコンテナ…タイル、トースト、Facebook、BOT等を選択できる
左ペインのデータモデルが各コンテナでそれなりに表示されるよね、という話

QA Time

Q Win10SはDesktop Appインストールできないの?
A Win10SはWindowsストア からアプリをインストールできる Deskop Appも、Desktop Bridgeを使えばインストールできます

Q Graphのやりとり、データは実際どこに保存されるの?
A 'Complex Answer' ...この回答面白いですね ご存知のようにドイツはこの手のデータ保護超うるさいのでUSとは保存の仕方が別なんだよ、という (感想 Graph、一個の技術というよりは SignalRみたいに、いろんなレイヤの技術をまとめて…Synthesize…一つにしてお出ししてる感じです)

Q Graphに預けるデータのサイズ大きくなったら?
A 場合による…Activityだったらば渡して終わりなので貯めるというのが無い クラウドではないので概念がちょっと違う ただもうすこし詳しい話は聞きたい

Q Activityの読み書き?
A 自分のActivityは読み書きができる (よくわからなかった)

Q Desktop BridgeはSystemService持てないじゃん?
A うn セキュアなSerivce書くのは大変よね ただUsermodeのPrinterDriverのように道はある(うn・・・)

(感想 iTunes はどうするんじゃろう)

Q Longrunning Taskはどうするのん
A (苦しい) Consumer Appにフォーカスしてるから…(確かに難しい…)

Q BgTask、LongrunningTask
A (苦しい) (感想 たしかに・・・ResidentなBackgroundTaskが書けないのはUWP AppModelの弱点 Background Serviceは基本EventBaseなので、Win32App+SystemServiceを書いてる人はまず困る所だと思う)


B8098 Windows Store: Manage and promote apps your way



...ppt見れば済むので略 大体、今まで言っていたストアの拡張の話
Betaのリリースコントロールが多少細かくなるみたい


B8025 Cross-device and cross-platform experiences with Project Rome and Microsoft Graph



Speaker、かなり一杯一杯 がんばれ

User engagement がキーワード このEngagement、なんと訳すべきかいつも困るが

Rome
Q3 16 Windows
Q1 17 Android
Q2 17 iOS, Graph

Timelineの説明
UWPでのDeviceDiscovery → RemoteServiceのデモ この辺りは今更感ある

Rome iOS SDK
MS Graph SDK
iOS AppからWindowsのAppを起動して、iOSの写真アプリでの写真切り替えとWindowsを同期させるデモ
Graph SDK, 上のPresentation でもあったようにHTTPで生えてるから Webから使うのも楽なんだな

デモ AlexaからGraph SDKでPCのブラウザを起動

まぁこの辺りは全部GitHubにあるので実際手動かした方がいいですね


B8066 Introducing Fluent Design




最初の18分は要らない

Fluent Design Wave1

  • Reveal Highlight
  • Acrylic Material
  • Connected Animations
  • Conscious Controls
  • Perspective Parallax

このあたりはRS3で入るやつ 一部はVisualLayerとして技術は前からあったけれども、それらを束ね直して使いやすくしました、大部分はCommon Contorolに最初から入ってますよーという感じ Reveal HighlightやConnectedAnimation、Parallaxも以前からUI.Compositionで紹介されてましたよね

Reveal Highlight等はCommon Controlは最初からImplement済みである そりゃそうだ 自分でやれとか言われたら帰るよ俺は

Acrylic Material … いわゆるすけすけ
まぁ…Controlで適切にやってくれればそれ使うでいいよね(低意識)

Connected Animation
これは使ってるの多いですね最近 ただ、SingleWindowの中でPage切り替えるのには有効だけど MultiWindowだとあんまり出番を作りづらい

Perspective Parallax
これもよくある奴 前景と背景でずれながらスクロール的なアレ

ここでWave1の効果のみをつかったデモ動画 うん・・・まぁ・・・最初のFluent Design System 全部盛りとはだいぶ様子が違うっすね

Wave2は…?
未定だが
  • 360Degree Media playback
  • Conscious Headers Viewの変化に従ってヘッダの描画がぬるっと変わるやつ 最近Androidで多いアレ
  • Speech
  • Z-Depth Layering (動画デモで一番派手なやつ)
  • Spatial Sound

(あ、Pull To Refreshが見える これもFluent Designの一部として予算ついてんのかしら)

Web上のSample、Documents

https://docs.microsoft.com/en-us/windows/uwp/style/


B8034 Build Amazing Apps with Fluent Design


https://channel9.msdn.com/Events/Build/2017/B8034

B8066 を踏まえてAppを実際に書いてみようぜというSession
まぁこの辺りはもうSDKもDocumentもあるのでごりごり書いて行けばいいと思う
サンプルのソースもchannel9のコメント欄に中の人が全部URL貼ってくれているし

AcrylicはXAMLん中でBrush定義してそれ使うだけ

Reveal Highligh, 多くのControlが既定でサポートしてる
  • NaviationView
  • ListView
  • GridView
  • ComboBox
  • CommandBar
  • MediaTransportControl
そうでないControlもStyleで簡単にEffectを付けられる ただのボタンとか

その他ConnectedAnimation、Parallax の使い方等 見ればわかるので略


B8103 Xamarin: The future of mobile app development


https://channel9.msdn.com/Events/Build/2017/B8103
https://sec.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/B8103.pptx

Xamarin Live Player の説明
これやっぱり説明の画面構成がおかしいんだと思う 誤解した人が増えたのはしかたない

最初17分は全体にMiguelとJamesがイチャイチャLiveCodingしてるだけなので好事家の人向け

Upcoming .. SwiftNetifier - project and cosume Swift APIs into .NET  ほう

このセッションは左と右(講演者と画面モニタ)を逆にしたほうがいいのでは…
こいつらテーブルの下で何やってるか分かったもんじゃないね!(喜)

Android Platform - Integrated SDK Manager, Material Design Support いいね

AOT comes to Android and Mac (*´▽`*)ウラー  Android のAOT動いてるの見たことネー マジカー


B8099 What's new in Xamarin.Forms


https://channel9.msdn.com/Events/Build/2017/B8099
https://sec.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/B8099.pptx


水害で没した高校

















0 件のコメント:

コメントを投稿