自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Facebook引發(fā)的HTML5危機(jī)

開發(fā) 前端
近期幾個(gè)新聞堆疊在一起,頗有韻味。先是WHATWG和W3C在HTML5標(biāo)準(zhǔn)上分道揚(yáng)鑣,繼而“Facebook移動(dòng)應(yīng)用宣布放棄HTML5的部分,改為純Native方式開發(fā)”,接著又傳聞蘋果AppStore肅殺基于Web技術(shù)的App。

近期幾個(gè)新聞堆疊在一起,頗有韻味。先是WHATWG和W3C在HTML5標(biāo)準(zhǔn)上分道揚(yáng)鑣,繼而“Facebook移動(dòng)應(yīng)用宣布放棄HTML5的部分,改為純Native方式開發(fā)”,接著又傳聞蘋果AppStore肅殺基于Web技術(shù)的App。這幾個(gè)事件對(duì)移動(dòng)互聯(lián)網(wǎng)行業(yè)來說個(gè)個(gè)都是重磅炸彈,押注HTML5的受到不小的打擊,唱衰HTML5發(fā)展的借此幸災(zāi)樂禍。HTML5真的只是一場政治斗爭嗎?到底 Facebook為什么放棄HTML5?現(xiàn)階段HTML5到底出了什么問題?

Facebook放棄HTML5主因:慢

“對(duì)于Facebook的iOS原生應(yīng)用來說,它在主要在三個(gè)方面有很大的速度提升:應(yīng)用啟動(dòng)、共享新聞滾動(dòng)還有圖片點(diǎn)擊查看。其總體速度大約提升了一倍。這個(gè)版本部分采用了Facebook Camera和Facebook Messenger兩款應(yīng)用的代碼庫:其中圖片點(diǎn)擊查看功能的代碼是從Facebook Camera移植過來,而屏幕消息是從Facebook Messenger那克隆過來的。這個(gè)原生版本是由一個(gè)獨(dú)立的團(tuán)隊(duì)開發(fā),產(chǎn)品經(jīng)理Johnson表示未來會(huì)充分利用公司的代碼共享,也會(huì)適當(dāng)向其他團(tuán)隊(duì)尋求幫助。”

上述摘自Facebook的官方博客。博客中介紹到Facebook的iOS原生應(yīng)用放棄HTML5后速度得到大幅度提升。大家不禁好奇,為什么HTML5會(huì)比原生NativeApp要“慢”很多?

在當(dāng)前的移動(dòng)終端設(shè)備硬件配置和操作系統(tǒng)優(yōu)化水平的前提下,大部分基于HTML5開發(fā)的Web頁面會(huì)出現(xiàn)延時(shí)加載展示的現(xiàn)象,也就是俗稱的卡、慢。特別是在不同的視圖界面(view)切換之間,這種卡和不流暢的現(xiàn)象會(huì)尤為嚴(yán)重。而Native應(yīng)用不會(huì)出現(xiàn)這種情況。究其根源,在于瀏覽器解析的運(yùn)作機(jī)制和原生Native的界面展示機(jī)制差異上。如下圖所示:

紅色框起來的部分是原生NativeApp的界面展示機(jī)制,簡單的看起來就是1個(gè)步驟——展示,因?yàn)樗械睦L圖和渲染工作都由系統(tǒng)直接完成。而紅框以外的部分包括紅框內(nèi)的部分是webkit核心的瀏覽器解析頁面的流程。相比Native的1個(gè)步驟,webkit的解析過程可謂漫長而艱辛。歷經(jīng)解析、建立Dom樹、獲取對(duì)應(yīng)資源、布局、建立渲染樹、繪圖到展示。所以不管移動(dòng)終端設(shè)備硬件如何發(fā)展,這個(gè)差異是始終存在的,最多只是隨著硬件的提升和軟件的優(yōu)化將這個(gè)差異收縮到最小甚至忽略。

