成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

Web App框架發展趨勢及現狀分析

2012-04-08 06:49:33來源:《程序員》雜志作者:劉鐵鋒

摩爾定律作為指引PC發展最重要的定律,同樣也在移動設備的發展上起著重要的作用。國內某款按照互聯網思路開發手機的大佬曾宣稱:手機CPU的發展速度可能會超過PC的發展速度。按照這個思路可以預見,手機的處理能力將

摩爾定律作為指引PC發展最重要的定律,同樣也在移動設備的發展上起著重要的作用。國內某款按照互聯網思路開發手機的大佬曾宣稱:手機CPU的發展速度可能會超過PC的發展速度。按照這個思路可以預見,手機的處理能力將會達到甚至超過PC的處理能力。與此同時,手機瀏覽器的處理能力將會和PC瀏覽器能力不相上下。

在硬件飛速發展的同時,操作系統和軟件的更新也在快速演進。繼iOS超強的硬件加速能力之后,在Android 4.0中,為系統默認引入硬件加速功能成為了最大賣點。這將會為Android系統帶來更加流暢的界面體驗,同時也會為瀏覽器帶來更好的Canvas繪制性能以及CSS Animation的效果。不僅如此,在2012年2月,Chrome for Android的發布也進一步推動了手機瀏覽器的發展。Chrome for Android直接移植了桌面版Chrome 16.0的代碼,同樣延續了Chrome在啟動速度、渲染速度、網頁加載速度以及基于V8引擎的JavaScript執行速度這些可以秒殺同行的能力。

快速發展的硬件加上來自瀏覽器的革新,這些都成為推動Web App在移動設備上發展的利好消息。盡管如此,硬件和Chrome在移動設備上的發展僅是基礎平臺的發展。正如在PC+Windows時代一樣有著各種功能強勁的框架一樣,Web App的發展需要各種基礎的開發平臺、框架以及庫的普及和推廣。本文將集中探討目前支持Web App的各種框架以及平臺的發展狀況和不足。

Web App所依賴的框架以及庫

在Web App的發展中一直有兩種觀點:

Web App就應該延續Web一貫簡單、靈活的風格,延續Web的開發模式和理念,哪怕在移動設備上也是如此。

Web App應該沖擊和模擬Native App的行為,用Web的技術來開發出類比Native App的程序。

盡管這個問題已被討論過很多遍, 并且大眾認為它們各有長處,會占據各自擅長的開發領域很長一段時間。但我認為,Web相關的技術一直在侵蝕Native App的領地。尤其是在JavaScript的語言進化以及開發能力越來越強的今天,基于AJAX的應用越來越豐富,使得前端的開發能力越來越強,承載的功能也越來越多。因此,在Web App的發展過程中,各種類比Native App的框架和庫會越來越多,這也使得Web App所能夠具有的開發能力越來越傾向于Native App。 

那么,在移動領域Web App的發展過程中,將會需要和出現怎樣的框架和技術支持呢?

基礎的調試工具。對于任何開發平臺來說,這是最為基礎的開發工具和需求。目前在PC瀏覽器中,Chrome、IE、Firefox都提供了強大的從資源文件瀏覽、CSS應用規則監控、網絡請求監控以及JavaScript斷點執行的調試工具。

UI層的組件/框架。對任何一種Native App的開發語言來說,這些都是基礎的用來搭建大規模上層應用的原材料庫,在這個基礎之上才會演化出各種各樣的編程模式。從VC++對應的MFC,到Delphi對應的VCL,到Java對應的AWT/Swing莫不如此。盡管因為Web的特殊性,基于HTML的頁面元素標簽構建異常簡單,但對于復雜的混合交互控件,仍然需要UI的組件/框架的支持以作出絢麗的效果。

數據以及業務邏輯的組件/框架。從緩存到配置文件、數據處理、網絡請求等各部分的組件/框架,會成為開發各種信息系統、具體業務相關企業信息化系統的主要需求。這些會成為簡化企業信息化開發,各種行業應用最為直接和有效的有利工具。正如.NET中的ADO.NET以及Enterprise Library。

跨平臺以及與移動設備硬件能力相關的框架。如果不涉及到具體移動設備的固有能力(比如打電話、發短信、調用聯系人信息等涉及本地數據相關的能力),Web App天然就是跨平臺的。然而,如果需要和移動的平臺能力結合在一起,那么,就需要有相關的跨平臺框架利用統一的數據接口,來幫助Web App獲得Native App的能力。同時,伴隨著瀏覽器能力進一步成熟,Web App會越來越不依賴于第三方的跨平臺框架。例如現在可以看到的獲得地理位置信息,以及通過Web GL直接訪問GPU來獲得3D的能力等。

當這些能力和框架開始完善時,Web App就會得到越來越多開發者的支持,基于這些技術和框架開發的Web App的功能也會越來越強大。

現有移動框架上的發展狀況

框架的成熟會進一步催生應用的實現和普及。根據前面對框架能力的分析以及評估,我們可以一一對號入座,然后靜觀業界的發展。

基礎的調試工具。在之前的移動設備上瀏覽器的功能比較單一,僅能實現基本的瀏覽功能。在2012年2月發布的Chrome for Android中,已經可以看到,這一塊工具已經被Google率先補了起來。Chrome for Android提供了通過USB連接PC,可以利用Web來調試手機上頁面。這對所有開發Mobile Web頁面以及Web App的開發者來說都會是一個利好消息。

