成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于HTML 5的11個讓人難以接受的事實

開發 前端
HTML 5為Web開發者提供了很多強大的新特性,但是它的一些特定的限制會讓它無法和本地應用匹敵。

HTML5整合進了很多新的特性,并且有可能提升Web編程模式。和每一個閱讀技術資訊的人所知道的一樣,沒有任何一樣東西能像HTML5對互聯網造成更多改變。在代碼中加入一些HTML5,網站會變得更快更炫。但是HTML5能為那些想要要網絡上實現本地應用表現的人做什么可能不在此列了。

在享受了HTML5的新標簽以及APIs之后,現在已經是時機來承認HTML5模式確實是有一些限制的。這些限制不但會讓我們對HTML5的幻夢破滅,還有可能讓我們在某些場合不再使用HTML5。

事實上是,盡管HTML5確實有很強大的功能,但它并不能解決所有問題。它的一些附加功能是非常強大的,能讓Web apps成為native app的強有力的對手,但是安全問題、本地數據存儲的限制、同步問題以及政治問題都會讓我們減小對它的期望。畢竟,任何技術都是有其限制的。

下面是Web開發者需要接受的一些關于HTML5的事實。

事實1:安全是一場噩夢

客戶端計算最根本的問題是用戶最終擁有了對機器上運行的代碼的控制權。在Web apps中,當瀏覽器擁有一個很強大的調試工具的時候,這種控制權比以往更容易被濫用。

當在瀏覽器中集成了一個Javascript的調試器比如Firebug,任何對Facebook、Google以及其他網站感興趣的人都可以插入斷點來查看代碼。這對于了解網站是如何運行的是非常有利的,但對于安全問題來說卻是一場噩夢。

想象有個變量的值是你想要改變的,Firebug或者其他一個瀏覽器調試器可以讓你很容易地將數據改成你想要的任何數據。你想要通過改變你的地理位置來捉弄一下你的朋友嗎?那么你可以修改瀏覽器中的進度和維度變量,讓瀏覽器“處于”世界上的任何位置。所有你的Web應用的neat features都可以被修改,瀏覽器使得這樣的修改比在本地應用中更為容易。

對于引發的安全問題,也是有些限制的。一些Javascript工具比如Google Web Toolkit和標準的編譯器一樣復雜,它們的輸出是非常令人費解的。但是一些工具比如JavaScript Deminifier能解決這個問題。

威脅當然也跟應用性質有關。一個人通過改變瀏覽器上顯示的經緯度來和朋友開玩笑說在環游世界的途中是一回事,而獲得其他人的權限又是另外一回事了,這會帶來威脅。一旦涉及到金錢,情況會更糟糕。所有這些都意味著基于客戶端的HTML5是不能用來處理敏感數據的,每個人都應該對自己的能力加以警醒。

事實2:本地數據存儲是有限制的

瀏覽器中隱藏的本地數據庫讓Web應用更容易在電腦上緩存數據。對任何一個在瀏覽器中享受這種臺式機體驗的人來說,這些數據庫可以節省帶寬,提升性能。然而它們肯定比不上本地應用的數據的強大功能。

HTML5的數據存儲能力毫無疑問是很重要的功能,但是你仍然不能將存儲的數據遷移到另外一臺機器上,或是制作副本、備份、用另外一個應用打開。所有這些數據都是隱藏在瀏覽器之下的。

某種程度上說,這是最糟糕的一種情況。因為你要承擔存儲這些數據庫的所有責任而不能對它有任何控制。

一些最新的瀏覽器可以讓你看到在你的機器上創建了哪些數據庫,但這些信息是有限的。Safari甚至可以讓你能夠刪除數據庫,但是你不能瀏覽這些信息或是將它們遷移到另外一臺機器上,這些文件在設計之初就沒有讓它能夠很容易遷移,盡管你可以做到這一點,如果你知道到哪里找這些文件的話。

你同樣不能深入到文件中看到底存儲了什么。當然,一個程序員可以看懂這些文件,但前提是他們研究清楚了文件格式并且做一些hacking。這些文件不像表單或者文本可以很容易地榮任何編輯器打開,使得它們不像本地應用那樣容易被人們讀懂。

