Build 2018 大會系列 Part 2: Windows Development

// Build 2018 對於 Windows Development 提出了很多内容,包括:更進階的 Fluent Design, .NET Core 3.0, MSIX, Windows 10 on ARM … 等,這篇將整理每個 Sessions 的重點,方便大家更快瞭解。

  • MSIX: Inside and Out
    • 把之前各種安裝方式的優點集合起來創造的新的安裝格式
    • 適用於一般 Desktop App 以及 Store App
    • 好處
      1. 保證可以乾淨的安裝/反安裝
      2. 省磁碟空間
        • 同樣的檔案,會只有一份 因為包裝的時候他會 hash,所以如果有相同檔案存在的話,就不會幫你安裝另外一份,例如同一個版本的 dll
        • 可以把 Resource 包成另外的 Package ,有種 DLC 的概念
      3. 網路最佳化
        • 會”差異化”下載更新
        • 串流式安裝
          • 網頁透過 ms-appinstaller:? 這種 protocol
          • 可以邊下載邊安裝,意思就是不需要把整個安裝檔案下載完再安裝
        • 模組式安裝,只下載必要的部分安裝 (例如:語系、不同 DPI 所需的資源)
      4. 透過 manifest 描述檔來包裝及部署
      5. 由作業系統管理,支援自動更新
      6. 可信任
        • 必須要有被信任的憑證 Sign 過才可以
        • 有竄改保護
        • 可以限制可安裝的來源
      7. 工具
        • 第三方安裝程式廠商一樣會推出支援 MSIX 的包裝
        • 微軟自己也會推出:Migration tool 或 Customization Tool
      8. 可以 Container 化
      9. 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 不同的事件
    • 補充内容
  • 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`
  • 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.

This entry was posted in Windows and tagged , , , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *