Web Apps 發(fā)展?fàn)顩r2011年盤點(diǎn)

2011-12-31 23:04:51來源:海豚瀏覽器CTO作者:劉鐵鋒

HTML5的興起讓業(yè)界有了Web App和Native App之爭,本文對Web App 2011年的發(fā)展?fàn)顩r做了超詳細(xì)的盤點(diǎn),并指出基于HTML 5的Web App會有新的開發(fā)模式,甚至于不同于App Store的新盈利模式出現(xiàn)。

HTML5的興起讓業(yè)界有了Web App和Native App之爭,本文對Web App 2011年的發(fā)展?fàn)顩r做了超詳細(xì)的盤點(diǎn),并指出基于HTML 5的Web App會有新的開發(fā)模式,甚至于不同于App Store的新盈利模式出現(xiàn)。

從HTML 5開始興起之后,在移動平臺上Web Apps是否能夠和Native Apps一較高下,甚至Web Apps是否可能取代Native Apps的紛爭開始興起。不管現(xiàn)在Web Apps的能力如何,在業(yè)界,對于Web Apps在跨平臺應(yīng)用開發(fā),游戲開發(fā)等各種嘗試已經(jīng)興起。

在2011年初,筆者就曾經(jīng)拋出過Web Apps會在未來得到大力發(fā)展的觀點(diǎn),原因有三:

1.     從商業(yè)的角度來看,因?yàn)殚_發(fā)成本的原因,會推動Web Apps會贏得更多項(xiàng)目的訂單,從而會推動更多的開發(fā)者和更多的Web Apps項(xiàng)目出現(xiàn)。

2.     從技術(shù)的角度來看,HTML 5的標(biāo)準(zhǔn)推動以及硬件的處理能力會使得Web Apps有能力實(shí)現(xiàn)類似Native Apps的功能。

3.     從歷史的角度來看,移動互聯(lián)網(wǎng)上會復(fù)制PC互聯(lián)網(wǎng)上所曾經(jīng)發(fā)生的事情,而今PC上基于Web的開發(fā)遠(yuǎn)勝于傳統(tǒng)的Native App開發(fā)。

那么,一年過去了, Web Apps的發(fā)展情況如何?

規(guī)范及標(biāo)準(zhǔn)

盡管規(guī)范及標(biāo)準(zhǔn)并非是推動技術(shù)方案的絕對因素,但對指引方向,確定開發(fā)架構(gòu)有非常大的幫助。在互聯(lián)網(wǎng)企業(yè)分布式架構(gòu)興起時,J2EE所制定的規(guī)范和標(biāo)準(zhǔn)就曾經(jīng)扮演過這樣的角色。盡管在后來實(shí)際發(fā)展的過程中,完全依據(jù)官方的標(biāo)準(zhǔn)的實(shí)現(xiàn)并未占據(jù)主導(dǎo)地位,反而是spring等輕量級的實(shí)現(xiàn)獨(dú)領(lǐng)市場風(fēng)騷。但無論如何,標(biāo)準(zhǔn)和規(guī)范的建立依然對一個新的領(lǐng)域的興起有著積極的指導(dǎo)意義。

Web Apps并不是一個太新的概念。在Web發(fā)展的過程中,業(yè)界就在思考web不僅作為一種展現(xiàn)的方式,同時也成為一種開發(fā)平臺的可能。早在2004年Web Hypertext Application Technology Working Group (WHATWG) 就在開始著手準(zhǔn)備web application的標(biāo)準(zhǔn)和建立。與此同時W3C期望發(fā)展則是XHTML 2.0。 如大家所知道的2009年W3C放棄了改進(jìn)XHTML 2.0的標(biāo)準(zhǔn)發(fā)展,F(xiàn)在W3C和WHATWG一起在攜手修訂和發(fā)展HTML 5的規(guī)范。

在這份新的規(guī)范中:

1.     W3C致力于對HTML 5的展示層面,包括很多新的元素的制定。具體可以參見這里。

2.     WHATWG致力在開發(fā)的角度進(jìn)行改進(jìn),參見這里。

