自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Windows 8與開(kāi)發(fā)者夢(mèng)境的輪回

系統(tǒng) Windows
我們?cè)?jīng)報(bào)道過(guò),微軟稱(chēng)Windows 8 觸摸友好的沉浸模式不會(huì)使用基于.NET的開(kāi)發(fā)平臺(tái)而轉(zhuǎn)向HTML5和javascript。然而在過(guò)去十年里,微軟曾大力推崇前者。微軟公司并未給予進(jìn)一步的評(píng)論。但是對(duì)于開(kāi)發(fā)者,這個(gè)問(wèn)題顯得尤為關(guān)切——我怎么利用現(xiàn)有的技能和經(jīng)驗(yàn)去開(kāi)發(fā)新的應(yīng)用呢?

我們?cè)?jīng)報(bào)道過(guò),微軟稱(chēng)Windows 8 觸摸友好的沉浸模式不會(huì)使用基于.NET的開(kāi)發(fā)平臺(tái)而轉(zhuǎn)向HTML5和javascript。然而在過(guò)去十年里,微軟曾大力推崇前者。微軟公司并未給予進(jìn)一步的評(píng)論。但是對(duì)于開(kāi)發(fā)者,這個(gè)問(wèn)題顯得尤為關(guān)切——我怎么利用現(xiàn)有的技能和經(jīng)驗(yàn)去開(kāi)發(fā)新的應(yīng)用呢?微軟似乎并不打算在9月份的BUILD大會(huì)之前透露任何信息。

推薦專(zhuān)題:Windows 8新聞直通車(chē)

不過(guò)事情可能并不是開(kāi)發(fā)者想的那么糟糕。Windows8的早前的里程碑版本已經(jīng)被泄露到互聯(lián)網(wǎng)上,已經(jīng)有了很多關(guān)于這個(gè)系統(tǒng)如何工作的研究。盡管官方的口風(fēng)很緊,還是有一些細(xì)枝末節(jié)的信息從雷蒙德大院里跑了出來(lái)。就目前看來(lái),Windows 8其實(shí)還是相當(dāng)不錯(cuò)的。有跡象表明,Windows 8 將解很多決長(zhǎng)久困擾Windows軟件開(kāi)發(fā)的問(wèn)題。如果微軟能夠最終搞定一切,那么Windows 8 將是一個(gè)重大的發(fā)布版本,達(dá)成本應(yīng)由Windows Longhorn(譯注,即Windows Vista)完成的目標(biāo)。

回顧歷史

在我們開(kāi)始討論微軟想拿Windows 8做什么之前,知道一些背景是必要的。要理解為什么Windows 8將會(huì)是一個(gè)重大的革新,必須先理清現(xiàn)狀。

在2002年引入.NET之前,Windows 應(yīng)用程序主要通過(guò)兩種方式編寫(xiě)。大型應(yīng)用——像Office,Photoshop或者Netscape瀏覽器——傾向于使用Win32 API和C++。Win32是一個(gè)龐大的編程接口,涵蓋方方面面。熟知的如圖形和用戶(hù)界面創(chuàng)建、網(wǎng)絡(luò)通信和文件系統(tǒng)訪(fǎng)問(wèn)。還有比較生僻的備份、網(wǎng)絡(luò)配置和安全相關(guān)的一些東西。

Win32的確大而全,但是有些事情它并不擅長(zhǎng)甚至無(wú)法完成。例如,雖然Win32提供了數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的接口——事實(shí)上只有幾個(gè)——但使用純粹Win32來(lái)寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用是相當(dāng)繁瑣的。更嚴(yán)重的問(wèn)題是,Win32提供了創(chuàng)建圖形用戶(hù)界面的所需的所有基本工具,但它并沒(méi)有簡(jiǎn)化工作。例如,在用戶(hù)界面布局方面它就毫無(wú)作為。每個(gè)按鈕、文本框和工具條都必須由開(kāi)發(fā)者來(lái)指定位置,而且如果你想要它們的位置隨窗口大小變化而移動(dòng),你得包辦所有的事情。有很多庫(kù)被開(kāi)發(fā)出來(lái)作為開(kāi)發(fā)者和操作系統(tǒng)之間的中間層,包括微軟自己的MFC,以此來(lái)簡(jiǎn)化工作。但是很多時(shí)候,為了達(dá)到想要的效果還是不得不回歸Win32。