事實3:本地數據可以被操縱

用戶可能并不擁有對數據的控制權,但是網站同樣也被限制不能處理用戶數據。用戶換瀏覽器了?用戶換機器了?很多Web開發者對此都無能為力。因為同步問題,他們不能讓用戶創建更多數據。

Web開發者也需要擔心本地數據庫的安全。盡管沒有工具可以讓用戶可以很容易修改本地數據并升級權限,但服務器同樣也沒有能力去阻止用戶做到。所有因為運行用戶修改Javascript代碼的安全漏洞同樣會影響數據庫。它們門戶大開,等著有人寫一個Greasemonkey腳本或一些本地代碼去更改數據。

事實4:離線數據對同步是一場噩夢

HTML5的本地數據存儲極大提升了離線使用Web應用的能力。唯一的問題是數據同步。

如果一個Web應用連接到網絡上,它可以持續地將數據存儲到云中去。而當應用離線時,應用中發生的數據就不能存儲到云中。如果一個人切換了瀏覽器或者使用了不同的機器,就會出現副本,這時同步就會成為一個大問題。更糟糕的是,時鐘本身就可能是不同步的,使得發現最新被保存的數據是不現實的。

當然,這對本地應用來說也一直都是一個問題,但是在本地應用中,為同步負責的是人,他可以通過查看文件名并改變日期來進行同步。但是因為HTML5并沒有給用戶對隱藏在瀏覽器之下的數據庫的控制權,開發者必須提供用戶界面讓用戶通過這個界面來管理同步問題。

這并非是一個完全棘手的問題。開發人員可以通過使用版本控制系統來處理這個問題,而現今的版本控制系統在處理這些問題上已經變得越發復雜了。但擁有這項技術并不意味著這是一個很容易使用的解決方案。合并不同GIT庫是件很費時間的事情。HTML5開發者們需要先處理好這些問題,才能管理HTML5 Web應用的同步。

事實5:云端什么都沒有向你承諾

為HTML5將數據存儲在云端而帶來的所有結構性的問題來責備HTML5實際上不是件很公平的事情,但云端是一個必須的部分,因為云省去了安裝軟件和備份數據的麻煩。

由于HTML5本地數據存儲的限制,大量Web應用存儲仍然要保留在服務器端,但這可能是災難性的。就在最近Facebook決定將不再使用一個基于Linux的插件來上傳照片,結果,這個插件去掉的,同樣被去掉的是通過這個插件上傳的照片。

這樣的例子比較少見,但是因為各種原因,它們正變得越來越多。你能確保那個可愛地免費提供他們的一切HTML5應用的新興公司在幾年后甚至幾個月后還存在嗎?你只能自求多福。

情況還更糟糕。正如很多Web應用所明確說明的那樣,這些數據并不是你的,在大數情形下,你不能訴諸法律來恢復數據。有些更離譜的服務條款甚至說數據可以“沒有任何原因”就被刪除。

HTML5不僅沒有避免這個問題,它的結構實際上是保證了任何由你的瀏覽器緩存的數據都會存儲在云端,這些數據是脫離了你的控制的。HTML5的炒作說這是它的一個優勢特性,但這實際上卻很容易造成不利影響。

事實6:強制升級并非是每個人都想要的

有個故事,或許是杜撰的,說一個人使用Gmail賬戶和酒吧里認識的人保持著隨意的聯系。當Google+出現以后,所有的歷史記錄都出現了,因為Google+在論壇里自動連上了那些舊的地址。每天,這些舊名字和舊面孔都會出現詢問是否要加入到論壇中去。

當Web應用公司需要升級的時候,他們會將所有人一次性升級。盡管這據說是為了讓用戶不再受升級安裝文件之苦,但對于那些不想使用新特性的人來說,這確是一場噩夢。這不像上面是一個關于人們隱私的問題。新軟件可能因為新舊軟件包之間的依賴關系而經常崩潰。

