細數2011年對開發者而言的十個重大事件
從 Windows 8 開發者預覽版的推出到移動版 Flash 的“消亡”,2011年對開發者而言定是重要的一年。
對軟件開發者來說,如果要為 2011 年下個注腳的話,注定是個“多秋之年”。這一年許多重大事件層出不窮,技術變革猶如風景變幻,若要追溯的話最與之相仿的應該是 1995 年了,在那一年 Windows 95 及 32 位計算正式推出。今年,在邁向 Web 編程的道路上我們同樣經歷了許多重大變遷,下一代 Windows 系統同樣令人期待,不同于我們現今所常使用的。此外,許多我們原本認為的“未來”技術似乎突然間又與以往想象并不相同。以下就來細數一下 2011 年中開發領域所發生的一些重大事件。
1. Windows 8 開發者預覽版推出
Windows 8 開發者預覽版的發布猶如在開發者社區中投下了一枚重磅炸彈。全新的 Metro 界面及 WinRT API,清楚無疑地表明了微軟已無意再執著于傳統的桌面市場。你可以對“平板效應”持任何保留觀點,但微軟顯然相信了。除非在正式版(據說將在 2012 下半年,且很可能在 8 月份)推出前微軟有了一個新的戰略改變,否則我們有理由期待,微軟將把早期的傳統桌面系統劃入“Maintenance only”行列,并最終遺棄它們。或許值得思考的是:倘若真的一個 Windows 8 生態系統形成,像 Ruby、Python 以及 Java 等這些語言如何定位它們的位置呢?在一個純 Metro/WinRT 模式下,它們可能并不能很好地運作。
2. HTML5 崛起
HTML5距離真正“完成”還有一段路程。但是在 2011 年,各大廠商紛紛加入對它的支持之中,從瀏覽器至各種開發工具中都可見一斑。與此同時,許多網站等甚至正式采納它,特別是在移動設備中。為什么是移動?首先,這得感謝移動瀏覽器的大力支持——在移動設備上沒有 IE 6 的存在。其次,HTML5擁有許多特性可以提高移動設備上的瀏覽體驗。再則,移動開發人員大都傾向于使用前瞻性的、前沿技術,這也得益于大多數情況下他們可以輕裝上陣。
3. Adobe 停止移動版 Flash 開發
當 Adobe 宣布停止移動版 Flash 的開發時,人們的第一反應通常是“這么快?(譯者:這么慢?)”,而不是“怎么會這樣”(注:Adobe 近日表態只是不再推出基于移動設備瀏覽器 Flash Player 的更新版本,而在桌面平臺使用的 Flash 及移動設備瀏覽器之外使用的 Flash 即 AIR,Adobe 將繼續支持。此外,其他合作伙伴也可以繼續開發它)。但是倘若在日益流行的移動平臺上 Flash 無法繼續更新,恐怕其在桌面系統上的優勢也將難以為繼——大多數情況下應是如此。除非你不打算進行移動開發(祝你好運,單就屏幕大小來說大型平板已經不遜于桌面計算機),Flash 已無機會。Flash 的終結可說是眾望所歸。
4. Silverlight 遭微軟擱置
在 Adobe 將移動 Flash“冷藏”于 Maintenance-only 倉庫之前,微軟已開始在 Silverlight 上“急剎車”了。首先,微軟表示 Silverlight 將不再應用于各種 Flash 或 HTML5 所實現的方案,由于 Silverlight 已不可能到達“無處不在地安裝”程度——就像曾經的 Flash 以及即將到來的 HTML5,微軟的這一舉措無疑是明智的。同時,微軟表示 Silverlight 更多地是為瀏覽器之外(out-of-browser)的應用程序所準備的,比如 WP7 或企業應用。開發者們隨后即發現 Silverlight 的升級及路線圖發布不再像以往那么快了;雖然微軟辯稱 Silverlight 現在已是一項很“成熟的”技術,但是你應當明白。隨著 Windows 8 預覽版的到來,Silverlight 和 WPF(Silverlight 的 Windows 桌面版兄弟;即 Windows Presentation Foundation,微軟推出的基于 Windows Vista 的用戶界面框架)都將淪落為邊緣角色。唯一的安慰在于 Silverlight、WPF 和新的 Metro UI 及 WinRT system 很相似。在多數情況下,從 Silverlight 或 WPF 應用開發轉移至 Metro/WinRT 應用很方便。
5. Java 7 發布
Java 7 終于發布。在 .NET 生態系統加速圈地的同時,Java 社區卻由于 Oracle 對 Sun 的收購似乎陷入了“內戰”的泥潭之中。好在,Java 7 還是出來了。這是 Java 邁向現代化進程所跨出的有力一步。但是,對比一下,Perl 也很快將到達6,而C++ 11 亦將很快到來。
6. iPad 支配平板市場
當下,已經有很快開發人員開始期待 Android 平板能夠沖破 iPad 所構筑的壁壘。不過,目前說來 Android 充其量也只是在 iPad 所開創的平板藍海中濺起了一點浪花。2012年會是屬于 Android 平板的嗎?也許。不過也可能是屬于 Windows 8 平板的。甚或只是 iPad 將各個挑戰者逐一挑落的一年。現下,如果你想開發完全針對平板的應用,還是投靠 iPad 吧,或者打消這個念頭(如果你并不喜歡 iOS 開發)。
7. PaaS 產品盛行
數年前,我目睹了最初 PaaS(平臺即服務)產品的誕生。它與亞馬遜此前建立的 Amazon Web 服務不同,我的反應是“Oh,真有意思”。今天,從各種主流平臺(.NET、Java、PHP)到小眾應用(Ruby on Rails),甚至一些相對陌生的平臺(如 OutSystem 的 Agile 平臺)上都能看到 PaaS 的身影。有趣的是,其中大多數似乎都是建立于 Amazon Web Services 之上。無論如何,現在我們更關注的是該將應用放到哪個云上,怎么才能解決管理、安全及性能等問題,而不是為什么要這樣做。平臺的時代已經來臨。
8. 低廉的云工具漸取代桌面工具
說到云,過去一年中我談論云工具要遠甚于桌面工具。云工具比相應的桌面工具要便宜得多,而且容易使用。很多時候,廠商利用了已有的開源工具,這使它們易于使用和運行,也很容易在云上部署。這是個好主意。對系統管理人員來說,可不情愿看到服務器散列(server sprawl)問題的發生(尤其若對某個操作系統或工具還不甚了解時),而更希望開發團隊去使用云服務。云工具可以說是產業的未來,特別是對小企業來說。
9. JavaScript 日益重要
JavaScript 的重要性是早已周知的。而隨著 HTML5 的崛起及 Flash 與 Silverlight 正走在淡出的路上,JavaScript 是唯一變得越來越重要的。jQuery 等框架的日益流行也使它更容易使用。很多推出的新語言無一不是支持編譯器轉換為 JavaScript 代碼,以便透過其進行推廣,比如 Google 的 Dart。
10. ASP.NET WebForms 趨于沒落
多年來,ASP.NET 開發人員只能眼睜睜地羨慕著其他語言的開發人員,比如 Ruby on Rails 開發者,因為 WebForms 的混亂讓他們苦不堪言。不過在 2011 年 ASP.NET MVC 不再生澀,今年初微軟發布 ASP.NET MVC 3,使得該技術真正成熟了起來。越來越少的開發人員在新項目中使用 WebForms,理由也非常充分。雖然 ASP.NET MVC 還沒完全讓我喜出意外(部分原因也是因為我一直以來拒絕 WebForms,而使用了一種與 ASP.NET MVC 較相似的方式來寫 ASP.NET 程序),不過一切在朝著好的方向發展。.NET 開發者最終將能夠獲得像 Ruby 與 Java 開發人員那樣的代碼編寫功能。
最后再提名一個:C++11
本文前面介紹到了C++11,不過我們有必要將它單獨列出來。C++11終于將 C++ 帶入了現代化,這也得感謝其“漫長”而謹慎的規范制定過程。它曾經很糟糕,很長一段時間內都被稱為C++0X,因為沒人知道它什么時候將完成。在沒完沒了的命名上,它甚至耗費了長達一年多時間來最終敲定。盡管如此,C++11將無疑吸引更多的開發人員進入 C++ 世界,特別是在現在底層與本地(Native)編程日趨于冷門的情形下。
Via http://www.techrepublic.com/blog/10things/the-10-most-important-events-for-developers-in-2011/2904