給用戶(hù)和開(kāi)發(fā)者最佳的.Net框架部署方案
每個(gè)人都知道它是關(guān)于應(yīng)用程序的全部。我可以回想到1990年代早期,當(dāng)我同時(shí)在使用WordPerfect 5.1 和 Microsoft Word 2.0c,兩個(gè)在當(dāng)時(shí)的Windows系統(tǒng)中很了不起的桌面程序。很快的到了2000年,你會(huì)發(fā)現(xiàn)很多開(kāi)發(fā)者在使用.NET框架搭建桌面應(yīng)用程序,網(wǎng)站和服務(wù)。對(duì)于很多開(kāi)發(fā)者來(lái)說(shuō),.NET框架是他們知道并且喜愛(ài)的,唯一的Windows開(kāi)發(fā)平臺(tái)。
在這篇博客的內(nèi)容中,我將會(huì)討論當(dāng)應(yīng)用程序依賴(lài)于.NET框架的版本,而不是嵌入特別的某個(gè)Windows版本中的組件時(shí),使用.NET框架的應(yīng)用程序如何顯著的提高了Windows 8的用戶(hù)體驗(yàn)。我們將會(huì)著眼于在Windows 8 中運(yùn)行.NET 3.5,以及更早的.NET版本中編譯的應(yīng)用程序的整合經(jīng)驗(yàn)。
在Windows 7(以及更早版本)中的用戶(hù)體驗(yàn)
開(kāi)發(fā)者們已經(jīng)在.NET 框架下創(chuàng)造了大量的很棒的應(yīng)用程序,他們并不總是需要在安裝過(guò)程中部署需要的.NET框架版本,有時(shí)候把這部分內(nèi)容做為一個(gè)步驟留給最終用戶(hù)。如果是那樣的話(huà),最終用戶(hù)不得不自己去下載.NET框架。在.NET框架建立的早期,最終用戶(hù)僅僅有一個(gè)或者兩個(gè)版本的選擇,他們可以處理這個(gè)任務(wù)。到2012年的時(shí)候,已經(jīng)有相當(dāng)多的.NET版本發(fā)布,對(duì)于最終用戶(hù)來(lái)說(shuō),知道安裝哪個(gè)版本正確,或者知道哪個(gè)版本最好,這更像是一個(gè)猜謎游戲。
在Windows 7(以及更早的版本中),我們提供了一個(gè)簡(jiǎn)單的體驗(yàn),判斷Windows用戶(hù)嘗試在沒(méi)有安裝正確版本的.NET框架環(huán)境下,安裝.NET應(yīng)用程序。這個(gè)體驗(yàn)就是有一個(gè)簡(jiǎn)單的錯(cuò)誤對(duì)話(huà)框向?qū)В龑?dǎo)用戶(hù)直接打開(kāi)需要的.NET版本下載頁(yè)面。
Windows 7 中缺少.net版本的錯(cuò)誤對(duì)話(huà)框
總而言之,這是一個(gè)合理的體驗(yàn),但是當(dāng)你從更廣泛的方面來(lái)想,通過(guò)對(duì)話(huà)框和網(wǎng)頁(yè)簡(jiǎn)單的指南幫助用戶(hù),安裝.NET框架過(guò)程是不是考慮的足夠精心。在Windows 8 的計(jì)劃中,我們決定改進(jìn)這個(gè)對(duì)客戶(hù)不夠好的體驗(yàn)。
看一看數(shù)字
上面的對(duì)話(huà)框簡(jiǎn)單的引導(dǎo)最終用戶(hù)到一組網(wǎng)頁(yè),因此我們收集了正在使用中的.NET版本的數(shù)據(jù),說(shuō)明了最終用戶(hù) 經(jīng)常需要自己安裝的.NET版本。下面的圖表是通過(guò)現(xiàn)有的對(duì)話(huà)框進(jìn)入下載頁(yè)面,提供的大體上數(shù)據(jù)。
在 Windows XP, Windows Vista, 和 Windows 7中缺少的.NET版本
過(guò)去十多年你可能注意到.NET的兩個(gè)主要的趨勢(shì):
① .NET 最早編譯在Windows中, 是從Windows XP SKUs之后 (例如,媒體編輯中心Media Center Edition) ,然后在Windows Server 2003 和Windows Vista中正式存在。
② 每個(gè)版本的Windows中僅僅包含一個(gè)版本的.NET框架。
重新解讀圖表中的信息,我們可以猜測(cè)到:
① 圖表中比較重要部分的百分比是來(lái)自Windows XP中運(yùn)行.NET Framework 2.0,一般在Windows XP中沒(méi)有部署任何的.NET 版本,然而 Windows Vista 和Windows 7 中都可以運(yùn)行 .NET Framework 2.0 and 3.5 應(yīng)用程序.
② .NET Framework 4 是上面圖表中顯著的一部分,因?yàn)闆](méi)有已發(fā)布的Windows版本中包含那個(gè)版本。
下面的圖表證明了這個(gè)理論,幾乎所有的缺少.NET Framework 2.0 的系統(tǒng)都是 Windows XP.
最終用戶(hù)缺少.NET Framework 2.0 (或者 3.5)的操作系統(tǒng)版本
Windows 8中的用戶(hù)體驗(yàn)
Windows 8消費(fèi)預(yù)覽版中包括了.NET Framework 4.5 測(cè)試版(Beta),當(dāng)新的操作系統(tǒng)版本發(fā)布時(shí)將會(huì)包括 .NET Framework 4.5 最終版(RTM). 注意到 .NET Framework 4.5 可能被認(rèn)為包含.NET Framework 4, 因?yàn)?.NET Framework 4 不需要額外的安裝。我們繼續(xù)使用Windows 7的用戶(hù)體驗(yàn),在他們的Windows 8機(jī)器中保留了最終用戶(hù)部署 .NET Framework 3.5 的位置,去運(yùn)行 .NET Framework 2.0, 3.0, 和3.5的應(yīng)用程序。 考慮到來(lái)至于Windows XP中的數(shù)據(jù),以及Windows Vista 和Windows 7中包含的.NET Framework 3.5,Windows 8的客戶(hù)需要在他們的電腦上運(yùn)行大量的 .NET Framework 3.5應(yīng)用程序。
與 Windows 7不同的是, Windows 8 會(huì)在Windows 自動(dòng)更新中自動(dòng)下載安裝 .NET Framework 3.5。沒(méi)有鏈接,沒(méi)有因?yàn)榭蛻?hù)不確定從MSDN下載安裝那個(gè) .NET Framework版本的風(fēng)險(xiǎn)和失誤 。整體的過(guò)程僅僅需要簡(jiǎn)單的鼠標(biāo)點(diǎn)擊,然后就做完了。
如果沒(méi)有安裝過(guò).NET Framework ,當(dāng)用戶(hù)嘗試安裝或者運(yùn)行一個(gè).NET Framework 3.5(或者更早版本)的應(yīng)用程序時(shí),新的體驗(yàn)提供了一個(gè)新的對(duì)話(huà)框。我們?cè)谖④?BUILD會(huì)議中,跟隨者Windows 開(kāi)發(fā)預(yù)覽版中發(fā)布了這個(gè)新的體驗(yàn),并且已經(jīng)在Windows 8 消費(fèi)預(yù)覽版中更新。下面的圖片是最終的用戶(hù)體驗(yàn):
在Windows 8消費(fèi)預(yù)覽版中 .NET Framework 3.5 安裝體驗(yàn)
我們已經(jīng)看到這一新的重要的體驗(yàn)。通過(guò)Windows開(kāi)發(fā)預(yù)覽版,我們看到超過(guò)25%的機(jī)器通過(guò)這種方式下載的 .NET Framework 3.5。
此外, .NET Framework 3.5 仍可以通過(guò)控制面板中的功能來(lái)安裝。
更多關(guān)于這些用戶(hù)體驗(yàn)的信息, 參考MSDN Installing the .NET Framework 3.5 on Windows 8 Consumer Preview 。
最后的話(huà)
開(kāi)發(fā)者們已經(jīng)在.NET Framework 平臺(tái)創(chuàng)造了很多的應(yīng)用程序。在Windows 8中, 開(kāi)發(fā)者們可以依靠存在于操作系統(tǒng)中的.NET Framework 4.5,.NET Framework 3.5也可以通過(guò)Windows更新很方便的部署。有這兩個(gè)版本在,最終用戶(hù)將會(huì)在Windows 8上運(yùn)行 .NET Framework應(yīng)用程序的時(shí)候有一個(gè)很好的體驗(yàn)。
你喜歡這種體驗(yàn)么?你看到它的改進(jìn)了么?有什么會(huì)影響到你么?
原文:Brandon Bray
譯文鏈接:http://blog.jobbole.com/15117/
【編輯推薦】
- .NET三層架構(gòu)應(yīng)用之十層框架
- 如何解決京東商城的性能瓶頸?
- ASP.NET性能優(yōu)化之反向代理緩存
- .NET程序員不要錯(cuò)過(guò)如此強(qiáng)大的T4模板
- ASP.NET MVC會(huì)成為ASP.NET未來(lái)主流的UI平臺(tái)?