#p#

事實7:Web Workers并不會處理優先級

Web Workers(譯者注:一種新的 JavaScript 編程模型)是HTML5的一個非常耐人尋味的特性。與其去使用Javascript傳統的wait、delay和pause命令,現在Web開發者可以拆分他們的命令并且整合到Web Workers的CPU hogs中。換句話說,HTML5 Web開發者可以讓瀏覽器表現得像操作系統一樣。

但問題在于,Web Workers并沒有復制操作系統的所有特性。盡管它提供了一種方式來講負載分支并分離,但是卻沒有方法來管理負載或是設置優先級。API只是讓消息傳入或者傳出Worker對象。這就是它做的一切了,剩下的都交給瀏覽器了。

CPU豐富的應用比如code crackers會潛入流行網站的后臺嗎?用戶被交給會周期性被竊取的網站了嗎?病毒已經附在一切有用的軟件上了,那么攻破網站就只是時間問題了。而用戶面對這一切能做的很少,因為他們沒有辦法去監測或者跟蹤Worker objects做了什么。電腦被重定向到指定網頁的時候只會越來越慢。

事實8:格式不兼容比比皆是

HTML5引入了<audio>和<video> 標簽,第一眼看上去,它們和圖像標簽一樣好用。只要在其中加入一個URL,瀏覽器就會引入數據流。然而,如果它真有這么簡單的話,為什么我浪費了兩個星期來讓所有主要的瀏覽器可以播放基本的音頻文件呢?

個別瀏覽器構建者只實現了部分而不是全部的音頻視頻格式確實不是HTML5委員會的錯。大家都是人,都想要爭奪統治權。往往在一個瀏覽器上工作正常的文件到了另外一個瀏覽器上卻不能工作了。開發者要如何測試這一點呢?API開發者非常聰明,他們加入了canPlayType函數,但就是這個函數也不是所有瀏覽器都支持的。

事實9:各瀏覽器的實現是獨立的

HTML5的田園詩般的愿景是一回事,其實現的蹩腳的現實是另一回事。誠然,程序員正在盡他們最大努力來實現架構師的夢想,但就是有一些標簽和對象無法正常工作。

例如,有很多理由去喜歡HTML5的地理定位API。它提供了對隱私的一定程度的包含,對精確度也有控制。要是它能一直一貫地工作該有多好——有的瀏覽器就會總是超時,這個瀏覽器還是不太聰明,因為它應該知道臺式機上是沒有GPS芯片的。

最后,人們會去抱怨瀏覽器沒有完全實現HTML5的特性,而不是去責備API本身的結構問題。這一事實凸顯了Web開發者在開發基于HTML5的Web應用時所面臨的挑戰。

事實10:硬件idiosyncracies帶來新的挑戰

抱怨某些瀏覽器構建者超出了職責要求而提供更好的性能表現似乎也不公平,但這并非是恩將仇報。一個法拉利擁有者在繞過了一個燈桿以后,他就會發現有時候額外的動力并非總是好事。

Microsof通過將IE和低端硬件驅動整合而提升了IE瀏覽器中畫布對象(Canvas object)的性能。它甚至做了一些游戲比如pirateslovedaisies.com來顯示其性能。

但現在程序員們需要注意這些附加功能是否能夠實現,并且這些代碼的運行速度也是無法保證的。

例如,pirateslovedaisies.com的游戲設計者設計了一個開關來開啟或者關閉IE支持的特性。但是,有沒有一個API來告訴你這些特性是什么呢?沒有。最簡單的方式是通過瀏覽器名字來進行測試并估算幀速率。很多游戲開發者都有多年經驗來了解可用硬件的范圍,唯一的解決方法就是禁止創新,但這將是Web開發者又要解決的一個新的問題。

事實11:政治一直都存在

有個叫Ian Hickson的人,是HTML5標準的主要起草者,也是生命的最高獨裁者(the Supreme Dictator for Life)。我想他們這是在開玩笑,因為這樣的頭銜實在太不匹配了。標準的編寫者只是在提出建議,瀏覽器公司的編碼天才們才是最終做出決定的人。他們可以選擇實現或者不實習某個特性,然后Web開發者就要去測試結果是否穩定。幾年以后,標準就會根據與實現程度的匹配情況做出改變。

