// Build 2018 對於 Windows Development 提出了很多内容,包括:更進階的 Fluent Design, .NET Core 3.0, MSIX, Windows 10 on ARM … 等,這篇將整理每個 Sessions 的重點,方便大家更快瞭解。
- MSIX: Inside and Out
- 把之前各種安裝方式的優點集合起來創造的新的安裝格式
- 適用於一般 Desktop App 以及 Store App
- 好處
- 保證可以乾淨的安裝/反安裝
- 省磁碟空間
- 同樣的檔案,會只有一份 因為包裝的時候他會 hash,所以如果有相同檔案存在的話,就不會幫你安裝另外一份,例如同一個版本的 dll
- 可以把 Resource 包成另外的 Package ,有種 DLC 的概念
- 網路最佳化
- 會”差異化”下載更新
- 串流式安裝
- 網頁透過 ms-appinstaller:? 這種 protocol
- 可以邊下載邊安裝,意思就是不需要把整個安裝檔案下載完再安裝
- 模組式安裝,只下載必要的部分安裝 (例如:語系、不同 DPI 所需的資源)
- 透過 manifest 描述檔來包裝及部署
- 由作業系統管理,支援自動更新
- 可信任
- 必須要有被信任的憑證 Sign 過才可以
- 有竄改保護
- 可以限制可安裝的來源
- 工具
- 第三方安裝程式廠商一樣會推出支援 MSIX 的包裝
- 微軟自己也會推出:Migration tool 或 Customization Tool
- 可以 Container 化
- MSIX SDK,跨平台 (Windows, iOS, Android, MacOS, Linux),Windows 7 也是可行的!
- 補充内容:Accelerating Windows 10 enterprise app deployment with MSIX
- Fluent Design: Evolving our Design System
- Fluent Design 設計調整會隨著 Windows 更新分批釋出
- UI 設計調整
- 元件加上 Z 軸深度與陰影,看起來比較有層次
- Popup 元件加上 Acrylic 的透明特效
- 加强新的 ColorThemesResources :可以方便的改變整個 App 的主題色
- 定義了新的間距標準,間距相對小;在觸碰操作時會給原本的大間距
- Reveal Hover + press 的視覺效果改善 並且 套用到更多控制項 (Reveal 增加了一種叫 Reveal Focus ,就是 Focus 的時候也會有 Reveal 的效果)
- UIElements 支援更多種類的 Animation ,包括 Natural Motion Animation, Expression Animations
- 新的 UI Control
- Command Bar Flyout:像是 Office 的 Quick Toolbar (OneNote UWP 版已經有這個元件);Text Control 會有一些基本的 Command (剪下、複製、貼上), Ink Input 也會支援
- Navigation View:會隨著寬度在 Left 與 Top Navigation 切換,內建 Back 按鈕
- 加入新的 StandardUICommand 讓控制項可以 Binding 不同的事件
- 補充内容
- Modernizing Desktop Apps on Windows 10 with .NET Core 3.0 and much more
- UWP UI 原本是爲了觸控體驗設計,爲了符合鍵鼠的體驗,定義新的標準 (Standard) 間距,也提供更緊密 (Compact) 的間距
- UWP XAML Islands 可以讓 Win32 App 用到 UWP 的 UI 元件,不過目前只釋出 BrowserControl,期待更多内容的釋出
- .NET Core 3 支援 WinForms 與 WPF,更支援 Windows 10 的 API,更優化 .NET Core 的效能與降低更多的限制
- 更多細節可以參考 The Future of .NET on the Desktop
- Windows 10 on ARM for developers
- IoT + LET 多數設備運行 ARM 架構
- 宣告支援 ARM 64:從底層到 user mode 層都重新為 ARMx64 做 compiled; Windows on ARM 幾乎提供完整于 x86/x64 的體驗與順暢;更支援 ubuntu 的 sub system
- Visual Studio 2017 (15.8) 支援 ARM x64 開發,Remote Debug Tools 已推出支援 ARM x64
- x86 程式運行在 ARM 上面利用 x86 Emulation 中的 Just-in-Time(JIT), Complied Hyperiid Portable Executables (CHPE) 最佳化處理程序
- 需注意 ARM 不等於 Phone
- 搭配 `Windows.System.Profile.DeviceFamily` 判斷設備類型
- `IsWow64Process2()` 判斷是否為 ARM64 OS
- Website 搭配 User-Agent 判斷時可以使用 `window.navigator.userAgent.indexOf(‘x64’) === -1`
- Behind the scenes of the Sets on Windows 10 and Your Phone: How you building amazing cross-device experiences into your applications using the same APIs
- Project Rome
- Android/iOS 新的 API
- NearShareSender 傳送網址、圖片到 Windows 10
- 操作 UserActivity
- Windows 10 可以建立 App Service 支援遠端設備呼叫它
- 可使用 RemoteSessions 在不同設備共享資訊
- Microsoft Store and Dev Center: Updated and new features to help you be successful
- 新的分潤模式
- 95%:用戶透過 deep link (custom url, protocol, ms store link) 進去 Store 網站或是 App 内購買 App 或 in-app products
- 85%:微軟幫助用戶從其他 marketing channel (facebook, blogger, Ad, etcs) 找到 App 並購買
- Microsoft Web Store 可以直接購買 App / add-on,並選擇要安裝到哪一個已經註冊的設備(相似 Google Play 機制,稱爲 Push-to-Install (PTI))
- 改善 App Review 的方式:過去是開啓 Store 給評論,新機制改為在 App 裏面 (in-app review),讓用戶隨時都可以留下評論
- 可搭配 MSIX 機制增加新的用戶(企業用戶),因爲企業用戶不一定會開放 Store 下載,搭配 MSIX 可以裝 Appx/Win32.exe 進行安裝
- Windows 10 on ARM x86/x64 的完成,讓 App 開發的時候可以增加選擇 ARM x64 (搭配 VS 15.8 preview 可以選擇 ARM x64 的 paltform 來測試)
- Microsoft Store 支援上架 PWA 的 App,可以參考 link,目前開放支援的 local services 與 APIs (push notification 或 local data),接近 native app-like experience
- PWABuilder 可快速把現有的 Web 建立 PWA 程式並上架
- Dev Center 提供 private audience,提前讓部分用戶先安裝與測試,不會外流到外部,更可以加入排程統一時間發佈所有用戶都能看到
- Dev Center 有新的 Preview 版本
- 增加分析資訊的維度
- 定價細分到每個國家 (之前有,但是很難設定)
- 每一個產品的 submission 都拉在主要顯示;誰調整了什麽設定與 submission 都有 log 記錄
- 簡化填寫上架資訊時需要不斷地切換畫面的等待時間,相似的設定在集合同一個畫面
- 驗證 App 利用 machine learning 的做法加快驗證,減少 scrutiny。超過 70% 的 submission 利用這個機制進行審核
- 支援模組化提交,但 App 需要先符合支援模組化架構
- Deep dive on failure details
- crash 可以下載 cab file
- 上傳 symbol files 可以看到 call stakcs,在 Dev Center 做到像 HockeyApp 把相同的 crash 放在一起,統計 Crash 數量做有效的提醒開發人員處理
- 從 reviews 做分析,分類出那些跟效能有關係或是其他問題,方便 filter
- app health report 更明確定義出 crash 的類型,可以直接在 Dev Center 做 filter 查詢 (每一種 insdier test package 也有自己的 health report)
- Store REST APIs 增加新的功能可以抓到詳細的資料
- report 提供 engage users 幫助開發者瞭解用戶的問題,增加黏著度
- 可搭配 custom engagement 觀察特定的維度並發出通知
- 提供觀察 desktop application (win32 applications) 的數據
- 如果有開發 office add-ins 的應用,也可以在 Dev Center 上看到資料
- 新的分潤模式
以上是整理出這次 // Build 2018 特別的功能與應用,當然有可能有遺漏,
歡迎大家留言與討論,Windows Team 也會繼續更新。謝謝。
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.