偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Windows 8與開發(fā)者——Longhorn之夢重生?

開發(fā) 后端
這個月稍早的時候,微軟向Windows開發(fā)者們拋出了一個重磅炸彈,稱Windows 8 觸摸友好的沉浸模式不會使用基于.NET的開發(fā)平臺而轉向HTML5和javascript。但是對于開發(fā)者,這個問題顯得尤為關切——我怎么利用現(xiàn)有的技能和經驗去開發(fā)新的應用呢?微軟似乎并不打算在9月份的BUILD大會之前透露任何信息。

這個月稍早的時候,微軟向Windows開發(fā)者們拋出了一個重磅炸彈,稱Windows 8 觸摸友好的沉浸模式不會使用基于.NET的開發(fā)平臺而轉向HTML5和javascript。然而在過去十年里,微軟曾大力推崇前者。微軟公司并未給予進一步的評論。但是對于開發(fā)者,這個問題顯得尤為關切——我怎么利用現(xiàn)有的技能和經驗去開發(fā)新的應用呢?微軟似乎并不打算在9月份的BUILD大會之前透露任何信息。

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

回顧歷史

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

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

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

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

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

Longhorn 之夢

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

Longhorn本應是舊式Windows應用開發(fā)的終結和現(xiàn)代Windows應用開發(fā)新紀元的開端,而不是因為10年或者15年前的設計決定而遭閹割。

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

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

導致微軟作出這種決定的因素有若干。部分是因為這個決定只是一個權宜之計,沒有時間用.NET來重寫所有的東西。更重要的原因則可能是微軟內部陣營的分裂。Windows來自于Win陣營,.NET來自于Dev陣營,然后還有服務器業(yè)務等等其他陣營。可能你認為這些小組的目標是一致的,但是實際不然。當然,這些小組之間沒有什么冤仇,只是各自有不同的重點。

曲折的開發(fā)

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

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

.NET在Windows Vista 之后的幾個版本對境況有所改進,但是C++的問題還是沒有解決。傷害再所難免,Win陣營于是對Dev陣營不滿,無視他們的工作。Windows 7和它前輩Windows Vista一樣,只有Media Center這個程序使用.NET。Windows 7新的API全部是原生的C++ API,沒有好的辦法從.NET程序訪問。而原生C++代碼也無法訪問分辨率無關、基于矢量、硬件加速的框架來構建用戶界面。

Windows 8 將終結一切。

原文鏈接:http://article.yeeyan.org/view/196111/203922

【編輯推薦】

  1. 微軟的沉默 .NET開發(fā)者傷不起
  2. ASP.NET新手對于技術上不要有這樣的認識誤區(qū)
  3. 走進ADO.NET的世界
  4.  漫談C#開發(fā)中的事件與委托機制
責任編輯:陳貽新 來源: 譯言網
相關推薦

2011-11-15 09:38:01

黑莓移動開發(fā)開發(fā)者

2011-07-08 09:44:51

2012-10-31 11:22:26

Windows 8

2012-05-08 09:15:10

WP8Windows 8

2011-03-23 16:05:48

微軟

2012-06-12 09:23:30

Windows 8Windows Sto

2011-09-20 09:35:02

Windows 8密鑰

2012-09-05 14:45:45

Windows 8

2012-09-13 16:39:03

Windows 8應用商店開發(fā)

2011-09-15 09:24:52

Windows Ser下載

2013-01-24 16:52:55

開發(fā)者Windows 8WP8

2013-07-17 09:08:15

2010-10-14 09:41:10

Windows Pho

2013-11-07 09:56:48

WindowsWindows Pho

2013-03-25 09:28:55

微軟Windows 8開發(fā)

2012-06-29 09:12:47

Windows Pho

2009-07-17 13:31:27

微軟操作系統(tǒng)Windows 7開發(fā)者競賽

2012-06-05 14:25:46

Windows Pho

2009-02-19 08:46:31

Windows 7開發(fā)者指南下載
點贊
收藏

51CTO技術棧公眾號