更糟糕的是。Facebook之前的iOS混合了HTML5的移動(dòng)應(yīng)用,使用HTML5繪圖的頁面在HTML5開發(fā)上也毫無技巧可言,基本沿用了主流前端開發(fā)框架jQuery mobile等的單View多div的機(jī)制。也就是在一個(gè)網(wǎng)頁內(nèi)繪制多個(gè)視圖,頁面之間的切換其實(shí)只是一個(gè)頁面內(nèi)不同區(qū)塊的切換。這種方式加大了瀏覽器的渲染和繪制工作強(qiáng)度。并且在數(shù)據(jù)加載和流量上產(chǎn)生很大的負(fù)面影響。如果切換到新頁面,之前的頁面不進(jìn)行銷毀,則會(huì)加大運(yùn)算量和增加內(nèi)存占有,而如果銷毀又會(huì)導(dǎo)致已經(jīng)下載的數(shù)據(jù)失效,要重新載入,浪費(fèi)流量。類似情況在中國的網(wǎng)絡(luò)和設(shè)備情況下會(huì)尤為突出。所以Facebook不當(dāng)?shù)脑贜ative App內(nèi)混搭HTML5也難免引來用戶怨言。

還有,一如報(bào)道中提到的,F(xiàn)acebook這次的改進(jìn)提升主要是“新聞滾動(dòng)和圖片點(diǎn)擊”。如果了解HTML5的人,就會(huì)發(fā)現(xiàn),這兩點(diǎn)當(dāng)然是“不應(yīng)該在現(xiàn)階段使用HTML5實(shí)現(xiàn)的”。為什么?筆者作為一個(gè)基于HTML5技術(shù)的Hybrid App系統(tǒng)的設(shè)計(jì)者,設(shè)計(jì)秉承的一個(gè)原則就是“凡是需要’動(dòng)’的部分和需要大量運(yùn)算的部分,就最好使用原生彌補(bǔ),而不是一定要使用HTML5來實(shí)現(xiàn)”。新聞滾動(dòng),這種不停通過改變Dom樹近而改變渲染再繪圖展示的使用場景相比原生Native弱勢是非常明顯的。至于圖片的部分就更不用多說了,這并不是HTML5眼下擅長的部分。HTML5現(xiàn)在擅長的部分是數(shù)據(jù)量不大的頁面、動(dòng)畫少的頁面,特別是跨平臺(tái)的開發(fā)。充分利用好HTML5的優(yōu)勢,盡量降低HTML5的弱勢,學(xué)會(huì)用好HTML5,才是現(xiàn)在這個(gè)時(shí)期使用HTML5開發(fā)的重點(diǎn)??梢哉f開發(fā)技巧很重要。

現(xiàn)階段HTML5的問題:政治斗爭

“原生版本是一個(gè)獨(dú)立團(tuán)隊(duì)開發(fā)的。”Facebook公開的這一點(diǎn)也耐人尋味。原來客戶端是Native與HTML5混合的方式,原來的團(tuán)隊(duì)也肯定有原生的開發(fā)能力,為什么非要一個(gè)獨(dú)立團(tuán)隊(duì)重新耗費(fèi)6個(gè)月進(jìn)行重新開發(fā)?或許這里不能排除公司內(nèi)政治因素,而HTML5成為一個(gè)犧牲品。HTML5的政治不僅是一個(gè)公司內(nèi)的,更是整個(gè)行業(yè)的。7月份,同為HTML5制定者的WHATWG和W3C表示無法繼續(xù)合作,前者希望制定一個(gè)能夠跟隨市場或技術(shù)動(dòng)態(tài)的標(biāo)準(zhǔn);后者則要確立一個(gè)“死”的標(biāo)準(zhǔn),一旦正式頒布再也無法修改。