UI的組件以及框架。jQuery可以認為是最強的JavaScript Library之一。注意,是Library而不是Framework。他本質上是簡化和JavaScript的開發工作,通過大量構建好的Library可以快速幫助開發者實現各種各樣操作DOM以及CSS的效果。在移動設備商,由AppMobi推出的JQ.Mobi號稱是重寫了jQuery在移動設備上的實現,僅有3KB的大小完勝jQuery 35KB的體量。并且根據JSPerf Test的數據,它在Android上比jQuery快3倍,在iOS上要快2.2倍。這對所有做移動Web App開發的人來說是非常好的消息,速度和體驗是一個非常關鍵的問題。可以預見的是jQuery和AppMobi會在這個領域角力,然后快速推動這一個領域的發展。

Sencha Web同樣也是最知名的UI Library和Framework提供商。Sencha主打的Ext JS 4可以讓開發者通過MVC的模式來開發Web App。Sencha Touch則定位于Mobile上的HTML 5 Web App開發框架。除此之外Sencha Touch Charts則解決了大量圖片控件的問題。在這個領域,Sencha一直是先行者,可以認為是從0到1的轉變。盡管有開發框架過重的問題,但只要性能跟得上,相信Sencha會成為開發者首選的框架之一。在MVC框架這個戰場上,還有Yahoo! Cocktails、Sproutcore、Backbone JS這樣的競爭對手。除此之外,還有Zepto、Ripple、LungoJS、Joshfire、Jo這些定位在移動HTML 5的框架。

在這個領域會是推動Web App發展最前衛也是最火熱的領域,有理由相信各種開源的思路和組織,甚至是Google、Facebook、Microsoft、Adobe這樣的大公司直接介入,會越來越快地推動這個領域的發展,并且會成為Web App發展的最重要的推動力量和基石。把握和跟蹤好這些框架的變遷和大公司的最新動向,就會非常緊密地了解Web App的能力以及發展狀態。

數據和業務邏輯框架。這部分最重要的在于和其具體領域直接相關,只有大型的平臺公司才具備實力和技術推廣能力將其脫離具體領域。因此,我預測會現有針對具體行業的一站式解決方案率先出現,比如電商或者垂直門戶,然后再伴隨Web App的興起,逐漸往通用化發展。但最終可能還是會被IBM、Microsoft這些傳統的專長于企業方案和開發框架的公司所占有。

跨平臺的解決方案。在我看來,跨平臺的解決方案實際上是各家企業試圖進入到移動端最為關心的方案。任何企業進入移動領域都會面臨移動設備分裂以及很難找到合適的多平臺移動開發者的問題,也會陷入是選用完全本地的實現方案,還是采用Web App的兩難境地。如果選用本地方案,人力成本會很高;而選用Web App的方案,則在調用本地能力上還不成熟,還未看到成功案例。在跨平臺解決方案領域,主要是PhoneGap以及Titanium在這耕耘。以PhoneGap為首的公司跨平臺服務提供商,本質上是希望能夠達到非常完備的平臺覆蓋(目前PhoneGap覆蓋到iOS、Android、Windows Phone、 BlackBerry、webOS、Symbian等平臺),來讓用戶更加順手地實現調用本地硬件的能力。由于PhoneGap已被Adobe收購,甚至成為Adobe下注移動互聯網的重要一環,因此,PhoneGap可能會有更快的發展速度,從而拖垮競爭對手。除此之外,也會有非常多的采用類似于PhoneGap的衍生框架出現,它們或多或少會在某個專業領域有自己的優勢,然后試圖利用跨平臺這個賣點,包裝為半成品或產品來為企業用戶提供服務。目前國內已經出現這樣的公司在開拓市場。

總結

根據如上分析,相信讀者對Web App在未來技術領域可能會出現的框架和技術會有了一定了解,也能找到合適的切入點來了解以及評估目前已有的技術,為自己的技術領域作出合適的選擇。

我感覺Web App的普及和推廣速度比想象中要快。我曾和朋友探討過兩個問題,在這里,以我對這兩個問題的回答作為結尾。

Web App的發展和普及差什么?本文已對技術能力的差距做出了回答。那么,在這些技術能力中,哪一個方面會成為影響Web App發展的最至關重要的點?我認為,最重要的就是UI框架的發展。因為有了這一塊的發展,能夠低成本地快速構建出性能好、交互能力強的Web應用,以這些早起的開發者用強大的Show Case來帶動和推動Web App的進一步發展。

如果Web App的這些框架都具備了,跨平臺的方案如何選擇?我認為,從開發成本上來說,毫無疑問Web App的成本低。業界期待的就是類似于當時.NET和J2EE技術比拼的PetShop的Show Case、樣板產品以及成功案例。而對于PhoneGap這樣的框架來說,從更長遠的角度來看,這些都只是中間狀態。未來HTML5的標準和瀏覽器的發展,會慢慢吞噬PhoneGap這類跨平臺解決方案的市場。總之,這本質上會是Google、Microsoft、Apple等公司聯手擠壓Adobe的戰爭。

比爾·蓋茨曾說:“人們總在短時間內高估技術對社會的影響,而在長時間中又低估重大技術對社會的影響。”Web App的框架可能就是這樣一種快速發展的重大技術,就讓時間來證明吧。

關鍵詞:WebAppapp

贊助商鏈接:

主站蜘蛛池模板: 东乡县| 永兴县| 涪陵区| 定边县| 万州区| 宝坻区| 额济纳旗| 武清区| 和硕县| 德州市| 潮州市| 上高县| 商都县| 南木林县| 莱阳市| 渭南市| 安丘市| 汕头市| 沐川县| 兴仁县| 姚安县| 仁寿县| 汕尾市| 慈利县| 仙居县| 余干县| 新密市| 乐清市| 泉州市| 彭阳县| 旬阳县| 长海县| 临高县| 临潭县| 余姚市| 安丘市| 广水市| 卓尼县| 卢龙县| 右玉县| 诸城市|