Windows 8為什么會是開發(fā)人員的2012
原創(chuàng)【51CTO 6月20日外電頭條】在一周前微軟剛剛發(fā)布Windows 8的***公開展示版本時(shí),來自各界的反響普遍較為積極。Winodws 8提供的新用戶界面看起來簡潔、有吸引力、功能全面,而且這也是微軟推出的***款被廣泛認(rèn)為具備友好外觀的桌面操作系統(tǒng)。然而,負(fù)面的聲音也同時(shí)出現(xiàn)。該展示版本在Windows開發(fā)者群體中飽受詬病,原因非常明確:開發(fā)人員們被告知,他們一切固有的經(jīng)驗(yàn)、知識體系以及過去所編寫過的全部程序在Winodws 8中都毫無用武之地。
難倒Windows 8將要成為開發(fā)人員的2012么?
問題的關(guān)鍵在于Windows 8為了使Windows系列操作系統(tǒng)能夠推廣到平板設(shè)備上而過分追求外觀與感受方面的要求,這使其不得不為那些充滿強(qiáng)烈“浸入式”體驗(yàn)以及新鮮風(fēng)格的全屏應(yīng)用提供支持。隨之而來的情況是,Windows 8將針對這類應(yīng)用程序的開發(fā)而囊括各種新的API,癥結(jié)就在這里。其實(shí)擁有全新的API本身并不算大問題(但Windows系統(tǒng)平臺上從來就沒有支持過這類平板風(fēng)格的應(yīng)用程序,所以當(dāng)下既有的各類資源顯然無法發(fā)揮作用),不過最令人抓狂的是微軟所公布的這類API的使用方式。主管Windows系統(tǒng)體驗(yàn)的微軟副總裁Julie Larson-Green簡要對一款新的“浸入式”天氣預(yù)報(bào)程序進(jìn)行了介紹,整個(gè)說明中最為重要的內(nèi)容是該應(yīng)用程序用到了“我們?nèi)碌拈_發(fā)平臺,也就是,呃,基于HTML5及JavaScript。”
此言一出,開發(fā)業(yè)界立時(shí)哀鴻遍野、天怒人怨。
開發(fā)人員們過去已經(jīng)在Windows開發(fā)平臺上投入了大量的時(shí)間、精力與資金。多年來,大家學(xué)會了Win32、COM、MFC、ATL、Visual Basic 6、.NET、WinForms、Silverlight、WPF等等工具的使用技巧。所有這些技術(shù)都能在特定時(shí)間、特定項(xiàng)目中發(fā)揮作用,為Windows桌面系統(tǒng)的應(yīng)用程序創(chuàng)建提供幫助。而除了Visual Basic 6,其它各種工具時(shí)至今日仍然或多或少得到當(dāng)前Windows系統(tǒng)的支持,而且這些工具也無法單獨(dú)應(yīng)對所有需求;也就是說,除了Visual Basic 6及WinForms,其它工具在當(dāng)下的Windows開發(fā)工作中仍然扮演著各自不同的角色。
在聽聞Windows 8將為其新型“浸入式”應(yīng)用程序引入HTML5及JavaScript后,Windows開發(fā)者們毫不掩飾內(nèi)心的失落與恐慌。這種“一刀切”式的方針意味著完全放棄近二十年來苦苦積累起來的Windows開發(fā)知識及經(jīng)驗(yàn)——還要加上為學(xué)習(xí)微軟那些******大的技術(shù)所付出的海量時(shí)間——此外,也許同樣重要的是,我們不得不放棄內(nèi)容全面、功能豐富的固有框架及強(qiáng)大、普及率極高的Visual Studio開發(fā)環(huán)境,轉(zhuǎn)而將陣地遷移到一套更為原始、系統(tǒng)簡陋且充斥著大量劣質(zhì)開發(fā)工具的平臺。#p#
合理的反應(yīng)
微軟拋棄一切既有經(jīng)驗(yàn)的念頭看起來相當(dāng)瘋狂,但人們同樣可能覺得開發(fā)人員們的反應(yīng)有些過激——不過毫無疑問的是,微軟未來的發(fā)展方向已經(jīng)初現(xiàn)端倪:大力支持HTML5,盡管它在許多方面弱于其它技術(shù)。Larson-Green就Windows 8所做的評論令人震驚,沒錯(cuò),但這其實(shí)只是證實(shí)了開發(fā)人員們此前的一些猜想。開發(fā)者當(dāng)然不愿意為微軟的決定買單,然而如今各種跡象表明Larson-Green所表達(dá)的觀點(diǎn)正一步步變?yōu)楝F(xiàn)實(shí);如果想要用到***的開發(fā)平臺,我們終究需要面對HTML5與JavaScript。
微軟可以說從來沒有為其開發(fā)戰(zhàn)略規(guī)劃出什么上佳的前進(jìn)方向并一直堅(jiān)持貫徹。發(fā)展過程總是充滿混亂的內(nèi)斗,新的技術(shù)潮流帶來大量跳躍式革新,而這些***型的新軟件又鮮有成功的范例。直到大約一年半之前,情況終于有所改觀,一切似乎開始塵埃落定,.NET、Windows Presentation Foundation(簡稱WPF)與WPF的Flash類分支Silverlight三者緊密協(xié)作。WPF與.NET相互配合,提供了一個(gè)用于編寫GUI應(yīng)用的更為靈活、高效且結(jié)構(gòu)明晰的方式,而Silverlight則作為WPF的精簡版本為Windows及Mac OS X系統(tǒng)上的瀏覽器提供功能多樣的各類插件。
這些技術(shù)都談不上***——WPF的執(zhí)行效率從未達(dá)到用戶們的預(yù)期,而Silverlight的跨平臺支持能力也一直沒有***發(fā)揮出來——但軟件開發(fā)在這個(gè)階段至少在產(chǎn)品層面上表現(xiàn)出了令人欣慰的一致性。WPF與.NET應(yīng)付大型應(yīng)用程序,Silverlight則專攻移動版本。
希望落空
然而好景不長,IE9出現(xiàn)了。這一次微軟選擇了HTML5,伴隨著該決定,各種麻煩也接踵而至。在IE9出現(xiàn)之前,Silverlight一直是微軟較為偏愛的跨平臺應(yīng)用程序開發(fā)方案。廣泛支持平臺的缺乏使得Silverlight根本無法對競爭對手Flash造成嚴(yán)重威脅,但至少它占有一席之地,并且在支持它的平臺上表現(xiàn)良好。而從IE9得勢之時(shí)開始,Silverlight就立馬淪為板凳選手,而HTML5則成了指路的明燈、航行的舵手。在這種情況下,即使Silverlight仍有出場的機(jī)會,也只能在那些HTML5實(shí)在應(yīng)付不了的方面發(fā)揮作用,例如處理流媒體視頻。除此之外,開發(fā)人員們不得不接受這樣一個(gè)事實(shí)——改用HTML5吧。
微軟這么做也有自己的道理。如果我們真的想讓廣大用戶將注意力集中到某個(gè)平臺上來,HTML5是不可或缺的。對于面向網(wǎng)頁的應(yīng)用程序來說,對DRM視頻之類并不存在特殊的需求,因此HTML5的優(yōu)勢從長遠(yuǎn)來看還是相當(dāng)明顯的。但第三方開發(fā)人員們對微軟的這種定位方式極為不滿,這也是可以理解的。對于一位長期通過流水線式作業(yè)編寫內(nèi)部應(yīng)用程序的開發(fā)人員來說,對某款瀏覽器插件產(chǎn)生依賴并不算是什么問題,而且Silverlight過去是,現(xiàn)在也仍然是一款具備相當(dāng)多亮點(diǎn)的輔助工具。
HTML5如今還是專注于提高其較為擅長的文本處理能力;而相應(yīng)的架構(gòu)及語義表達(dá)也傾向于對結(jié)構(gòu)化文本文檔的創(chuàng)建進(jìn)行完善,而非針對應(yīng)用程序中的用戶接口。在按鈕、圖標(biāo)、列表框、樹狀視圖及其它接口控制等等Silverlight程序能夠發(fā)揮良好作用的方面,基于HTML5的應(yīng)用程序則依然只能靠基本的文本框來應(yīng)付,而沒有更高層次的處理概念可供選擇。JavaScript函數(shù)庫正在試圖彌補(bǔ)這種差距,但這些函數(shù)庫不具備Silverlight所能提供的功能及控制力。***,如果某位開發(fā)人員打算為用戶接口的創(chuàng)建設(shè)計(jì)一套架構(gòu),該架構(gòu)成品看起來將非常接近Silverlight的產(chǎn)物,而非其真正生母HTML5。
HTML5的另一個(gè)薄弱環(huán)節(jié)在于工具。HTML5所對應(yīng)的設(shè)計(jì)與開發(fā)工具并不像Silverlight的工具那樣成熟和強(qiáng)大,這使得基于HTML5的開發(fā)工作變得更為復(fù)雜,特別是在當(dāng)前應(yīng)用程序自身的復(fù)雜程度也在不斷增加的前提之下。到目前為止,盡管HTML5仍在繼續(xù)被當(dāng)作部署于瀏覽器中的應(yīng)用程序的***開發(fā)平臺,但微軟實(shí)際上幾乎沒有為這款平臺的諸多問題付出任何實(shí)質(zhì)性努力。
無論如何,Redmond總部的確已經(jīng)為HTML5做了點(diǎn)事情,相對于之前對Silverlight及WPF所采取的完全袖手旁觀的態(tài)度,現(xiàn)在的情況還算是略有改善。IE9的創(chuàng)建基于名為Direct 2D的API。這是一款2D圖形函數(shù)庫,采用了Direct3D 10作為加速手段。其實(shí)Direct2D API甚至比HTML5還要低端;至少HTML5的頁面基本上是由文本框所構(gòu)建,而這些框體自身都具備一些“智能”屬性,且擁有布局規(guī)劃、邊框、背景及其它更多內(nèi)容。與此相對應(yīng)的是,Direct2D能夠在為開發(fā)人員留出布局空間的前提下,處理稍微復(fù)雜些的項(xiàng)目,例如各類曲線或是曲線組。此外,不同于WPF在利用Direct3D方面所表現(xiàn)出的低下效率,IE9及Direct2D在利用效率方面都得到了大幅度的優(yōu)化。
對于IE9,微軟在向其開發(fā)社區(qū)公布的通告中提到兩點(diǎn):HTML5是***技術(shù),無論其是否真正合適或好用;如果大家對性能有較高要求,可以直接在C++中使用低端的Direct2D(這當(dāng)然也很令人反感)或是中端的HTML5。如果大家想使用高端且專用的高性能API(例如某個(gè)基于Direct2D的WPF版本),這事兒沒戲,還是盡早放棄此類念頭吧。
因此針對Windows 8所公開的說明應(yīng)該是微軟在對過去幾年所采取的策略進(jìn)行綜合匯總的結(jié)果。盡管HTML5因?yàn)槿毕荼姸喽蔀橐豢羁诒懿畹拈_發(fā)平臺,但Windows 8的開發(fā)人員們只要決定制作新的“浸入式”應(yīng)用程序,他們就沒有更好的選擇。這項(xiàng)策略無疑是瘋狂且***毀滅性的,但至少它保證了開發(fā)要求的一致性。IE9的登場與Silverlight的退隱只是貫徹這套方針的***步;“浸入式”應(yīng)用程序必須使用HTML5則是接下來必須接受的條件。#p#
莫名的沉默
鑒于由合理原因造成的恐慌情緒正在開發(fā)者社區(qū)中逐漸蔓延,人們可能會期望微軟站出來做點(diǎn)什么以安定人心。畢竟,如果微軟有辦法保留工作人員們當(dāng)前具備的、基于Windows系統(tǒng)的開發(fā)知識及經(jīng)驗(yàn),那么整件事情似乎還有斡旋的余地。
然而與之相反,微軟卻堅(jiān)持認(rèn)為歷史趨勢已然證明D9不能再作為開發(fā)工作的專注重點(diǎn),而且其企業(yè)整體也將于今年九月舉行的開發(fā)大會上深入討論下一步開發(fā)平臺。還有其它消息嗎?答案是否定的,甚至連句“別擔(dān)心,我們肯定會想辦法讓大家繼續(xù)通過.NET及本機(jī)代碼來編寫‘浸入式’應(yīng)用程序,大家還是能夠用上自己最為熟知的開發(fā)技能”這樣的安慰性話語都沒有。
重新選擇陣營
這種戰(zhàn)略無疑非常危險(xiǎn)。Windows仍然會在很長一段時(shí)間內(nèi)充當(dāng)企業(yè)級桌面系統(tǒng)中的帶頭大哥,因此以商業(yè)應(yīng)用為主的開發(fā)人員們別無選擇,只能聽任微軟的擺布。也就是說,雖然前路崎嶇,市場的實(shí)際風(fēng)險(xiǎn)卻并不大。但對于那些將著眼點(diǎn)放在平板設(shè)備及智能手機(jī)市場的開發(fā)商來說,事態(tài)就完全不同了。微軟Redmond總部不得不承認(rèn),在以下兩方面他們正面臨窘境:Windows Phone還不滿一歲,啟動步伐也極為緩慢;而在Windows 8成熟之前,整個(gè)企業(yè)也沒有可以依賴的平板設(shè)備平臺。要在商務(wù)及移動市場上兩路開花,微軟需要嶄新的“浸入式”應(yīng)用程序。而且只具備這一個(gè)條件也還不夠好——只有應(yīng)用產(chǎn)品還不能算成功,用戶也得買賬才行——但如果連這個(gè)條件都不具備那就完全沒戲唱了。如果Windows 8平板設(shè)備沒有足夠多的對應(yīng)程序,那么它將永遠(yuǎn)在iPad的威勢下被壓得抬不起頭來。
Windows Phone 7自發(fā)售以來的市場占有率圖示
微軟最為重視的要素之一仍然是其開發(fā)工具以及龐大的開發(fā)人員社區(qū)。Windows Phone明確反映了這個(gè)社區(qū)的價(jià)值所在:至少在可用的應(yīng)用程序數(shù)量方面,它的表現(xiàn)將競爭對手手遠(yuǎn)遠(yuǎn)甩在身后。超過兩萬款應(yīng)用程序可供使用,這一數(shù)字足以傲視webOS在線商店,更不用說黑莓的BlackBerry App World。事實(shí)上Windows Phone擁有這樣驕人的發(fā)展態(tài)勢,正是因?yàn)椴捎昧薙ilverlight作為其開發(fā)平臺。這類開發(fā)工作上手輕松、容易熟悉,甚至開發(fā)人員會在用戶群體相對較小的情況下仍舊為其研制軟件產(chǎn)品,因?yàn)楣ぷ鬟^程充滿趣味。
那些有過為手機(jī)開發(fā)軟件經(jīng)歷的開發(fā)者們,當(dāng)然很希望能夠在為Windows 8制作產(chǎn)品時(shí)讓相關(guān)經(jīng)驗(yàn)派上用場。蘋果與谷歌的平板設(shè)備操作系統(tǒng)都可以直接把對應(yīng)的智能手機(jī)上的軟件拿來使用,因此Windows 8需要具備同樣的特性幾乎可以說是板上釘釘。即使是那些還沒有鼓搗過手機(jī)應(yīng)用的技術(shù)人員,也一定會對利用自己既有的Windows開發(fā)技能為平板設(shè)備制作應(yīng)用程序產(chǎn)生興趣。
然而,如今開發(fā)人員們被告知,要將注意力轉(zhuǎn)移到平板設(shè)備上,他們必須要拋棄以往全部的知識儲備,這無異于當(dāng)頭一棒。這些微軟本應(yīng)極力拉攏的開發(fā)者們現(xiàn)在有充分的理由質(zhì)疑這款平臺的發(fā)展前景。而且他們真的為此憤怒且擔(dān)憂。這種強(qiáng)迫大家必須使用HTML5及JavaScript的行為簡直可以說是在鼓勵(lì)我們重新選擇支持陣營。
應(yīng)用程序的重生
這其中***諷刺意味的是,微軟長久以來一直把網(wǎng)頁應(yīng)用程序作為威脅其企業(yè)生存的死敵。如果網(wǎng)頁本身轉(zhuǎn)化為平臺,那么人們將不再需要Windows系統(tǒng)中的各類程序,甚至?xí)M(jìn)而拋棄Windows系統(tǒng)本身。這種觀念的直接后果就是微軟對Netscape公司所實(shí)施的毀滅性打擊以及在瀏覽器之爭中不顧一切奪取勝利的做法;微軟認(rèn)為,只要成功實(shí)現(xiàn)上述戰(zhàn)略,即使網(wǎng)頁本身真的變成平臺,至少也要通過使用微軟產(chǎn)品的方式將其保持在自己的控制之下。
微軟贏得瀏覽器之戰(zhàn)至今已經(jīng)過去了十年,相對于當(dāng)時(shí)對網(wǎng)頁應(yīng)用程序取代本地客戶端的擔(dān)憂,當(dāng)下的現(xiàn)狀幾乎是完全相反:客戶端應(yīng)用程序領(lǐng)域獲得了爆炸式的發(fā)展。豐富的應(yīng)用程序——其中許多的前端都是云托管之下的網(wǎng)頁應(yīng)用程序——正在蓬勃成長,而這一切都要?dú)w功于智能手機(jī)及平板設(shè)備市場的興起。蘋果App Store與Android Market來勢之迅猛有效扼制了網(wǎng)頁應(yīng)用程序的囂張氣焰,并同時(shí)提高了人們投入客戶端應(yīng)用程序開發(fā)工作的決心和熱情。因?yàn)楸绕饐渭兊木W(wǎng)頁應(yīng)用,開發(fā)人員們通過客戶端可以為用戶奉上功能更多、使用體驗(yàn)更好的產(chǎn)品。
雖然這種趨勢可能無法一直持續(xù)下去——例如金融時(shí)報(bào)認(rèn)為,為了刻意規(guī)避蘋果App Store策略而設(shè)計(jì)的網(wǎng)頁應(yīng)用程序表明這類應(yīng)用模式仍然具備很廣闊的前景——但不可否認(rèn),當(dāng)前實(shí)體類應(yīng)用程序的發(fā)展態(tài)勢及重要作用超出了任何人在五年前所做出的預(yù)測。
智能手機(jī)與平板設(shè)備再次將應(yīng)用程序推向時(shí)代的***,而微軟,作為世界上應(yīng)用程序方面最為重量級的巨鱷級企業(yè),理應(yīng)***程度地利用這種趨勢。微軟擁有***的開發(fā)工具以及資金充裕、只待在其新的平板設(shè)備上大展拳腳的眾多第三方開發(fā)商——萬事俱備,只欠東風(fēng)。
瘋狂,但并不愚蠢
微軟依然在保持沉默,他們似乎很樂于看到目前的局面,即無論這項(xiàng)決定會造成多大的損失及麻煩,將HTML5與JavaScript作為Windows 8“浸入式”應(yīng)用程序開發(fā)惟一工具的方針將決不動搖。而微軟這種沉默保持得越久,就越是能說服人們放棄那些不切實(shí)際的幻想,踏踏實(shí)實(shí)地認(rèn)清事實(shí):微軟并不是刻意不發(fā)言,而是沒有什么可說的。HTML5和JavaScript可能真的是“浸入式”應(yīng)用程序開發(fā)的僅有途徑。因?yàn)槿绻④涍€留有后手,那么目前這長時(shí)間的沉默就變得莫名其妙了。但必須承認(rèn),微軟當(dāng)下的態(tài)度非常傷人,開發(fā)商們在逐漸開始動搖并喪失信心,麻木地等待將于今年九月正式發(fā)布的、會令人徹底抓狂的最終結(jié)論。
但微軟絕不愚蠢,在這個(gè)問題方面的通告及公共關(guān)系處理貌似瘋狂,開發(fā)商們的激烈反應(yīng)也在預(yù)料之中。但這家龐大的企業(yè)不可能忘記過去的教訓(xùn),因此強(qiáng)迫開發(fā)商們拋棄一切經(jīng)驗(yàn)并因此徹底喪失開發(fā)支持優(yōu)勢的情況應(yīng)該不會發(fā)生。Windows 8將提供一個(gè)新的API,而且大家不必通過編寫頁面的方式來使用它。
微軟可能不會針對新API作出任何相關(guān)的官方聲明,但已經(jīng)有蛛絲馬跡逐漸曝光,近來還出現(xiàn)了作為證據(jù)的截圖。目前具體細(xì)節(jié)尚不明了,但我相信隨著時(shí)間的推移,整個(gè)謎題將越來越趨于清晰。屆時(shí),我們將徹底了解到Windows 8會如何擺脫HTML噩夢的糾纏。
原文鏈接:
【編輯推薦】