在這兩份標(biāo)準(zhǔn)中承載了太多的內(nèi)容,以至于瀏覽器廠商很難在短時間內(nèi)完成或全部接受。但是根據(jù)HTML 5標(biāo)準(zhǔn)的一個編輯,Ian Hickson的說法,預(yù)計到2012年可以達(dá)到候選推薦版的地步(http://en.wikipedia.org/wiki/HTML5 )。實(shí)際上根據(jù)WHATWG工作組的說法,“事實(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)開始暫露頭角。網(wǎng)上也開始流傳據(jù)說是EA發(fā)布的命令與征服HTML 5版本的游戲宣傳片(http://www.youtube.com/watch?v=cYsb8iMz5fE&noredirect=1 ).

在筆者看來,2011年,標(biāo)準(zhǔn)并沒有成為限制HTML 5發(fā)展的一個大問題,反到是業(yè)界各方都在挖掘HTML 5的潛力,并推動HTML 5的發(fā)展。

產(chǎn)業(yè)支持

標(biāo)準(zhǔn)之爭,本質(zhì)上也就是產(chǎn)業(yè)巨頭之間的利益分配戰(zhàn)爭。2010年4月,喬布斯公開發(fā)表Thoughts on flash (“  http://www.apple.com/hotnews/thoughts-on-flash/ “) 一文,公開宣稱Flash以及不再為瀏覽視頻或者其他web內(nèi)容所必須。

如大家所熟知,在iPhone上Flash壓根就不能被運(yùn)行,但iOS的系列產(chǎn)品并未因此而受到任何影響。不僅僅如此,微軟基本放棄了增強(qiáng)瀏覽器功能的Sliverlight,全面擁抱HTML 5。更勿論在不遺余力推動HTML 5發(fā)展的Google。在各種巨頭的夾擊之下,Adobe也在2011年主動(或者說被迫)地放棄了Flash在移動設(shè)備上的支持。因此,從產(chǎn)業(yè)支持上來看,有能力做平臺,做移動設(shè)備的三大廠商,Google, Apple, Microsoft都已經(jīng)全面開始了對HTML 5的支持。

不僅僅如此,各大廠商還在充分利用GPU的特性來幫助到瀏覽器的渲染,這更將會推動HTML 5在技術(shù)上和實(shí)踐上的成熟,從而得到更多開發(fā)者的支持。而微軟在windows 8上直接讓javascript可以編寫原生的程序,IE10.0里更是改進(jìn)了非常多支持(http://www.cnbeta.com/articles/167580.htm

開發(fā)平臺

技術(shù)能夠得到廣泛的推廣和應(yīng)用,不僅和標(biāo)準(zhǔn)和廠商的支持有關(guān),更多地在于是否能夠吸引到足夠多的開發(fā)者使用相關(guān)的平臺和技術(shù)開發(fā)應(yīng)用。Microsoft的操作系統(tǒng)到現(xiàn)在依然占據(jù)絕對壟斷地位,這和其在開發(fā)平臺上的推廣投入巨大不無關(guān)系。那么對于HTML 5的發(fā)展來說呢?

在筆者看來,如果對比傳統(tǒng)的軟件開發(fā),把HTML 5作為一個web的開發(fā)平臺來說,需要有如下幾個方面的開發(fā)工具和平臺支持:

1.     UI制作工具。各種IDE工具都以非常強(qiáng)大的界面拖放工具,事件綁定方式來支持UI的開發(fā),減少程序員的工作量。

2.     數(shù)據(jù)交互組件。絕大部分的業(yè)務(wù)邏輯,都是和數(shù)據(jù)通訊有關(guān)。在各種平臺上,簡化數(shù)據(jù)交互的組件都不可或全。比如.NET中的ADO.NET。

3.     強(qiáng)大的IDE。如大家所熟知的VS.NET, Eclipse等等。

4.     各種開發(fā)庫的支持。

在web apps的開發(fā)中,我們可以看到目前的狀況

1.     瀏覽器中的開發(fā)調(diào)試工具開始組件成熟和強(qiáng)大。不管是Chrome還是IE自帶的,還是Firebug等第三方的調(diào)試工具。調(diào)試和開發(fā)CSS/Javascript的難度已經(jīng)減少很多。未來這一部分依然會得到足夠的發(fā)展。

2.     開發(fā)的模式。如現(xiàn)在Web Apps的標(biāo)準(zhǔn)定義所期望的,離線處理能力,網(wǎng)絡(luò)請求能力(web socket/web works)等。這一切依然需要新的標(biāo)準(zhǔn)和定義。

3.     IDE的工具,VS.NET/Eclipse有足夠地理由會進(jìn)一步增強(qiáng)對web開發(fā)的支持。

4.     各種庫的支持。目前sencha, jQuery已經(jīng)開始,未來應(yīng)該會有更多的支持。

除此之外,為解決HTML 5不足以訪問系統(tǒng)資源的問題,類似于PhoneGap這樣的解決方案,可以通過混搭的方式來拓展web apps的處理能力。

開發(fā)者社區(qū)

社區(qū)對新技術(shù)的推動和推廣作用是巨大的,在各種開源的工具的完善和推廣,以及新語言的推動和誕生,都離不開開發(fā)者社區(qū)的支持和推動。事實(shí)上,業(yè)界媒體對技術(shù)的支持可謂不遺余力,在wall street journal這樣的老牌媒體中已經(jīng)開始對web app的關(guān)注(http://blogs.wsj.com/digits/2011/06/16/fts-web-app-strategy-thwarts-apple-store/ )。 Read write web這樣的媒體,網(wǎng)頁的標(biāo)題就是“web apps, web technology trend, Social networking and social media” 。

不僅僅是海外社區(qū)的支持,按照規(guī)律來說技術(shù)的推動一般比海外會晚兩年的國內(nèi)來說,對web app的支持和推動也以及如火如荼。在2011年出,國內(nèi)對HTML 5發(fā)展探討的社區(qū)開始興起。發(fā)展頗快的HTML 5研究小組的線下活動組織的如火如荼,而以專業(yè)分析web apps的web app trend這樣的博客對web app的趨勢分析,發(fā)展?fàn)顩r的內(nèi)容更是非常翔實(shí)和專業(yè)。有理由相信2012年,國內(nèi)外的社區(qū)對此的支持會更大。

開發(fā)理念

開發(fā)理念對一門新的領(lǐng)域發(fā)展的推動作用指導(dǎo)意義重大。設(shè)計模式一詞, 就影響了各種各樣的開發(fā)者。而對于移動設(shè)備上的web app發(fā)展來說,同樣需要新的開發(fā)理念出現(xiàn)。由于移動設(shè)備的特殊性,移動設(shè)備的顯示模式,交互方式都和PC上延續(xù)了30多年的方式不同,因此,不可避免地需要有新的針對于移動設(shè)備的設(shè)計理念,開發(fā)思路出現(xiàn)。

從國內(nèi)外來看,市面上已經(jīng)開始出現(xiàn)探討移動設(shè)備開發(fā)理念的書籍,比如Mobile first,通過大量的事例以及交互方式來探討Mobile上的設(shè)計思路。而Responsive Web Design更是開始開創(chuàng)了對web交互方式的探討。有理由相信在2012年,類似的web design探討會越來越多,理論和最佳實(shí)踐也會越來越豐富。

商業(yè)相關(guān)

技術(shù)和商業(yè)往往是密不可分的,技術(shù)上的革新會推動商業(yè)上的發(fā)展,商業(yè)的需求同時也會促發(fā)技術(shù)上的創(chuàng)新。對于web apps在移動設(shè)備上的創(chuàng)新來說同樣也是如此。

對于web apps這樣的新概念來說,早期開發(fā)者的支持和推動才可能會進(jìn)一步技術(shù)決策者在技術(shù)選型以及后期商業(yè)上的決策。在web app的技術(shù)上來說,因?yàn)镻honeGap以及和Sencha這樣的技術(shù)出現(xiàn),使得web app在跨平臺以及利用移動設(shè)備的能力進(jìn)一步增強(qiáng)。而由于同樣使用javascript, 使用phonegap的難度并不高。

在2011年,國內(nèi)的開發(fā)者已經(jīng)開始敏銳地看到相關(guān)技術(shù)的興起,PhoneGap中國等網(wǎng)站也開始積極在國內(nèi)推動PhoneGap技術(shù)的推廣以及應(yīng)用,盡管2011年尚未看到成功案例的出現(xiàn),但是一旦技術(shù)成熟或者有大的成功案例出現(xiàn),國內(nèi)大規(guī)模網(wǎng)站往移動設(shè)備上轉(zhuǎn)的需求講會推動,目前利用web技術(shù)開發(fā)網(wǎng)站的開發(fā)者會積極轉(zhuǎn)型,在2012年接受web app來開發(fā)程序的開發(fā)者會越來越多。

從全球范圍來說,目前web app在商業(yè)應(yīng)用的最大成功案例就是Finance Time的web apps,短短的幾個月之內(nèi)已經(jīng)突破了百萬用戶,其表現(xiàn)能力已經(jīng)和Native App的品質(zhì)相當(dāng)。

而在國內(nèi),目前僅有部分的嘗試以及探索,并沒有出現(xiàn)大量的應(yīng)用。然而,另外一個方面來說,HTML 5游戲的發(fā)展反到比web app的發(fā)展速度快很多。因此,2011年FT的web apps成為了web apps發(fā)展過程中唯一的亮點(diǎn),但足以證明技術(shù)的成熟,有理由相信在2012年會有更多有創(chuàng)意的web apps誕生。

總結(jié)

縱觀2011年web apps的發(fā)展,不難發(fā)現(xiàn)。技術(shù),標(biāo)準(zhǔn)的成熟以及發(fā)展速度比大家想像的快很多,而Adobe在如此之短的速度內(nèi)放棄移動設(shè)備上的Flash也足以讓人吃驚,產(chǎn)業(yè)巨頭不遺余力的技術(shù)推廣和發(fā)展,讓人有足夠的理由相信web apps會伴隨HTML 5的發(fā)展而興起,而在開發(fā)工具的不足,商業(yè)成功案例的缺乏,也導(dǎo)致了web apps的破冰的速度不夠快。但PhoneGap這樣的技術(shù)會推動web + Native的混搭架構(gòu),組建推動web apps的發(fā)展。

未來的幾年是移動設(shè)備高速發(fā)展的幾年,同樣也是技術(shù)創(chuàng)新會大規(guī)模應(yīng)用的時間,有理由相信沒準(zhǔn)基于HTML 5的Web App會有新的開發(fā)模式,甚至于不同于App Store的新盈利模式出現(xiàn)。

關(guān)鍵詞:WebApp移動應(yīng)用