久久影院免费观看,亚洲韩国一区二区三区,亚洲国产欧美一区二区三区丁香婷 ,国产传媒在线观看

WebApp該怎么去揚長避短?

文章來源:互聯(lián)網(wǎng) 編輯:商城眾網(wǎng) 發(fā)表時間:2015年07月09日 0


近來一系列技術(shù)革新與發(fā)展讓web app成為操作系統(tǒng)頭等公民的目標變得不同以往的清晰。讓我們看看“揚長避短”之后的web app是不是真的可以開始跟native app掰掰手腕了。Web app向Native app發(fā)起挑戰(zhàn)已經(jīng)有好些年了。以各大公司志向宏大的操作系統(tǒng)為例就有:名噪一時現(xiàn)在棲身于LGTV的WebOS,Google力推在教育領(lǐng)域還算混的不錯的ChromeOS,Samsung和Intel主導(dǎo)但是一直雷聲大雨點小的Tizen,Mozilla面向低端設(shè)備的FirefoxOS。還有各種開發(fā)、打包web/hybrid應(yīng)用的產(chǎn)品:Cordova,Crosswalk,nw.js,Electron。它們也許在各自領(lǐng)域有所成功,但整體的現(xiàn)狀和處境很難說web app對native app的世界造成了足夠威脅。



“揚長”

Web app之長首先源自web。Web不是于某家藩籬之內(nèi)的封閉花園,它是一個任意提供了標準支持的終端都可以平等訪問的野蠻生長的開放大草原。Web協(xié)議棧讓全世界的網(wǎng)頁成為即時更新并通過URL相互聯(lián)系的網(wǎng)絡(luò)。回顧W3C Packaged App(Widget)標準和SysApps(System Application Working Group)的衰落很大程度上也在于放棄了web的這些核心競爭力。


Web app之長也源自HTML,CSS,JavaScript。它們雖然招到很多詬病,但它們也是最廣泛使用的開發(fā)工具。而新的ES6,Web Components標準也在讓它們變得具有更強的開發(fā)、表達能力。當然HTML的語義話表達也是搜索的基石之一,這讓web app易于被索引和發(fā)現(xiàn)。


“避短”

Web app之短首先在于能力的缺失。雖然有Cordova之類工具架起和native API之間橋梁,但打包之后web app的“長”呢?所以web標準化組織一方面在努力提供各種硬件訪問的接口。另一方面提出了Service Worker來解決web app本身存在的無法通過簡單增加API來處理的關(guān)鍵問題:


其一,web app缺少在后臺運行的能力,Web Worker可以在后臺運行,但是它依賴于頁面,不能在頁面不存在的時候運行;


其二,通過URL訪問的web頁面是彼此孤立的,雖然可以通過Web Messaging來相互通信,但是這是一種弱聯(lián)系,并需要消息傳遞之間的頁面有關(guān)聯(lián)。


Service Worker通過一個新的web app編程模型和一套API統(tǒng)一解決了這兩個問題。簡單的說service worker就是一個生命周期短暫的、事件驅(qū)動的后臺線程,它處理來自系統(tǒng)和被其控制的頁面的事件。目前可以通過Service Worker實現(xiàn)的功能包括:替代坑坑洼洼的Application Cache的可編程離線緩存,Push Notification(消息推送),Background Sync(后臺同步)。Service Worker能成為諸多需要跨越頁面處理能力的入口。比如如果你懷念Web Intents的話,Service Worker也許也能成為它復(fù)活的平臺:通過Service Worker注冊某個intent事件,在事件到來時worker被啟動,針對不同的intent worker可以選擇打開不同的頁面或重新聚焦某個已經(jīng)打開的頁面。


輔助以W3C Manifest標準,web app有了理論上足以超脫瀏覽器成為系統(tǒng)一部分的能力。


