そうしないと忘れちゃうので。
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等で、CoreがDL完了した時点で起動 残りのデータ部分はBgでDLSelf 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のタイミングでPreview、GAは後で
- Team - Soon™
ここからMicrosoft Graph の話
Graph、今まではIdentityのフレームワーク、くらいの地味な扱いだったんだけど、このBuildで急にスポットライトが当たった感じ
後の説明で分かるけど、Romeその他で今までWin10に少しづつ乗っていた機能がGraph,ということでAppでも使えるようになった感じしますApp Graph
App同士がMSAまたはAADで認証してGraph経由でデータをやりとり
今回のGraph、WindowsだけでなくてiOS・Androidも入ってるのがポイントDevice Graph
いわゆるDevice Discovery、Serivce
Discovery デバイスのEnumeration、デバイスが持つサービスのEnumerationを行う
MSAまたはAADの認証トークン付きでMSにhttps://graph.microsoft.com/me/devices
で投げると、答えがJsonで返ってくる
KeyMessage
「Tranform your app into a service」
(感想 この考え方は大事やなと 特に…UWP Mobileが沈没した今、Windows
AppがMobile Appの世界と連携していくには、UWP App側がサービスになってMobile App…iOS /
Android からGraph経由で繋げるしか無いんだろうと思います)
おそらく、RomeのRemoteService、DeivceDiscoveryはこれで実装してたんだなーいうのが分かるActivity Graph
Fall
CUのTimelineや、AUで追加になった通知の同期がこれで作られている メッセージの同期・やりとりをGraphで行うよ、という話
(感想 Romeや通知の同期などは、「MSのクラウドで同期」というふんわりした説明が今まで多かったんだけど 今度からは「Graphで同期」と名前がついた感じです)Adaptive Cardの話
通知の単位としてのAdaptive Card 例えば、Fall CUのタイムラインでタイルっぽく出しているのはまさにAdaptive Card
Adaptive Card - MetaData、URI、Visual
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
https://channel9.msdn.com/Events/Build/2017/B8098
https://sec.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/B8098.pptx
https://sec.ch9.ms/sessions/c1f9c808-82bc-480a-a930-b340097f6cc1/build/2017/B8098.pptx
...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
Rome
Q3 16 Windows
Q1 17 Android
Q2 17 iOS, Graph
Timelineの説明
UWPでのDeviceDiscovery → RemoteServiceのデモ この辺りは今更感ある
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
その他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 の説明
これやっぱり説明の画面構成がおかしいんだと思う 誤解した人が増えたのはしかたない
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 件のコメント:
コメントを投稿