(.NET之前)開(kāi)發(fā)Windows應(yīng)用的另一主要方式則是Visual Basic。Visual Basic能夠讓某些任務(wù)變得相當(dāng)簡(jiǎn)單——特別是數(shù)據(jù)庫(kù)交互和用戶(hù)界面創(chuàng)建——并因此在商業(yè)領(lǐng)域占據(jù)一席之地。相當(dāng)多的商業(yè)程序都只是簡(jiǎn)單的從數(shù)據(jù)庫(kù)取出數(shù)據(jù),展示給用戶(hù)然后給用戶(hù)一個(gè)表格來(lái)增加數(shù)據(jù)。在處理這檔子事情上,Visual Basic很優(yōu)秀。但是要做其他的事情Visual Basic就不是那么回事了。Visual Basic 對(duì)直接調(diào)用Win32 API 缺乏有效的支持,特別是那些需要用到特殊結(jié)構(gòu)(譯注:原文這里有鏈接指出是函數(shù)指針)的API。而且Visual Basic也缺乏對(duì)面向?qū)ο笳Z(yǔ)義的支持,它只是“基于對(duì)象”的。

.NET的出現(xiàn)改變了整個(gè)格局。.NET如同VB一般簡(jiǎn)單易用,但是不像VB那么弱。和VB一樣,.NET擁有很好的工具來(lái)構(gòu)建用戶(hù)界面和與數(shù)據(jù)庫(kù)交互,因此很適合用來(lái)編寫(xiě)商業(yè)應(yīng)用。而和VB不同的是,.NET有一種簡(jiǎn)單,但是稍顯笨拙,的方法來(lái)訪(fǎng)問(wèn)Win32 API。因此,.NET平臺(tái)很快就吸引了商業(yè)應(yīng)用開(kāi)發(fā)者,并且一些新的商業(yè)項(xiàng)目也在使用它。

Longhorn 之夢(mèng)

Windows XP 在.NET前一年發(fā)布,因此毫不奇怪沒(méi)有用到.NET技術(shù)。但是微軟在2003年10月的PDC大會(huì)上宣布,事情將隨著Windows Longhorn的發(fā)布而改變。Longhorn 將把.NET整合到Windows平臺(tái)核心中去。一時(shí)周知.NET FX(FX代表Framework)將讓位于WinFX,即基于同樣技術(shù)的"Windows Framework"。除此之外,Windows Longhorn將帶來(lái)一種全新的方式來(lái)編寫(xiě)用戶(hù)界面,代碼名為Avalon(譯注:即WPF),完全現(xiàn)代、基于矢量和硬件加速的框架。Windows系統(tǒng)中用戶(hù)可見(jiàn)的程序——資源管理器、計(jì)算器等——將使用WinFX技術(shù)。.NET將被視作編寫(xiě)Windows應(yīng)用的最佳方式。而Win32則繼續(xù)存在以保持向下兼容,但不會(huì)再變動(dòng)。

Longhorn本應(yīng)是舊式Windows應(yīng)用開(kāi)發(fā)的終結(jié)和現(xiàn)代Windows應(yīng)用開(kāi)發(fā)新紀(jì)元的開(kāi)端,而不是因?yàn)?0年或者15年前的設(shè)計(jì)決定而遭閹割。

如我們所知道的那樣,Longhorn系統(tǒng)沒(méi)有給我們帶來(lái)這些。Longhorn工程變得極其龐大、不可管理而最終崩潰。而與此同時(shí),Longhorn的基石Windows XP卻在被黑客們肆意凌辱。微軟不得不投入大量資源讓W(xué)indows XP和Windows Server 2003的安全性可以讓人接受——最終的結(jié)果就是Windows  XP SP2和Windows Server 2003 SP1——然后再開(kāi)始下一代操作系統(tǒng)的開(kāi)發(fā),最終就是Windows Vista發(fā)布。然后一切重新開(kāi)始。

這其中最大的杯具之一就是.NET。Windows Vista盡管在某些方面有重大意義,但是它完全拋棄了WinFX的概念。Avalon最終發(fā)布——即WPF——但是只是作為操作系統(tǒng)的一個(gè)插件,而不是核心的一部分。Windows Vista 和 Windows 7中唯一顯著基于.NET平臺(tái)的程序是Media Center(然而它甚至沒(méi)有用到WPF)。其他的一切東西都是老一套的Win32。Win32 API也被更新和擴(kuò)充。相當(dāng)數(shù)量的低層功能被添加到Win32來(lái)支持GUI的變化,諸如任務(wù)欄縮略圖和AERO玻璃主題。而這些新的東西在WPF里都不能很好的工作。

