HTML5的優(yōu)點(diǎn)和缺點(diǎn)分析

1)HTML5的優(yōu)點(diǎn)

網(wǎng)絡(luò)標(biāo)準(zhǔn)

HTML5本身是由W3C推薦出來(lái)的,它的開發(fā)是通過谷歌、蘋果,諾基亞、中國(guó)移動(dòng)等幾百家公司一起醞釀的技術(shù),這個(gè)技術(shù)最大的好處在于它是一個(gè)公開的技術(shù)。換句話說,每一個(gè)公開的標(biāo)準(zhǔn)都可以根據(jù)W3C的資料庫(kù)找尋根源。另一方面,W3C通過的HTML5標(biāo)準(zhǔn)也就意味著每一個(gè)瀏覽器或每一個(gè)平臺(tái)都會(huì)去實(shí)現(xiàn)

多設(shè)備、跨平臺(tái)

用HTML5的優(yōu)點(diǎn)主要在于,這個(gè)技術(shù)可以進(jìn)行跨平臺(tái)的使用。比如你開發(fā)了一款HTML5的游戲,你可以很輕易地移植到UC的開放平臺(tái)、Opera的游戲中心、Facebook應(yīng)用平臺(tái),甚至可以通過封裝的技術(shù)發(fā)放到App Store或Google Play上,所以它的跨平臺(tái)非常強(qiáng)大,也是大多數(shù)人對(duì)HTML5有興趣的主要原因。

1)HTML5的優(yōu)點(diǎn)

網(wǎng)絡(luò)標(biāo)準(zhǔn)

HTML5本身是由W3C推薦出來(lái)的,它的開發(fā)是通過谷歌、蘋果,諾基亞、中國(guó)移動(dòng)等幾百家公司一起醞釀的技術(shù),這個(gè)技術(shù)最大的好處在于它是一個(gè)公開的技術(shù)。換句話說,每一個(gè)公開的標(biāo)準(zhǔn)都可以根據(jù)W3C的資料庫(kù)找尋根源。另一方面,W3C通過的HTML5標(biāo)準(zhǔn)也就意味著每一個(gè)瀏覽器或每一個(gè)平臺(tái)都會(huì)去實(shí)現(xiàn)

多設(shè)備、跨平臺(tái)

用HTML5的優(yōu)點(diǎn)主要在于,這個(gè)技術(shù)可以進(jìn)行跨平臺(tái)的使用。比如你開發(fā)了一款HTML5的游戲,你可以很輕易地移植到UC的開放平臺(tái)、Opera的游戲中心、Facebook應(yīng)用平臺(tái),甚至可以通過封裝的技術(shù)發(fā)放到App Store或Google Play上,所以它的跨平臺(tái)非常強(qiáng)大,也是大多數(shù)人對(duì)HTML5有興趣的主要原因。

總結(jié)概HTML5有以下優(yōu)點(diǎn):

1、提高可用性和改進(jìn)用戶的友好體驗(yàn);

2、有幾個(gè)新的標(biāo)簽,這將有助于開發(fā)人員定義重要的內(nèi)容;

3、可以給站點(diǎn)帶來(lái)更多的多媒體元素(視頻和音頻);

4、可以很好的替代FLASH和Silverlight;

5、當(dāng)涉及到網(wǎng)站的抓取和索引的時(shí)候,對(duì)于SEO很友好;

6、將被大量應(yīng)用于移動(dòng)應(yīng)用程序和游戲。

2)HTML5的缺點(diǎn)

移動(dòng)瀏覽器的編程模型還是90年代流行的單進(jìn)程單線程 (single process single thread),但原生實(shí)現(xiàn)(比如用Object C)的APP可以用多線程。移動(dòng)端編寫APP,可以使用多個(gè)線程,第一個(gè)線程,被稱作主線程(main thread),編程的第一原則是不要讓主線程負(fù)載過大。通常只讓它處理UI事件等,其他重度的工作讓其他背景線程來(lái)做。但瀏覽器只有一個(gè)線程,所有的事情都是它干。在臺(tái)式機(jī)上,瀏覽器編程還沒有太多問題,因?yàn)閴蚩?;但在移?dòng)端,這個(gè)弊端很明顯。

例如比如你在用瀏覽器看朋友的照片,你發(fā)的評(píng)論被發(fā)到服務(wù)器端,此時(shí)你接著用手指往下拉屏;此時(shí),服務(wù)器端返回信息,評(píng)論發(fā)布成功,瀏覽器中唯一的線程可能停止處理屏幕滾動(dòng)(scrolling)而來(lái)處理服務(wù)器的返回信息,由于移動(dòng)設(shè)備的處理器(尤其單進(jìn)程瀏覽器只能用上單核,即使是多核手機(jī)!)和內(nèi)存(處于省電原因使用低耗電的DDR1,這一點(diǎn)和現(xiàn)在PC使用的DDR3相差甚遠(yuǎn))的不給力,完全可能造成滾動(dòng)處理的不連續(xù)。通常手機(jī)的刷新率是60MHZ,即每一幀不超過15ms;如果處理的延時(shí)大大超過15ms,那么就會(huì)出現(xiàn)跳幀,肉眼就能看出來(lái)。結(jié)果如果你的APP是相對(duì)靜態(tài)的,不需要很多對(duì)于照片,多點(diǎn)觸摸,多向拉動(dòng)的處理,那完全可以用HTML5來(lái)實(shí)現(xiàn);如果不是,比如信息流的展示,游戲等等,最好還是用原生的去實(shí)現(xiàn)。(HTML5實(shí)現(xiàn)已經(jīng)是50%以上的iOS APP的選擇。我相信處理能力的提升,將讓移動(dòng)設(shè)備的處理不給力帶來(lái)的體驗(yàn)底下得到改善。而這種處理能力的提高,很大程度上將取決于低耗電高性能CPU/內(nèi)存的出現(xiàn),或者電池技術(shù)的極大改善。在這一天到來(lái)之前,有可能10%的APP無(wú)法應(yīng)用HTML5來(lái)實(shí)現(xiàn)。并不表示它安全網(wǎng)絡(luò)應(yīng)用開發(fā)工程師們?cè)趯W(xué)習(xí)新技術(shù)的同時(shí)需要時(shí)刻記住網(wǎng)絡(luò)安全。HTML5所構(gòu)建的網(wǎng)頁(yè)和其他語(yǔ)言編寫的網(wǎng)頁(yè)一樣容易泄露一些敏感數(shù)據(jù)。歐洲網(wǎng)絡(luò)信息安全機(jī)構(gòu)(European Network and Information Security Agency,ENISA)已經(jīng)警告說HTML5可能并不夠安全。