Web app之短也在性能。當然性能的問題不在于比較和native app跑分一較高下,而在于用戶體驗。在JavaScript方面各個瀏覽器廠商一直在挖掘更高的性能,而近日多個巨頭同時參與的Web Assembly的提出更讓業(yè)界更是充滿期望。請想象一下,瀏覽器直接執(zhí)行的游戲引擎代碼是優(yōu)化過的二進制中間表達形式(IR),甚至是可能是緩存下來的后端轉(zhuǎn)換過的機器碼。另外在渲染引擎方面,60FPS的性能也一直是近一年來Blink的主要目標,相信Edge、WebKit等也不會被拉在后面。


漸進式web app

“揚長避短”之后的web app應(yīng)該以一種怎樣的形式進入系統(tǒng)并成為系統(tǒng)一員呢?Alex Russell最近就提出了一種漸進式web app的理念,而且這一理念已經(jīng)可以在Android上看到萌芽。


在Android Chrome上通過搜索或者鏈接發(fā)現(xiàn)了并使用了某個頁面。當這個頁面或者某個域范圍內(nèi)的頁面在一定時間內(nèi)被多次訪問后,瀏覽器會認為這些網(wǎng)頁是可以被升級成app的,并彈出對話框讓用戶選擇是否安裝這個web app到系統(tǒng)。這個web app可以享有和native app類似的權(quán)利,比如主界面啟動,獨立的應(yīng)用選擇欄。目前在Chrome上指定了只有使用了Service Worker和Manifest的網(wǎng)頁能夠升級成web app被安裝,用來保證app的質(zhì)量。


這種漸進式web app的理念在我看來可以用人和人的交往來類比,一個人從陌生,到熟悉,再到相信。展開想象,是不是web app的權(quán)限管理也可以漸進呢? 安全、隱私級別高的API訪問控制會隨著你對這個app的相信程度來適配。


總結(jié)

各種web操作系統(tǒng)和hybrid打包工具已經(jīng)向native app主導(dǎo)的世界發(fā)起了挑戰(zhàn),隨著web技術(shù)的進一步成熟,open web也逐漸能通過漸進的方式像native app一樣成為系統(tǒng)的一部分。我期望著某一天自由、平等、開放的web能成為開發(fā)者的首選平臺。更多資訊,盡在商城眾網(wǎng)


(轉(zhuǎn)載至網(wǎng)絡(luò),僅作為相關(guān)資訊的傳播普及目的,如果原作者發(fā)現(xiàn)內(nèi)容的使用不符合本人意愿,請聯(lián)系本站作者或客服,將第一時間刪除處理)

[ 免責聲明:本文屬于網(wǎng)絡(luò)轉(zhuǎn)載,其內(nèi)容和準確性由信息發(fā)布的原單位或組織獨立承擔完全責任,不代表本平臺的觀點和立場;文中涉及的圖片等內(nèi)容如有侵權(quán),請前往本站右側(cè)欄的“意見反饋”進行舉報,一經(jīng)查實,本站將立刻刪除。]
分享:
  • 推薦品牌資訊
  • 最新品牌資訊
  • 月榜

促銷活動 優(yōu)惠券 更多>

登錄后,通過商城眾網(wǎng)去官方商城,購買拿返利,得積分

下單付款后十分鐘內(nèi),您可以在商城眾網(wǎng)的個人中心查看訂單信息

  • 登錄商城眾網(wǎng)
  • 去合作商家購買
  • 回商城眾網(wǎng)拿返利積分
主站蜘蛛池模板: 九龙坡区| 贵州省| 日喀则市| 邯郸市| 碌曲县| 嘉荫县| 南郑县| 满洲里市| 长泰县| 水城县| 庐江县| 临沭县| 乌兰浩特市| 隆德县| 呼玛县| 镶黄旗| 水富县| 年辖:市辖区| 千阳县| 甘孜县| 江油市| 淮北市| 秀山| 兴宁市| 正定县| 当雄县| 新巴尔虎左旗| 岳阳县| 贵南县| 忻州市| 玉环县| 罗城| 阜康市| 霍州市| 乌兰察布市| 舞阳县| 万安县| 辰溪县| 法库县| 顺平县| 西和县|