很多Javascript開發者將兼容性問題都留給了開發代碼庫的人,比如jQuery。這些層讓我們不必去了解不同瀏覽器之間的差別。但是,這些代碼在將來是否足夠健壯?只有時間才會知道。

這個議題凸顯了這個領域中最根本的問題。我們想要自由、創造性以及因為瀏覽器間的激烈競爭而產生的豐富特性。創新的腳步非常快,但是因為瀏覽器開發者都爭相添加新的特性以贏得先機,使得各個瀏覽器之間有更多的不同。

但我們希望能有一個統一的指揮者這樣就能獲得穩定性。但是,對于獨裁和自治間的爭斗,從來都沒有一個理想的解決方式。與其為這些差異頭疼,我們或許想要聽聽Winston Churchill對下議院所說的話:“事實上,民主是一種最糟糕的政府形式,除非其他的形式都經過了一次又一次的試驗。”

原文鏈接:11 hard truths about HTML5

譯文來源:http://www.webapptrend.com/

WebAppTrend是一個獨立的技術博客,關注Web App前瞻和實踐,以及智能瀏覽器發展@WebAppTrend

【編輯推薦】

  1. HTML 5的SEO探索
  2. 知識普及:天煞的HTML 5到底是個什么東西
  3. HTML 5終極指南:2012年14大預測
  4. HTML 5無法幫你實現的五件事(目前)
  5. 51CTO技術沙龍第十七期:HTML 5應用開發經驗分享
責任編輯:陳貽新 來源: WebAppTrend
相關推薦

2022-03-21 08:32:13

HTML5API存儲空間

2014-07-24 09:39:52

Android L

2019-01-26 05:36:01

物聯網醫療IOT

2012-06-28 15:57:08

Hadoop

2015-11-19 09:29:21

docker

2011-12-07 16:32:01

軟件專利

2024-12-10 15:13:28

2012-04-09 09:29:02

Java

2013-11-07 10:05:12

互聯網預言

2013-11-06 15:23:15

互聯網后PC時代預言

2020-09-21 06:08:00

惡意軟件網絡安全網絡攻擊

2010-07-02 13:12:12

Meego開發

2012-03-30 10:03:27

HTML 5

2025-06-04 01:00:00

網絡安全安全專家AI

2012-05-09 10:32:28

HTML5

2023-02-15 14:07:03

2020-05-22 16:05:56

UbuntuLinux物聯網

2021-03-04 08:01:30

HTML5整數HTML

2012-03-30 09:45:07

WEBHTML5

2012-04-04 12:57:37

HTML5
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜免费 | 视频在线观看一区 | 精品日韩 | 中文字幕中文字幕 | 国产成人免费视频 | www.婷婷 | a级黄色片在线观看 | 久久国产区| 丁香六月激情 | 91精品国产91久久久久久最新 | 国产中的精品av涩差av | 在线观看免费观看在线91 | 久草院线 | 国产高清视频 | 国内精品久久久久久影视8 最新黄色在线观看 | 精品综合网 | 国产精品美女久久久久久免费 | 可以看黄的视频 | 91视频91| 99精品视频一区二区三区 | 成人午夜 | 久热免费 | 荷兰欧美一级毛片 | 久久精品国产久精国产 | 日韩精品视频在线播放 | 逼逼视频 | 国产精品美女久久久久aⅴ国产馆 | 免费国产一区 | 日韩网| 日韩电影免费在线观看中文字幕 | 国产成视频在线观看 | 色婷婷精品国产一区二区三区 | 91高清视频在线观看 | 色综合色综合色综合 | 亚洲一区不卡在线 | 成人在线免费观看 | 成人亚洲综合 | 中文字幕一区在线观看视频 | 国产欧美日韩精品一区二区三区 | 狠狠操天天干 | 欧美精品一区二区在线观看 |