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

WebApp該怎么去揚長避短?

文章來源:互聯網 編輯:商城眾網 發表時間:2015年07月09日 0


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



“揚長”

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


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


“避短”

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


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


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


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


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


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


漸進式web app

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


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


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


總結

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


(轉載至網絡,僅作為相關資訊的傳播普及目的,如果原作者發現內容的使用不符合本人意愿,請聯系本站作者或客服,將第一時間刪除處理)

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

促銷活動 優惠券 更多>

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

下單付款后十分鐘內,您可以在商城眾網的個人中心查看訂單信息

  • 登錄商城眾網
  • 去合作商家購買
  • 回商城眾網拿返利積分
主站蜘蛛池模板: 阿坝县| 元朗区| 江城| 玉屏| 栾城县| 兖州市| 萨嘎县| 林芝县| 谷城县| 漠河县| 屏东市| 荆州市| 余江县| 武乡县| 阿瓦提县| 西乌珠穆沁旗| 客服| 永胜县| 土默特左旗| 临汾市| 凌云县| 区。| 林甸县| 弋阳县| 嘉鱼县| 马龙县| 定襄县| 柳林县| 深水埗区| 清涧县| 手机| 临城县| 成安县| 盐津县| 天长市| 沭阳县| 镇沅| 常山县| 宁强县| 太仓市| 楚雄市|