2011年Web Apps發(fā)展?fàn)顩r大盤(pán)點(diǎn)
從HTML 5開(kāi)始興起之后,在移動(dòng)平臺(tái)上Web Apps是否能夠和Native Apps一較高下,甚至Web Apps是否可能取代Native Apps的紛爭(zhēng)開(kāi)始興起。不管現(xiàn)在Web Apps的能力如何,在業(yè)界,對(duì)于Web Apps在跨平臺(tái)應(yīng)用開(kāi)發(fā),游戲開(kāi)發(fā)等各種嘗試已經(jīng)興起。
51CTO推薦專(zhuān)題:移動(dòng)Web開(kāi)發(fā)指南
在2011年初,筆者就曾經(jīng)拋出過(guò)Web Apps會(huì)在未來(lái)得到大力發(fā)展的觀點(diǎn),原因有三:
◆ 從商業(yè)的角度來(lái)看,因?yàn)殚_(kāi)發(fā)成本的原因,會(huì)推動(dòng)Web Apps會(huì)贏得更多項(xiàng)目的訂單,從而會(huì)推動(dòng)更多的開(kāi)發(fā)者和更多的Web Apps項(xiàng)目出現(xiàn)。
◆ 從技術(shù)的角度來(lái)看,HTML 5的標(biāo)準(zhǔn)推動(dòng)以及硬件的處理能力會(huì)使得Web Apps有能力實(shí)現(xiàn)類(lèi)似Native Apps的功能。
◆ 從歷史的角度來(lái)看,移動(dòng)互聯(lián)網(wǎng)上會(huì)復(fù)制PC互聯(lián)網(wǎng)上所曾經(jīng)發(fā)生的事情,而今PC上基于Web的開(kāi)發(fā)遠(yuǎn)勝于傳統(tǒng)的Native App開(kāi)發(fā)。
那么,一年過(guò)去了, Web Apps的發(fā)展情況如何?
規(guī)范及標(biāo)準(zhǔn)
盡管規(guī)范及標(biāo)準(zhǔn)并非是推動(dòng)技術(shù)方案的絕對(duì)因素,但對(duì)指引方向,確定開(kāi)發(fā)架構(gòu)有非常大的幫助。在互聯(lián)網(wǎng)企業(yè)分布式架構(gòu)興起時(shí),J2EE所制定的規(guī)范和標(biāo)準(zhǔn)就曾經(jīng)扮演過(guò)這樣的角色。盡管在后來(lái)實(shí)際發(fā)展的過(guò)程中,完全依據(jù)官方的標(biāo)準(zhǔn)的實(shí)現(xiàn)并未占據(jù)主導(dǎo)地位,反而是spring等輕量級(jí)的實(shí)現(xiàn)獨(dú)領(lǐng)市場(chǎng)風(fēng)騷。但無(wú)論如何,標(biāo)準(zhǔn)和規(guī)范的建立依然對(duì)一個(gè)新的領(lǐng)域的興起有著積極的指導(dǎo)意義。
Web Apps并不是一個(gè)太新的概念。在Web發(fā)展的過(guò)程中,業(yè)界就在思考web不僅作為一種展現(xiàn)的方式,同時(shí)也成為一種開(kāi)發(fā)平臺(tái)的可能。早在2004年 Web Hypertext Application Technology Working Group (WHATWG) 就在開(kāi)始著手準(zhǔn)備web application的標(biāo)準(zhǔn)和建立。與此同時(shí)W3C期望發(fā)展則是XHTML 2.0。 如大家所知道的2009年W3C放棄了改進(jìn)XHTML 2.0的標(biāo)準(zhǔn)發(fā)展。現(xiàn)在W3C和WHATWG一起在攜手修訂和發(fā)展HTML 5的規(guī)范。
在這份新的規(guī)范中:
1. W3C致力于對(duì)HTML 5的展示層面,包括很多新的元素的制定。具體可以參見(jiàn)這里。
2. WHATWG致力在開(kāi)發(fā)的角度進(jìn)行改進(jìn),參見(jiàn)這里。
在這兩份標(biāo)準(zhǔn)中承載了太多的內(nèi)容,以至于瀏覽器廠商很難在短時(shí)間內(nèi)完成或全部接受。但是根據(jù)HTML 5標(biāo)準(zhǔn)的一個(gè)編輯,Ian Hickson的說(shuō)法,預(yù)計(jì)到2012年可以達(dá)到候選推薦版的地步( http://en.wikipedia.org/wiki/HTML5 )。實(shí)際上根據(jù)WHATWG工作組的說(shuō)法,“事實(shí)上有很多部分已經(jīng)穩(wěn)定,并且接近完成,這些標(biāo)準(zhǔn)現(xiàn)在已經(jīng)可用了,比如<canvas>”( http://en.wikipedia.org/wiki/HTML5 )。
事實(shí)上在2011年,各種基于canvas的HTML 5游戲已經(jīng)開(kāi)始暫露頭角。網(wǎng)上也開(kāi)始流傳據(jù)說(shuō)是EA發(fā)布的命令與征服HTML 5版本的游戲宣傳片( http://www.youtube.com/watch?v=cYsb8iMz5fE&noredirect=1 ).
在筆者看來(lái),2011年,標(biāo)準(zhǔn)并沒(méi)有成為限制HTML 5發(fā)展的一個(gè)大問(wèn)題,反到是業(yè)界各方都在挖掘HTML 5的潛力,并推動(dòng)HTML 5的發(fā)展。
事實(shí)上在2011年,各種基于canvas的HTML 5游戲已經(jīng)開(kāi)始暫露頭角。網(wǎng)上也開(kāi)始流傳據(jù)說(shuō)是EA發(fā)布的命令與征服HTML 5版本的游戲宣傳片( http://www.youtube.com/watch?v=cYsb8iMz5fE&noredirect=1 ).
在筆者看來(lái),2011年,標(biāo)準(zhǔn)并沒(méi)有成為限制HTML 5發(fā)展的一個(gè)大問(wèn)題,反到是業(yè)界各方都在挖掘HTML 5的潛力,并推動(dòng)HTML 5的發(fā)展。
產(chǎn)業(yè)支持
標(biāo)準(zhǔn)之爭(zhēng),本質(zhì)上也就是產(chǎn)業(yè)巨頭之間的利益分配戰(zhàn)爭(zhēng)。2010年4月,喬布斯公開(kāi)發(fā)表Thoughts on flash (“ http://www.apple.com/hotnews/thoughts-on-flash/ “) 一文,公開(kāi)宣稱(chēng)Flash以及不再為瀏覽視頻或者其他web內(nèi)容所必須。
如大家所熟知,在iPhone上Flash壓根就不能被運(yùn)行,但iOS的系列產(chǎn)品并未因此而受到任何影響。不僅僅如此,微軟基本放棄了增強(qiáng)瀏覽器功能的Sliverlight,全面擁抱HTML 5。更勿論在不遺余力推動(dòng)HTML 5發(fā)展的Google。在各種巨頭的夾擊之下,Adobe也在2011年主動(dòng)(或者說(shuō)被迫)地放棄了Flash在移動(dòng)設(shè)備上的支持。因此,從產(chǎn)業(yè)支持上來(lái)看,有能力做平臺(tái),做移動(dòng)設(shè)備的三大廠商,Google, Apple, Microsoft都已經(jīng)全面開(kāi)始了對(duì)HTML 5的支持。
不僅僅如此,各大廠商還在充分利用GPU的特性來(lái)幫助到瀏覽器的渲染,這更將會(huì)推動(dòng)HTML 5在技術(shù)上和實(shí)踐上的成熟,從而得到更多開(kāi)發(fā)者的支持。而微軟在windows 8上直接讓javascript可以編寫(xiě)原生的程序,IE10.0里更是改進(jìn)了非常多支持(http://www.cnbeta.com/articles/167580.htm )
開(kāi)發(fā)平臺(tái)
技術(shù)能夠得到廣泛的推廣和應(yīng)用,不僅和標(biāo)準(zhǔn)和廠商的支持有關(guān),更多地在于是否能夠吸引到足夠多的開(kāi)發(fā)者使用相關(guān)的平臺(tái)和技術(shù)開(kāi)發(fā)應(yīng)用。Microsoft的操作系統(tǒng)到現(xiàn)在依然占據(jù)絕對(duì)壟斷地位,這和其在開(kāi)發(fā)平臺(tái)上的推廣投入巨大不無(wú)關(guān)系。那么對(duì)于HTML 5的發(fā)展來(lái)說(shuō)呢?
在筆者看來(lái),如果對(duì)比傳統(tǒng)的軟件開(kāi)發(fā),把HTML 5作為一個(gè)web的開(kāi)發(fā)平臺(tái)來(lái)說(shuō),需要有如下幾個(gè)方面的開(kāi)發(fā)工具和平臺(tái)支持:
1. UI制作工具。各種IDE工具都以非常強(qiáng)大的界面拖放工具,事件綁定方式來(lái)支持UI的開(kāi)發(fā),減少程序員的工作量。
2. 數(shù)據(jù)交互組件。絕大部分的業(yè)務(wù)邏輯,都是和數(shù)據(jù)通訊有關(guān)。在各種平臺(tái)上,簡(jiǎn)化數(shù)據(jù)交互的組件都不可或全。比如.NET中的ADO.NET。
3. 強(qiáng)大的IDE。如大家所熟知的VS.NET, Eclipse等等。
4. 各種開(kāi)發(fā)庫(kù)的支持。
在web apps的開(kāi)發(fā)中,我們可以看到目前的狀況
1. 瀏覽器中的開(kāi)發(fā)調(diào)試工具開(kāi)始組件成熟和強(qiáng)大。不管是Chrome還是IE自帶的,還是Firebug等第三方的調(diào)試工具。調(diào)試和開(kāi)發(fā)CSS/Javascript的難度已經(jīng)減少很多。未來(lái)這一部分依然會(huì)得到足夠的發(fā)展。
2. 開(kāi)發(fā)的模式。如現(xiàn)在Web Apps的標(biāo)準(zhǔn)定義所期望的,離線處理能力,網(wǎng)絡(luò)請(qǐng)求能力(web socket/web works)等。這一切依然需要新的標(biāo)準(zhǔn)和定義。
3. IDE的工具,VS.NET/Eclipse有足夠地理由會(huì)進(jìn)一步增強(qiáng)對(duì)web開(kāi)發(fā)的支持。
4. 各種庫(kù)的支持。目前sencha, jQuery已經(jīng)開(kāi)始,未來(lái)應(yīng)該會(huì)有更多的支持。
除此之外,為解決HTML 5不足以訪問(wèn)系統(tǒng)資源的問(wèn)題,類(lèi)似于PhoneGap這樣的解決方案,可以通過(guò)混搭的方式來(lái)拓展web apps的處理能力。
開(kāi)發(fā)者社區(qū)
社區(qū)對(duì)新技術(shù)的推動(dòng)和推廣作用是巨大的,在各種開(kāi)源的工具的完善和推廣,以及新語(yǔ)言的推動(dòng)和誕生,都離不開(kāi)開(kāi)發(fā)者社區(qū)的支持和推動(dòng)。事實(shí)上,業(yè)界媒體對(duì)技術(shù)的支持可謂不遺余力,在wall street journal這樣的老牌媒體中已經(jīng)開(kāi)始對(duì)web app的關(guān)注(http://blogs.wsj.com/digits/2011/06/16/fts-web-app-strategy-thwarts-apple-store/ )。 Read write web這樣的媒體,網(wǎng)頁(yè)的標(biāo)題就是“web apps, web technology trend, Social networking and social media” 。
不僅僅是海外社區(qū)的支持,按照規(guī)律來(lái)說(shuō)技術(shù)的推動(dòng)一般比海外會(huì)晚兩年的國(guó)內(nèi)來(lái)說(shuō),對(duì)web app的支持和推動(dòng)也以及如火如荼。在2011年出,國(guó)內(nèi)對(duì)HTML 5發(fā)展探討的社區(qū)開(kāi)始興起。發(fā)展頗快的HTML 5研究小組的線下活動(dòng)組織的如火如荼,而以專(zhuān)業(yè)分析web apps的web app trend這樣的博客對(duì)web app的趨勢(shì)分析,發(fā)展?fàn)顩r的內(nèi)容更是非常翔實(shí)和專(zhuān)業(yè)。有理由相信2012年,國(guó)內(nèi)外的社區(qū)對(duì)此的支持會(huì)更大。
開(kāi)發(fā)理念
開(kāi)發(fā)理念對(duì)一門(mén)新的領(lǐng)域發(fā)展的推動(dòng)作用指導(dǎo)意義重大。設(shè)計(jì)模式一詞, 就影響了各種各樣的開(kāi)發(fā)者。而對(duì)于移動(dòng)設(shè)備上的web app發(fā)展來(lái)說(shuō),同樣需要新的開(kāi)發(fā)理念出現(xiàn)。由于移動(dòng)設(shè)備的特殊性,移動(dòng)設(shè)備的顯示模式,交互方式都和PC上延續(xù)了30多年的方式不同,因此,不可避免地需要有新的針對(duì)于移動(dòng)設(shè)備的設(shè)計(jì)理念,開(kāi)發(fā)思路出現(xiàn)。
從國(guó)內(nèi)外來(lái)看,市面上已經(jīng)開(kāi)始出現(xiàn)探討移動(dòng)設(shè)備開(kāi)發(fā)理念的書(shū)籍,比如Mobile first,通過(guò)大量的事例以及交互方式來(lái)探討Mobile上的設(shè)計(jì)思路。而Responsive Web Design更是開(kāi)始開(kāi)創(chuàng)了對(duì)web交互方式的探討。有理由相信在2012年,類(lèi)似的web design探討會(huì)越來(lái)越多,理論和***實(shí)踐也會(huì)越來(lái)越豐富。
商業(yè)相關(guān)
技術(shù)和商業(yè)往往是密不可分的,技術(shù)上的革新會(huì)推動(dòng)商業(yè)上的發(fā)展,商業(yè)的需求同時(shí)也會(huì)促發(fā)技術(shù)上的創(chuàng)新。對(duì)于web apps在移動(dòng)設(shè)備上的創(chuàng)新來(lái)說(shuō)同樣也是如此。
對(duì)于web apps這樣的新概念來(lái)說(shuō),早期開(kāi)發(fā)者的支持和推動(dòng)才可能會(huì)進(jìn)一步技術(shù)決策者在技術(shù)選型以及后期商業(yè)上的決策。在web app的技術(shù)上來(lái)說(shuō),因?yàn)镻honeGap以及和Sencha這樣的技術(shù)出現(xiàn),使得web app在跨平臺(tái)以及利用移動(dòng)設(shè)備的能力進(jìn)一步增強(qiáng)。而由于同樣使用javascript, 使用phonegap的難度并不高。
在2011年,國(guó)內(nèi)的開(kāi)發(fā)者已經(jīng)開(kāi)始敏銳地看到相關(guān)技術(shù)的興起,PhoneGap中國(guó)等網(wǎng)站也開(kāi)始積極在國(guó)內(nèi)推動(dòng)PhoneGap技術(shù)的推廣以及應(yīng)用,盡管2011年尚未看到成功案例的出現(xiàn),但是一旦技術(shù)成熟或者有大的成功案例出現(xiàn),國(guó)內(nèi)大規(guī)模網(wǎng)站往移動(dòng)設(shè)備上轉(zhuǎn)的需求講會(huì)推動(dòng),目前利用web技術(shù)開(kāi)發(fā)網(wǎng)站的開(kāi)發(fā)者會(huì)積極轉(zhuǎn)型,在2012年接受web app來(lái)開(kāi)發(fā)程序的開(kāi)發(fā)者會(huì)越來(lái)越多。
從全球范圍來(lái)說(shuō),目前web app在商業(yè)應(yīng)用的***成功案例就是Finance Time的web apps,短短的幾個(gè)月之內(nèi)已經(jīng)突破了百萬(wàn)用戶(hù),其表現(xiàn)能力已經(jīng)和Native App的品質(zhì)相當(dāng)。
而在國(guó)內(nèi),目前僅有部分的嘗試以及探索,并沒(méi)有出現(xiàn)大量的應(yīng)用。然而,另外一個(gè)方面來(lái)說(shuō),HTML 5游戲的發(fā)展反到比web app的發(fā)展速度快很多。因此,2011年FT的web apps成為了web apps發(fā)展過(guò)程中唯一的亮點(diǎn),但足以證明技術(shù)的成熟,有理由相信在2012年會(huì)有更多有創(chuàng)意的web apps誕生。
總結(jié)
縱觀2011年web apps的發(fā)展,不難發(fā)現(xiàn)。技術(shù),標(biāo)準(zhǔn)的成熟以及發(fā)展速度比大家想像的快很多,而Adobe在如此之短的速度內(nèi)放棄移動(dòng)設(shè)備上的Flash也足以讓人吃驚,產(chǎn)業(yè)巨頭不遺余力的技術(shù)推廣和發(fā)展,讓人有足夠的理由相信web apps會(huì)伴隨HTML 5的發(fā)展而興起,而在開(kāi)發(fā)工具的不足,商業(yè)成功案例的缺乏,也導(dǎo)致了web apps的破冰的速度不夠快。但PhoneGap這樣的技術(shù)會(huì)推動(dòng)web + Native的混搭架構(gòu),組建推動(dòng)web apps的發(fā)展。
未來(lái)的幾年是移動(dòng)設(shè)備高速發(fā)展的幾年,同樣也是技術(shù)創(chuàng)新會(huì)大規(guī)模應(yīng)用的時(shí)間,有理由相信沒(méi)準(zhǔn)基于HTML 5的Web App會(huì)有新的開(kāi)發(fā)模式,甚至于不同于App Store的新盈利模式出現(xiàn)。
原文鏈接:http://www.leiphone.com/web-apps-2011.html
【編輯推薦】