WHATWG和W3C的分道揚(yáng)鑣或許會(huì)成為HTML5發(fā)展的一個(gè)分水嶺。WHATWG背后有Google、蘋果,W3C拉到了特立獨(dú)行的巨無霸微軟。標(biāo)準(zhǔn)是為利益服務(wù)的,曾經(jīng)力推HTML5的蘋果,現(xiàn)在也傳聞在AppStore內(nèi)打壓基于HTML5開發(fā)的App。那蘋果到底是喜歡還是不喜歡HTML5?喜歡也是真,討厭也是真。過去喬布斯為了滅掉Adobe的Flash,將HTML5當(dāng)成沖鋒槍,在移動(dòng)端干掉了Flash之后,面對(duì)自己封閉生態(tài)系統(tǒng)的巨大利益和HTML5世界大同的愿景做出選擇的時(shí)候,蘋果當(dāng)然毫無懸念的選擇自己的利益。

web app的挑戰(zhàn)(三):入口之爭》一文中,我有闡述自己的觀點(diǎn):入口之爭”在現(xiàn)有移動(dòng)操作系統(tǒng)設(shè)計(jì)架構(gòu)下,瀏覽器很難和用戶桌面爭奪核心入口地位。蘋果打造的iOS系統(tǒng)就是一個(gè)應(yīng)用優(yōu)先的系統(tǒng),無論HTML5怎么發(fā)展,Web App如何掙扎,瀏覽器如何砸錢,都搶不過用戶桌面的入口地位。基于HTML5的Web App的命運(yùn)被蘋果牢牢把控。Android系統(tǒng)這個(gè)跟隨iOS桌面入口理念的半山寨貨也沒有押注Web App而是將這個(gè)任務(wù)交給了ChromeOS。所以,不用炒概念,也不用談未來,用HTML5開發(fā)原生應(yīng)用,而不是僅僅套個(gè)外殼那么簡單才是現(xiàn)階段HTML5使用的重點(diǎn)和發(fā)展的重點(diǎn)。并且蘋果封殺的也只是純HTML5套殼的App,對(duì)于使用混搭模式(包括Facebook之前的版本)的移動(dòng)應(yīng)用還是保持開放姿態(tài),畢竟這種HTML5還是在蘋果的生態(tài)系統(tǒng)內(nèi)可控的運(yùn)行著。

最后

Facebook的iOS放棄HTML5。幸災(zāi)樂禍也好,沮喪也罷。變的只是一個(gè)應(yīng)用,HTML5的勢頭和趨勢不是一個(gè)企業(yè)可以逆轉(zhuǎn)的?,F(xiàn)階段,真正的了解HTML5,掌握HTML5的開發(fā)技巧和在恰當(dāng)?shù)牡胤接煤肏TML5,才是把握機(jī)遇的重點(diǎn)。

原文鏈接:http://www.36kr.com/p/149405.html

責(zé)任編輯:林師授 來源: 36氪
相關(guān)推薦

2013-01-24 10:26:04

HTML5HTML 5HTML5的未來

2010-02-05 09:28:13

HTML5Flash

2011-05-13 17:36:05

HTML

2012-09-19 09:51:26

FacebookHTML5

2012-09-27 10:17:02

FacebookHTML5JS

2012-05-15 09:42:06

2023-03-16 09:00:00

HTML5HTML語言

2013-10-21 15:24:49

html5游戲

2012-11-05 11:20:31

HTML5FaceBook

2011-05-12 15:42:16

HTML5

2017-01-03 18:09:33

HTML5本地存儲(chǔ)Web

2011-05-13 17:41:40

2011-01-14 17:53:33

HTML5cssweb

2012-06-25 14:57:27

HTML5

2011-05-11 12:59:18

HTML5

2012-08-27 10:00:06

HTML5

2019-05-29 19:00:35

HTML5存儲(chǔ)方式前端

2015-04-30 11:26:38

HTML5與APP的抉

2016-05-13 17:14:51

華為HTML5

2013-03-22 08:59:57

HTML5移動(dòng)應(yīng)用Web App
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)