英文原文:techrepublic,編譯:iteye
從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)程式設計日趨於冷門的情形下。