Windows8 + Visual studio 11 體驗報告
文章分為 “Windows8 用戶體驗”和“Windows8開發者體驗”兩部分。在用戶體驗部分,著重分析了Metro這一新的用戶體驗。而在開發者部分,則著重分析了Visual Studio 11的一些改善和IE10瀏覽器對HTML5和CSS3的支持情況。
Windows8用戶體驗
1.安裝
Win8的安裝和Win7沒有太大的區別,我把它裝在了VM里(要安裝在
VM8里,如果是VM7安裝時會顯示HAL_INITALIZATION_FAILED,硬件抽象層初始化失敗。原因是因為VM7沒有對ReFS文件系統
HAL的支持虛擬機。其次在VM8設置中關閉FloppyDisk,否則在安裝初期會因為裝載floppy.flp文件而導致失敗),分了40G空間。要一定說有什么區別,可能就是Win8的引導界面用戶體驗更高了,以文字為主,簡潔明了。除此之外,Win8的安裝速度是非常不錯的,整個安裝過程15分鐘左右。
2.開機
Windows8系統盤只占用了8.7GB,比之前的開發者預覽版和Win7都要小,在系統開機進程上Windows8為23個,啟動內存為360MB,Windows7不知道是多少個,但是開機速度明顯比Win7要快了,不過關機時間略微慢一些。
登陸界面
3.關于Metro
由于是運行在VM中,Metro感覺有些吃力,滑動干沒有IOS那么流暢。
Metro主界面
傳統的對話框變成了這樣的風格
相冊
音樂界面(好友提供)
人人網(好友提供)
應用商店
4.網絡
Win8的無線連接功能無疑又上了一個臺階,細化了802.11內部協議,測試無線熱點鏈接不超過1秒,質的飛躍。
Windows8開發者體驗
對于開發者來說,無論是系統級程序員還是應用級程序員,Win8都將是一片新大陸。新的文件系統ReFS,全新的API,全新的Metro,C++的王者
回歸,JavavScript+HTML5的本機代碼。任何一項對于Windows開發人員來說都是需要重新學習的,同時也是充滿機遇的。
首先來看一下Win8自帶的IE10 SP3對HTML5和css3的支持情況:
CSS3:
css region
css3多列
Flexbox
grid
定位浮動(positioned float)
3D變換(3D transfrom)
動畫(animation)
漸變(gradient)
text-shadow
去掉樣式表限制——在IE9之前的版本中,每個頁面最多只能加載31個樣式表文件,@import也只能最多嵌套4層,IE10中去掉了這些限制。
HTML5:
腳本同步——script標簽的async屬性,用來定義腳本是否異步執行
File API
History
Parsing
表單驗證(form validation)
progress和range控制——其實也可以看作HTML5表單中的功能
web workers
web sockets
拖拽(drag and drop)
應用緩存——application cache,也就是離線存儲,不過需要注意的是W3C更新了離線存儲配置文件的擴展名,之前是ooxx.manifest,以后要用appcache擴展。
spellcheck
頻道通信(channel messaging)
其它
Indexed Database
Web performance API
SVG 濾鏡效果
嗯,新東西很多,看起來還是很給力的。
需要注意的是,IE10對CSS3新特性的支持,大部分還是需要-ms-前綴的。
以下是這些特效在Web上的應用
http://mudcu.be/labs/JS1k/BreathingGalaxies.html
http://www.openrise.com/lab/FlowerPower/
http://www.airtightinteractive.com/demos/processing_js/noisefield08.html
http://hakim.se/experiments/html5/blob/03/
Visul Studio 11
對于開發者來說,Windows8與Visual Studio 11一定是緊密不可分的。VS11主打一下九大新功能。
- 項目兼容
- 高效的IDE
- 隨處搜索
- 工具欄升級
- 附加工具
- 多顯示器支持
- 性能提升
- 新的項目類型
- 可擴展性
1.項目兼容(Project Compatibility)
Visual Studio2011的向下兼容性讓你不再猶豫升級你的Visual Studio2010。過去每次升級Visual Studio總會修改你打開的項目文件,有時候甚至只是修改一下版本號,就讓你的項目不再被兼容,雖然在個人使用時并沒有什么大問題,但在團隊工作時卻會 造成大麻煩,只能讓整個團隊同時升級到相同版本。而現在,當你把你的Visual Studio 2010 sp1升級到Visual Studio 11時,不再會對團隊造成影響,因為Visual Studio 11使用的.NET4.5框架不會修改舊的項目文件。雖然僅僅支持Visual Studio 2010 sp1互通,卻仍非常實用。
2.更高效的IDE(IDE Productivity Improvements)
不管你是使用哪種編程語言編程,相信你都會很快注意到這些高效的功能,也許你會感到很熟悉,因為很多功能在集成了Productivity Power Tools擴展的Visual Studio 2010中已經看到。或者你沒有試過Power Tools,但是使用過Eclipse,相信對此也會非常熟悉。首先,解決方案管理器有了很大的修改,它不再只是文件的索引,它可以直接在解決方案管理器 中查看對象的結構。比如,你可以展開一個CS類來直接查看它的成員并且直接打開文件相應位置。在類成員上右鍵就會出來這個成員的call hierarchy菜單,一般來說,這個菜單會包括它的基類、衍生類以及在項目中被引用情況,通過點擊菜單中不同的選項來查看或編輯文件相應的位置。正如 你所想的那樣,雙擊要查看的節點就會打開節點所對應的文件位置。強大的新的解決方案管理器還提供了預覽功能。點擊解決方案管理器的節點就會打開一個文檔的 預覽。這樣,當你只是想預覽一些文件時就只會在一個公共Tab(標簽頁)中進行預覽而不會打開過多的無用Tab。當然你也可以點擊預覽Tab的 Promote按鈕或者對它進行手動編輯從而將它變成普通Tab。
</p>
3.隨處搜索(Search EveryWhere)
在Visual Studio2010中雖然已經集成了簡單的搜索功能,作為前三受歡迎的功能,在Visual Studio11中必然會著重優化。
目前已知提供搜索功能的部分:解決方案管理器、擴展管理器、快速查找功能、新的測試管理器、錯誤列表、并行監控、工具箱、TFS(Team Foundation Server)團隊項目、快速執行Visual Studio命令。
4.工具欄的改進(Toolbar improvaments)
最顯眼的莫過于增加了快速啟動搜索框,可以直接輸入快速命令。只要鍵入關鍵字就會在下拉列表中提示可用命令。甚至可以在其中找到工具菜單。
5.附加工具(Addtinal Tooling)
Visual Studio新增了幾項新工具都非常引人注目。Visual Studio 11 IDE集成了Expression Blend,極大方便了XAML相關應用的開發。此外Visual Studio 2011提供了一個嶄新的代碼克隆分析工具,相信VSS的老用戶會非常熟悉,但是這個新版本不僅集成在Visual Studio 11中,而且功能相當完備。
6.支持多顯示器(Multiple-Monitor Support)
Visual Studio 2010雖然已經開始支持多顯示器,但仍有不少問題。Visual Studio 2011提供了強有力的多顯示器支持。和新的IE一樣,當你把一個Tab拖到另一個顯示器上時,它會自動創建一個IDE,你可以輕松地把自己的項目移動到 另外一個顯示器中折疊起來。
7.性能優化(Performance Enhancements)Visual Studio 2010中有一個沒怎么引起注意過的多項目并行Build功能,但只局限于C++,現在在Visual Studio 11中,已經不用再受編程語言約束了,不論你是用什么語言(Visual Studio 11支持的)開發的,都可以暢快地體驗并行Build的效率。從此可以在“最大并行數”中來管理最大并行項目數。Visual Studio 11中msbuild.exe不復存在,而且由于Visual Studio 11中Build過程也不再在Devenv.exe進程中進行,所以Visual Studio 11編譯時還將會獲得更好的UI反應和更低的內存占用。Visual Studio 11中,最大同時進行的Build數默認是等于CPU核心數的,不建議你手動修改這個值,因為可能會造成不必要的矛盾的編譯結果。
8.新的項目類型(New Project Types)
從專業的角度來看是否應該從一款Visual Studio 轉向另一版本的Visual Studio ,很重要的一點就是比較項目類型。新的Metro風格的項目毫無疑問是Visual Studio 11的主推功能。包括Application, Grid Application, Split Application, Class Library 和Unit Test Library。另外一個 Visual Studio 11 就是JavaScript,包括Blank Application, Fixed Layout Application, Grid Application, Navigation Application 和Split Application。當然,這些新功能只能在Windows8環境下使用。值得注意的是,這一版本還是支持窗口程序的,Silver Light也依然存在,仍然是Visual Studio所支持的平臺之一。還應該注意到是,Visual Studio 11甚至包含了便攜庫,這允許跨平臺的Silver Light和標準.NET的跨平臺開發。另一個很具代表性的特色就是,所以的新功能都支持C++開發,使用C++來開發Metro界面。但 是,Visual Studio 11將不再支持.NET2.0以下平臺,很較早的程序需要重新。
其它具體的項目類型的支持差別請查看文章所附的大圖。
9.可擴展性(Extensibility )
Visual Studio 11提供了相當多的插件來幫助更簡單地操作。
Visual Studio Package: 提供舊版本Visual Studio 視圖的插件
C#/Visual Basic Item and Project Templates: 定制的文檔和項目模板
Editor Classifier: 自定義文本高亮支持
Editor Margin: 支持自定義編輯器"margins" UI
Editor Text Adornment: 支持編輯器自定義圖片裝飾
Editor Viewport Adornment: 支持畫板的自定義圖片美化
VSIX Project: Visual Studio 11的可擴展性在Visual Studio Gallery中的體現
Windows Presentation Foundation/Windows Forms Toolbox Control: 客戶端UI的自定義控制
Visual Studio 11還提供了新的API接口用來開發插件。和之前透露的一樣,包括可以使用第三方單元測試工具(XUnit and NUnit)和定制的代碼分析工具。這是微軟開放IDE擴展的一個信號,特別是面向開源工具。
微軟在做了眾多改進后卻刪減了一個相當重要的特性——宏!根據微軟的報告,因為只有很少的的用戶使用過宏,所以Visual Studio 2011 中并不會默認引入宏,但Visual Studio 11將可以通過擴展包引入自定義功能。
從開發者的角度來看,我們希望Visual Studio 能夠很好地改善開發效率,在這方面,Visual Studio 11并沒有明顯的改進。但在其他地方,Visual Studio 11做了很多改進,比如:SearchEverywhere、真正的多顯示器支持、先進的代碼克隆分析工具,以及解決方案管理器。明確地把重構過的測試功 能也集成了進來,并且把測試窗口全都統一到同一個單元測試資源管理器中。
下面是Visual Studio 11和Visual Studio2010支持的項目類型的詳細比較:
以下摘自微軟MVPyincheng01的博客,開發第一個C++ Metro 程序:微軟公布了Windows8開發人員預覽版,
http://msdn.microsoft.com/en-us/windows/home?ocid=ban-f-cn-dca-Sep-Win8Build
大家可以在虛擬機上安裝。比如 virtual Box4.12.
安裝完成以后效果如下
創建第一個Windows8應用程序,
Visual Studio 11效果如下
設計下列控件
針對程序進行命名
雙擊button,插入下列代碼,
按下F5,運行效果如下
虛擬機運行效果如下