微軟把UWP定位成業務線應用程式開發平臺
微軟把UWP定位成傳統業務線(LOB)應用程式開發平臺,以使用Windows Template Studio實現快速應用程式開發為重點。但是,為了把LOB開發人員吸引到UWP平臺,他們在做的事情不止這些。
\\最初發布時,通用Windows平臺(UWP)只是被視為一種在Windows商店中銷售應用程式的方法。其基本思想是你編寫一次應用程式,它就可以在Windows和Windows Phone上執行。但是有嚴格的限制,你幾乎是必須通過Windows商店。對業務線(LOB)應用程式而言,這就不合適了,因為它們天生就不應該公開暴露。
\\藉助UWP,LOB開發人員要麼繼續使用遺留的WinForms和WPF平臺,通常是使用ClickOnce作為部署方法,要麼接受內部Web站點額外的複雜度和開發成本。對於中大型企業,這個方向尤其流行,WinForms/WPF更高的部署成本是一個因素。
\\隨著去年“Windows 10 Fall Creators Update”的釋出,UWP模型發生了變化,它使得直接通過網站安裝UWP應用程式成為可能。雖然和ClickOne的體驗不完全一樣,但至少是個開始。同時,微軟有一個團隊致力於使XAML/UWP更適用於LOB應用程式。
\\Windows UI庫
\\使用者控制元件是任何UI框架的核心。強大的使用者控制元件模型促成了Visual Basic在20世紀90年代的流行,並且仍然使桌面應用程式的開發速度高於基於HTML的解決方案。但是,UWP部署模型給它帶來了一些不必要的限制。
\\由於主要的使用者控制元件(又名平臺控制元件)已經變成了OS的一部分,所以,應用程式在採用新控制元件時必須非常保守。有些公司的機器雖然執行著Windows 10,但其版本經常比正式釋出的版本落後兩個版本,這時候問題會尤為突出。
\\為了解決這個問題,平臺控制元件現在作為NuGet包釋出。這使得開發人員可以利用新控制元件,而不必等待公司的其他部門都升級到最新的Windows版本。這些NuGet包至少需要2016年8月釋出的Windows週年紀念版。
\\這些控制元件填補了UWP生態系統中眾所周知的空白,如缺少tree-view、選單欄或顏色選擇板。
\\.NET Standard
\\藉助.NET Framework和.NET Core,UWP現在支援.NET Standard 2.0。這使得開發人員可以把他們的業務邏輯和資料模型遷移到.NET Standard庫。那樣,他們就可以在傳統的桌面應用程式、網站或UWP應用之間共享同樣的程式碼。理論上講,這將簡化從WinForms/WPF到UWP的遷移。
\\UI密度
\\微軟把UWP中的預設空間和大小描述為“慷慨提供了大量空白”。計劃在今年釋出的Windows版本將改變這種預設情況,通過自動減少控制元件尺寸、控制元件之間的填充空間、字型大小,釋放更多螢幕實際使用面積,一般來說,就是讓一切更緊湊。按照他們的估計,你可以把螢幕上的控制元件數量增加約三分之一。
\\開發人員可以通過選擇簡潔模式進一步縮小控制元件的尺寸。控制元件之間的空間減少了大約40%,一次可以看到的資料增加了大約50%。這項特性主要是針對資料密集型的業務線應用程式。
\\顏色主題
\\眾所周知,一個令人愉快的顏色主題會增加使用者對工具的信任。但是,對於像UWP/XAML這樣複雜的樣式模式,通常甚至沒有時間應用最基本的顏色。基本上,問題在於,每種控制元件型別的樣式都需要單獨更新,然後再測試整個主題。在構建業務線應用程式時,很少有足夠的時間這樣做。
\\有一款新工具,姑且稱之為“Color Demo”,就是要解決這個問題。使用簡單的顏色選擇器,就可以預覽主題,生成必要的資源字典,包含到應用程式中。
\\而且,它會提示你顏色選擇可能導致的問題,如沒有足夠的對比度使文字可讀。
\\這還不如全樣式的XAML應用程式豐富,但是,它可以為應用程式提供足夠的修飾,使它看上去有一個專業的外觀。
\\資料驗證UI
\\UWP還有另外一個明顯的不足,就是缺少資料驗證支援。這個疏忽很奇怪,因為資料驗證從一開始就是.NET UI框架的一部分。(我們在文章“C# API中的模型和它們的介面設計”中討論過其中部分介面)。
\\今年新增的功能是在基於屬性的驗證中使用INotifyDataErrorInfo介面。當一個模型暴露了這個介面,UI就能夠自動顯示正確的錯誤資訊。它顯示錯誤的具體方式取決於你在控制元件中選擇了哪個模式。
\\實現INotifyDataErrorInfo介面並不簡單,涉及許多把基於屬性的驗證附加到INotifyDataErrorInfo介面的樣板程式碼。因此,你也許會希望找一個MVVM框架來幫你處理。[本文作者的Tortuga Anchor庫就是這樣一個例子。]
\\新XAML控制元件:Data Grid
\\對於非UWP開發人員,沒有提供開箱即用的Data Grid看上去相當奇怪。
\\對於業務線開發人員,UI框架不提供Data Grid幾乎是不可想象的。甚至是早在上世紀90年代中期,這個控制元件的一個變體就已經成為無數業務應用程式的核心。許多在考慮UWP的開發人員驚訝地發現,微軟已經從WPF或Silverlight移植了Data Grid。
\\這最終是通過Windows Community Toolkit解決的。新的DataGrid控制元件所需要的XAML看上去和在WPF中非常像。
\\下週,我們將深入介紹Windows Community Toolkit。
\\檢視英文原文:Microsoft Positions UWP for Line of Business Applications
相關文章
- 用低程式碼開發平臺開發應用可靠嗎
- 在零程式碼開發平臺上如何開發應用程式
- 應用哪個低程式碼開發平臺好用
- 【iCore3應用開發平臺】釋出 iCore3 應用開發平臺PID控制程式碼
- 你知道無程式碼開發平臺可以開發哪些應用程式嗎
- 【iCore3應用開發平臺】釋出 iCore3 應用開發平臺出廠程式碼rev0.0.2
- 【iCore3應用開發平臺】釋出 iCore3 應用開發平臺出廠程式碼rev0.0.6
- 【iCore3應用開發平臺】釋出 iCore3 應用開發平臺出廠程式碼rev0.0.1
- 【iCore3應用開發平臺】釋出 iCore3 應用開發平臺出廠程式碼rev0.0.4
- 【iCore3應用開發平臺】釋出 iCore3 應用開發平臺出廠程式碼rev0.0.3
- 【iCore3應用開發平臺】釋出 iCore3 應用開發平臺出廠程式碼rev0.0.5
- 低程式碼應用開發平臺,讓企業開發更高效
- 利用無程式碼開發平臺開發應用程式有什麼好處
- 【iCore3應用開發平臺】釋出 iCore3 應用開發平臺使用說明
- 低程式碼應用程式開發平臺的5種選擇
- 當前低程式碼開發平臺給哪些應用程式開發提供支援
- MediaPipe - 跨平臺機器學習應用開發框架API機器學習框架
- 【iCore3應用開發平臺】釋出 iCore3 應用開發平臺暫存器說明
- 為什麼零程式碼開發平臺能夠快速完成應用程式的開發
- 低程式碼平臺!企業級應用開發模式首選模式
- 微軟宣佈Win10 UWP API可用於Win32應用程式微軟Win10APIWin32
- 雲平臺設計系統,助力業務快速開發
- 對微軟跨平臺通用應用野心的思考微軟
- 什麼是零程式碼應用開發平臺?它有哪些功能模組
- LeaRun低程式碼開發平臺 助推物聯網應用快速落地
- API低程式碼開發平臺的實際應用及好處API
- DCOS雲平臺之業務多應用部署改造方案
- 5大移動應用開發平臺推薦
- Flutter嚐鮮:跨平臺移動應用開發Flutter
- 業務平臺的開發(高手們幫幫忙!)
- MM將成中國移動業務發展的戰略平臺
- 微軟推跨平臺IE瀏覽器 用於開發測試微軟瀏覽器
- 用HTML5+JS開發跨平臺的桌面應用HTMLJS
- Node助力Web應用開發——在新的開發平臺,打造高效能Web應用Web
- Xamarin ios 教程 Xamarin跨平臺開發 C#蘋果應用開發iOSC#蘋果
- 開發微軟XBox遊戲-XNA開發平臺簡介(轉)微軟遊戲
- 一款高效開發平臺簡介,基於微軟.net平臺微軟
- Millennial Media:Android超越蘋果OS成為第二大應用開發平臺Android蘋果