導(dǎo)致微軟作出這種決定的因素有若干。部分是因?yàn)檫@個(gè)決定只是一個(gè)權(quán)宜之計(jì),沒(méi)有時(shí)間用.NET來(lái)重寫(xiě)所有的東西。更重要的原因則可能是微軟內(nèi)部陣營(yíng)的分裂。Windows來(lái)自于Win陣營(yíng),.NET來(lái)自于Dev陣營(yíng),然后還有服務(wù)器業(yè)務(wù)等等其他陣營(yíng)??赡苣阏J(rèn)為這些小組的目標(biāo)是一致的,但是實(shí)際不然。當(dāng)然,這些小組之間沒(méi)有什么冤仇,只是各自有不同的重點(diǎn)。

曲折的開(kāi)發(fā)

 

各個(gè)小組重點(diǎn)的不同在當(dāng)時(shí)影響重大。舉個(gè)例子,WPF只能被.NET程序使用,而且只能配套C#或VB.NET使用。而整個(gè)API,由上至下都是原生的C++代碼,將現(xiàn)有程序移植到WPF工作量巨大。計(jì)劃之初,所有的開(kāi)發(fā)都打算用.NET進(jìn)行,但是漸漸計(jì)劃成變化,原生代碼還是成了首選的開(kāi)發(fā)環(huán)境。這的確是個(gè)很大的問(wèn)題。微軟沒(méi)辦法使用全新的、基于矢量、分辨率無(wú)關(guān)和硬件加速的WPF來(lái)構(gòu)建任何操作系統(tǒng)核心程序。

其它的差異則是各小組目標(biāo)不同導(dǎo)致。Dev陣營(yíng)的首要任務(wù)是創(chuàng)建一個(gè)可信賴(lài)的開(kāi)發(fā)平臺(tái),這意味著他們要添加核心功能、開(kāi)發(fā)工具和庫(kù)(例如Silverlight)。Win陣營(yíng)的首要任務(wù)則是前面提到過(guò)的C++兼容性,系統(tǒng)的健壯性及解決一些技術(shù)問(wèn)題。所有的目標(biāo)都是合理的,但是Dev陣營(yíng)沒(méi)有配合Win陣營(yíng),沒(méi)有給Win陣營(yíng)需要的東西。最終的結(jié)果就是Win陣營(yíng)的管理部門(mén)看.NET很不爽,欣然忽略它。

.NET在Windows Vista 之后的幾個(gè)版本對(duì)境況有所改進(jìn),但是C++的問(wèn)題還是沒(méi)有解決。傷害再所難免,Win陣營(yíng)于是對(duì)Dev陣營(yíng)不滿(mǎn),無(wú)視他們的工作。Windows 7和它前輩Windows Vista一樣,只有Media Center這個(gè)程序使用.NET。Windows 7新的API全部是原生的C++ API,沒(méi)有好的辦法從.NET程序訪(fǎng)問(wèn)。而原生C++代碼也無(wú)法訪(fǎng)問(wèn)分辨率無(wú)關(guān)、基于矢量、硬件加速的框架來(lái)構(gòu)建用戶(hù)界面。

 Windows 8 將終結(jié)一切。

原文地址

【編輯推薦】

  1. Windows 8沿襲了微軟20年的產(chǎn)品概念
  2. Windows 8或?qū)⒂诒驹孪卵D(zhuǎn)入Beta測(cè)試
  3. Windows 8已知七大功能匯總
  4. 探秘微軟Windows 8的開(kāi)發(fā)部隊(duì)——DevX
  5. 微軟押寶Windows 8 大有王者歸來(lái)之氣
責(zé)任編輯:張浩 來(lái)源: 譯言網(wǎng)
相關(guān)推薦

2012-10-31 11:22:26

Windows 8

2011-07-01 10:29:15

2012-10-31 16:12:11

2012-06-12 09:23:30

Windows 8Windows Sto

2012-05-08 09:15:10

WP8Windows 8

2011-03-23 16:05:48

微軟

2011-09-20 09:35:02

Windows 8密鑰

2013-01-24 16:52:55

開(kāi)發(fā)者Windows 8WP8

2013-07-17 09:08:15

2010-10-14 09:41:10

Windows Pho

2012-09-05 14:45:45

Windows 8

2012-09-13 16:39:03

Windows 8應(yīng)用商店開(kāi)發(fā)

2011-09-15 09:24:52

Windows Ser下載

2012-11-30 10:59:11

豌豆莢王俊煜應(yīng)用搜索

2012-06-13 01:23:30

開(kāi)發(fā)者程序員

2011-12-29 10:01:03

Windows 8注意事項(xiàng)

2011-02-22 14:07:52

2013-03-25 09:28:55

微軟Windows 8開(kāi)發(fā)

2012-06-29 09:12:47

Windows Pho

2013-11-07 09:56:48

WindowsWindows Pho
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)