整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          什么是flash什么是html5?

          今,HTML5 可謂如眾星捧月一般,受到許多業內巨頭的青睞。且不說谷歌、蘋果等業內巨頭把它描繪為互聯網體驗的未來,即便是以不服從標準著稱的微軟,也向它頻頻示好, 決心在 Internet Explorer 9 中加入對 HTML5 的大量支持。然而,HTML5的路途真的將一帆風順么?本文將列舉了一些在HTML5發展和普及過程中需要解決的問題。

             什么是HTML5?

             根據維基百科上的解釋,HTML5 的前身是 Web Applications 1.0,由 WHATWG 于2004年提出。2007年,它被 W3C 接納,并于2008年1月22日發布第一份正式草案。

             以下摘錄自維基百科的文字介紹了 HTML5 的特點和與 HTML4 的差別:

          新應用程序接口(API)
          即時二維繪圖
          定時媒體播放
          儲存
          離線
          編輯
          拖放
          通訊/網絡
          后退按鈕管理
          MIME 和協議處理程序時表頭登記

             與 HTML 4 的不同之處

          新的解析順序
          新的元素:section, video, progress, nav, meter, time, aside, canvas
          input 元素的新屬性:日期和時間,email, url
          新的通用屬性:ping, charset, async
          全域屬性:id, tabindex, repeat
          移除元素:center, font, u, strike, s, frameset, frame, applet

             戰勝 Flash, HTML5 還需要什么?

             決定勝負的因素很多,在此分為兩部分分析。

             一、技術方面

             HTML5 與 Flash 在功能上并不是完全重疊的,比如對于攝像頭等計算機硬件的調用,仍然只能使用 Flash 或其他方法實現。但是 HTML5 卻引入了一些讓 Flash 不得不認真對待的元素。其中最為人所知的和最重要的即為 canvas 和 video 標簽。在我看來,其他的新屬性跟 Flash 的競爭關系很弱,只有此二者是真真正正要搶 Flash 的飯碗,而且一旦普及,將深刻的改變整個互聯網,可謂是 HTML5 的左膀右臂。

             canvas

             在 Flash 流行之前,曾經出現過很多種在網頁中實現繪圖功能的方法,其中包括著名的Java Applet 。這些方法各有千秋,相互競爭不休。但是在 Macromedia 公司推出 Flash 之后,這場戰爭很快就結束了。

             為了對抗 Flash,又有很多新的技術被提出,其中就包括現在 Flash 的東家 Adobe 提出的 SVG。然而這沒有能夠阻止 Flash 迅速地被網民接受。基于 Flash 的動畫、游戲等應用幾乎是在一夜之間蔓延到了互聯網的每個角落。

             而今,新的挑戰者出現了,他就是 HTML5 的新標簽 canvas。

             canvas 相比 Flash 顯然是有其優點的。它不依賴于外部插件、與瀏覽器渲染引擎緊密結合、節約資源,最重要的是極大的簡化了圖形和網頁中其他元素的交互過程。

             對于 Flash 來說,是 Flash中的元素與網頁中其他元素進行交互是要消耗大量時間和資源的,另外在編程上也相當不方便。

          而 canvas 本身就是 HTML5 的一個元素,可以像操作普通 HTML 元素一樣操作它。開發人員可以將所有的代碼整齊地寫在一個文件里,降低了維護與更新的難度。

             然而 canvas 也有其缺點:

             其一,開發者不得不編程描繪每一個點和矢量曲線,在旋轉縮放時更需要和矩陣變換打交道,這會增加描繪復雜圖形的難度。而在 Flash 里,圖形顯示的 API 被封裝在名為“Sprite(顯示列表)”的類里,大部分圖形元素都繼承于此類,開發者可以使用多種工具設計圖形,對圖形進行旋轉放縮只需要簡單的調用類 的函數。

             其二,動畫的實現存在缺憾。canvas 雖然提供了不同于傳統的通過 div 塊實現動畫的方法,但這種方法仍然非常繁瑣。開發者必須在每一幀動畫顯示時清空畫布,然后重畫所有元素,這必然導致包含大量元素的場景動畫緩慢,只移動少 量元素就要重畫整個畫布會浪費大量資源。而且創建動畫也是一件十分繁瑣的事情。相比起來,Flash的實現就方便多了,雖然從最底層來說,動畫時仍然需要 重畫整個畫布,但其被交予 Flash Player 自動處理,無需開發者手動管理?;谧止澊a的 Flash 在解析的過程中將會比即時編譯的 HTML5 和 JavaScript 快速。一般來說,復雜動畫將會更流暢。另外,良好封裝的圖形類和強大的設計工具使得動畫的創建非常方便。

             其三,沒有提供一套方便的事件體系。開發者也許需要通過捕獲鼠標在 canvas 中點擊的坐標,判斷用戶到底點擊了什么圖形元素。在這個過程中可能要遍歷所有的顯示元素并判定點是否在圖形內,實現起來比較繁瑣,更不要說實現事件的冒泡 和遞歸模型了。雖然今后出現的圖形庫可以解決這個問題,但這實質上相當于使用 JavaScript 構建了一套事件響應模型,其效率顯然不如內建于瀏覽器的原生事件模型高。在 Flash 中,事件也被良好封裝為類,捕獲點擊等事件自然不在話下,更重要的是提供了判斷兩個圖形是否有交集的事件和函數,這在游戲編程中非常方便。另 外,Flash 的最新版本將會支持多點觸摸事件的響應,而 HTML 想要支持這點恐怕要等到 HTML6 了。

             由以上分析我們可以看出,HTML5 需要的幾個非常重要的東西:一個強大易用的圖形庫、硬件加速的圖形解析和重繪、一個強大的編 機器(IDE)。

             目前已經出現了基于 canvas 實現的游戲引擎。但是從效果上看仍然無法與 Flash 媲美。

          WebGL 的提出讓我們看到了硬件加速的希望,這將極大的改進圖形顯示的速度。但是目前它只被少數開發版本的瀏覽器支持。

             IDE 方面,諷刺的是恰恰是 Adobe 為 Adobe Flash CS5 添加了一個將 Flash 轉化為 canvas 的功能。在 JavaScript 方面,鑒于其為非強制類型的編程語言,對其進行代碼提示等非常困難,提高編程效率較難。

             如果以上三個問題不能被良好解決,將會限制 canvas 所能實現的效果的豐富度,增加開發的復雜度,從而最終阻礙其普及。

             圖為一個用 canvas 實現的繪圖應用

             video

             video 標簽可能是 Adobe 最反對的東西了,它極有可能打破 Flash 在在線視頻領域的壟斷地位。

             但目前的情況是作為 video 內容的視頻存在編碼問題,Apple 和微軟所支持的 不是開放標準,瀏覽器廠商必須為其付費。因此,作為三大瀏覽器之一的火狐瀏覽器拒絕支持此編碼格式。谷歌雖然也收購了一套優質的編碼技術,但是目前沒有跡 象表明谷歌會開放這個技術標準。

             根據最近的統計,雖然 Google Chrome 瀏覽器和 Apple Safari 瀏覽器增長很快,但瀏覽器市場還是主要被火狐和 IE 所統治。如果火狐堅持不支持 編碼格式,video 標簽的推廣將會十分困難。

             所以,HTML5 需要一個既開放又優質的視頻編碼標準

             圖為 video 標簽 的演示

             二、商業方面

             團結

             要讓微軟、谷歌、蘋果這三個在很多方面存在競爭關系的業界巨頭團結一心地支持同一套標準是很困難的。

             蘋果方面對 Flash 痛下殺手,微軟方面則極少參與這場論戰。至于谷歌則在支持 HTML5 的同時在 Android 中加入了 Flash 支持,甚至存在將 Flash 納入 Chorme 安全沙箱的計劃。在這種情況下,如果 Adobe 能夠良好利用三大巨頭之間的分歧并加以運作,HTML5 的前景堪憂。

             即便 Adobe 沒有那樣的智慧與能力挑撥三大巨頭之間的關系,三大巨頭自己就可能葬送 HTML5 的未來。前車之鑒就是大名鼎鼎的 OpenGL。這一標準成立之初的聯盟成員幾乎可以用豪華來形容,結果因為各個成員之間為了自己的利益相互爭吵,使得OpenGL的發展速度遠不及 Direct3D,直至到目前這樣游戲市場幾乎被競爭對手占據、應用范圍局限在專業領域的情況。

             用戶的接受

             無論各大廠商如何宣傳,用戶的接受才是最后的檢驗標準。目前來看 HTML5 在普通桌面領域可能的作為不大,與 Flash 的關系必然是長期并存。原因在于用戶并不在意頁面到底使用的是什么技術,而更關心最后的效果怎么樣。HTML5 的 canvas 若要達到 Flash 實現的相同效果所需要的難度更大,這樣限制了中小網站在網頁里使用 canvas 的積極性,如果 canvas 不能普及,就相當于 HTML5 斷了一條腿,而 video 標簽的編碼問題再得不到解決,HTML5 真的就沒辦法和 Flash 競爭了。

             大膽的預測

             在最后,我將對 HTML5 和 Flash 的這場世紀之戰做出我自己的預測。

             首先用一個比喻描述目前的情況:

             谷歌、微軟、蘋果、Adobe 四家圍在一起打牌,其中 Adobe 是莊家,手中的牌最多最好。蘋果、微軟都很想把 Adobe 從莊家的位置上拖下來,但是又不愿意合作。谷歌與 Adobe 關系曖昧,但是也有自己的打算。

             在這場牌局中,Adobe 幾乎是立于不敗之地的,從目前來看 Flash 被 HTML5 完全取代的可能不大,原因在于Flash 已經占領了絕大部分傳統桌面終端的市場,其地位幾乎無法撼動,即便 Flash 做得不夠好,但是只要沒到很不好的地步,還是無法被超越。雖然傳統桌面收到了新興的移動終端的挑戰,但是這一過程將發展得比 Flash 和 HTML5 之間的競爭更緩慢。Adobe 控制著 Photoshop、Dreamweaver 和 Fireworks 等知名軟件,制作網頁即便可以缺少 Flash 卻無法缺少    Photoshop,即便是編制全 HTML5 的網頁,Dreamweaver 依然是首選的網頁制作利器,制作 canvas 也可以使用 Flash CS5 新加入的生成 canvas 的功能。

             圖為 Adobe Flash CS5

             廣受詬病的 Flash Player 并不能給 Adobe 帶來直接的利潤,它的意義在于將富媒體應用的市場和標準掌握在手中。用于制作 Flash 的編輯器才是 Adobe 真正的利潤來源。如果在 HTML5 的時代,開發者仍然不得不選擇 Adobe 的產品來制作基于 canvas 的交互頁面,那么又何必需要 Flash Player 的存在呢?Adobe 更是省下了維護一個復雜系統的費用。

             至于微軟,他內心是非常糾結的,他手里有 Internet Explorer 這張不知道是好是壞的牌,原因在于由 Internet Explorer 6 占領的瀏覽器市場份額仍然沒有被有效釋放,新版本的 Internet Explorer 不得不跟自己的前輩競爭。另外,微軟也急于推廣自己的 SliverLight ,這一產品與 Flash 和 HTML5 都是競爭關系。支持 HTML5 或多或少會對 SliverLight 的推廣有所打擊。所以微軟必然不會全力支持 HTML5,而是只將它作為 SliverLight 的補充。

             蘋果的算盤打得很響,他要從移動終端領域著手,逐步滲透到桌面領域。iPhone 是第一步,也是相當成功的一步,它的存在說明智能手機領域并不需要 Flash 的存在,事實上,Flash 在這一領域表現的確很差。但是真正關鍵的是 iPad。iPad無論是屏幕大小還是操作體驗都更接近與普通桌面電腦,如果平板電腦被證明不需要 Flash 的存在,那么桌面電腦為什么不可以?如果大量用戶通過使用平板電腦而習慣了沒有 Flash 的互聯網體驗,那么 Flash 就真的沒有未來了。iPad發售之后 Adobe 與蘋果之間爭論的升級,從側面證實蘋果和 Adobe 都看到了平板電腦將在這場戰爭中發揮的作用。

             但是蘋果真的能如愿以償么?蘋果的產品即便銷售很好,也不可能做到像微軟的產品這樣普及。原因在于蘋果的產品文化就在于提供高質量和高品位的體驗, 而這種體驗伴隨著高價。必然只有少數人能夠用得起蘋果,必然只有使用蘋果是能夠成為一種身份和品味的象征,蘋果的產品才會有這么大的吸引力。難道除了蘋果 就沒有其他廠商可以提供同樣的技術了么?難道微軟不能像蘋果一樣以用戶體驗為先么?顯然不是,重要的原因在于微軟所要提供的是一個給所有人使用的產品,這 一產品要有廣泛性,要有繼承性,而且不能太昂貴。所以微軟在用戶體驗方面改變的動力不足,微軟試圖在 Visita 里極大的改變用戶體驗的方式,原來使用 XP 非常熟練的用戶到了 Visita 里就變得不知所措了。結果顯而易見。

             事實上,蘋果從一開始就不打算讓所有人都用上蘋果,只要有少部分人愿意掏錢購買,它就能賺足夠的錢。

             到了平板電腦這里也是一樣,iPad 不可能獨自積累到足夠大的用戶群,以至于可以挑戰傳統桌面終端。更具性價比的其他廠商的產品將會讓更多人享受到平板電腦。而且這些平板電腦很可能會支持 Flash。這樣的話,利用新興終端,改變用戶對 Flash 的依賴的計劃就會失敗。

             谷歌方面,這場戰爭的勝負對谷歌的影響都不大,只要能把用戶留在頁面上,它并不在意到底使用的是 HTML5 還是 Flash。然而他卻最終勝負有著非同尋常的影響力。谷歌除了 YouTube 之外,很少在自己的產品中使用 Flash。也許谷歌認為一個開放的標準更容易控制。對于 Flash 這樣封閉的產品,雖然好用,但是谷歌很難對其發展方向有發言權。而今,Chrome 瀏覽器的迅猛發展日益增加了谷歌在 HTML 新標準中的發言權。但是這并不意味著谷歌會完全拋棄 Flash。

             Flash 可以作為谷歌牽制蘋果的重要工具,作為 Android 挑戰 iPhone 的籌碼。谷歌正籌劃將 Flash 納入 Chrome OS 的安全沙箱。如果成功,Flash 飽受詬病的耗電問題、安全問題都能得到較好的解決。

             由此得到結論,Flash 氣數未盡,仍將長期統治互聯網富媒體領域的市場。在移動領域的發展將取決于谷歌的態度,但可以預見的是將會有很多困難。

             至于 HTML5,預計在1-3年內會達到相對普及的程度,但是不會取代 Flash。他們之間甚至是可以和諧相處,取長補短的。然而不要對 HTML5 的發展速度抱有太大希望,畢竟業內巨頭之間矛盾重重,現有標準能夠被各大瀏覽器無差別支持就已經相當困難了,想要加入任何新功能都要很久才會被廣泛支持。 這樣緩慢的發展速度如何能夠體現出強大的競爭力,我們拭目以待。

          作為程序員經常會被業務人員問一些技術相關的熱門詞,比如:“H5頁面是什么?” , 我的回答是:“符合 HTML5 標準實現的頁面,大家為了方便,簡稱 H5“。 真的是這樣的嗎? 當連續有人問相關的問題,并詳細了解一些業務以后,慢慢的發現 H5 已經不單單是一個技術相關的詞。

          之前被我們產品人員也問到一個類似的問題:“怎么通過技術手段來判斷一個網站是H5的頁面,還是普通頁面?”,聽到這個問題我懵了,按照我前面的解釋 “符合 HTML5 標準實現的頁面就是 H5頁面”,那當前互聯網上看到的網站基本上都在采用了 HTML5 標準。詳細了解業務以后才知道,他的要求是把微信里面那種好友之間,或者朋友圈分享的那種帶有主題性質的宣傳頁面(實在是不知道怎么描述)和我們平時電腦上訪問的頁面通過技術區分識別出來。這個功能能不能實現,具體怎么實現這里不討論,但是可以看出在業務人員和一些客戶眼里,在微信上分享的那種炫酷的頁面就是H5頁面。 那這里的 H5 還是 HTML5 嗎? 從這種應用上來說已經不是了。

          另外一個案例,被一個剛開始學習前端的學生問到一個問題:“React 制作的頁面都是 SPA(single page web application,單頁應用程序) 的,那 HTML5 可以實現 SPA 嗎?”,當被問到這個問題的時候我一下子也不知道怎么回答,只是讓他先去學習一下 HTML5 ,以及 SPA 到底是什么?要搞清楚。 HTML是超文本標記語言,是一種規范,一種標準,“5” 是HTML第五次重大修改,可以理解為第五個版本,包含了很多功能特性。 SPA 是通過 HTML 與 Javscript 實現的單頁應用程序,就是在一個頁面上展示所有數據,通過 Javascript 去動態更新程序。所以 SPA 的實現和是不是 HTML5 沒有大的關系。這位同學問出這樣的問題,我的猜想是這樣的,我們在前面提到的那種在微信上分享的那種頁面大多數都是一個單頁面,然后通過手指向下滾動來瀏覽一張張炫酷的動畫。導致他認為這樣的頁面就是所謂的 SPA 頁面,再加上多數人都認為這種頁面都 HTML5 實現的頁面,所有他才會問出 HTML5 和 SPA 扯在一起。

          我相信現在大多數人認為的 H5 頁面,就是在手機微信分享的那種炫酷的網頁。 HTML5,作為技術人員都知道是一種標準,一種規范。

          H5 這個詞的由來?

          如果 H5 不等于 HTML5 了,那 H5 到底是什么呢? 維基百科沒有定義,百度百科也沒有定義,知乎上也沒有人說清楚。沒有一個標準的定義,只在大家口口相傳,出現各種理解扭曲。H5 真的是一個詭異的詞。

          出現現在這樣個狀況,我的猜想是這樣的,HTML5 在 2013 年左右就發布,在 2014 年底宣布標準制定完成,但是市面的瀏覽器的支持主要還是在手機上,電腦上主要有 IE 的存在導致標準普及緩慢,所以開始有開發者在手機上做很多酷炫的頁面,當這些酷炫的效果在業務人員看到了以后,開始加以有效的利用,特別是在活動宣傳和廣告方面,為了宣傳業務人員會問技術人員:“這種炫酷的效果是怎么實現的?”,技術人員說:“我用的是HTML5的技術”。業務人員的宣傳營銷能力那是相當厲害,在客戶面前大量的宣傳:“我們用到了一個牛逼技術,讓你的手機網頁非常炫酷好看”,慢慢的客戶都知道了有一種技術可以把頁面在手機上做的非常好看,非常炫酷,然后客戶又開始對其他人說:“我們的這個網頁用了現在最新的技術,叫什么什么5頁面,對H5頁面”。然后客戶之間口口相傳,當以后遇到同樣的業務需求的時候,找另外一家供應商說:“我要一個H5頁面,要長的類似什么..一樣的網頁”,然后這一家做網站的公司開始也把這種網站也開始叫著H5頁面。最后鋪天蓋地的“H5頁面”就出來了。(這里只是我的一個猜想,具體是什么個情況還有待驗證)

          隨后,在一些招聘崗位出現了“H5開發工程師”。

          書籍出現了 《H5營銷…》。

          社會上的培訓機構出現了H5技術培訓,“0基礎學習H5…”,“H5速成班”。

          出現了很多專門做H5網站的公司,就連百度都有一個叫做 “百度H5”的產品。

          這是一種健康的現象嗎?

          我開始有點好奇那些培訓機構和相關書籍是怎么定義 H5 這個詞的。

          移動營銷頁面

          值得高興的一件事情是,由于市場業務的推動,讓移動互聯網等到了快速的發展。甚至提高了前端開發在市場中的主要性。但是,還是存在一些問題。

          • 培訓機構宣傳的那種 “0基礎120天速成H5工程師” … ,學員學習的應該還是的前端知識,所以這里的 H5 應該是 HTML5 標準相關體系的技術棧的培訓。市場業務把一個以活動推廣(營銷)為導向的手機上炫酷的頁面理解為 H5 頁面。這是存在一個信息不對稱的問題,這個問題也經常讓技術人員與業務人員難以溝通。

          • 用詞不嚴謹,在國內沒有一家機構對 “H5”這個詞有合理的解釋,估計也是不好解釋。像百度這樣的 H5 產品,感覺他們把 H5 理解為創意,還有人理解為微場景,還有人理解為手機上的PPT。

          • 把 HTML5 理解為一種技術也是不合理的,它應該是一種規范,一種標準(多次強調)。

          • 如果 HTML6 標準發布以后怎么辦? 是不是這些所有的名稱需要換一遍,“H5網站”,“H6開發工程師”,“H6營銷寶典”,“請問你們公司做H6嗎?” …

          回頭我們再來看一下,我們看到的那些手機炫酷的網站真的全是 HTML5 新特征實現的嗎?不一定。那是不是只用 HTML5 的新特性就能夠寫出這樣的網站呢?不一定,它有時候還需要CSS3 做動畫,用JavaScript去控制行為 。

          在 2012 左右,那時候還沒有發布 HTML5,不過看到了移動互聯網的苗頭,我和朋友一起開始做手機建站,主要面向一些中小型企業,客戶的需求很簡單,就是通過手機可以打開自己的官方網站,同時可以把網站上的產品隨時隨地分享給他們的客戶看(這種需求后來被響應式相關技術滿足了)。那時候人們理解這種網站就是手機網站。到現在客戶需求還是很明確,就是需要在手機上做一些博取眼球的營銷頁面,通常都是一些活動頁面。在國際上有個詞叫做 Minisite ,它的解釋是:“知名企業為了配合企業的市場運作活動,會推出一些小型網站也就是MiniSite進行線上營銷”。所以我認為當前市場上客戶所說的 H5 頁面,應該是一種移動端的 MiniSite (Mobile MiniSite)。或者把它叫做 “移動營銷頁面”,簡稱 MMP (Mobile Marketing Page) 。

          結束

          不過 H5 這個詞已經很難改掉了,如果我現在繼續給客戶說,H5 是符合 HTML5 的簡稱,HTML5 是一種標準,一種規范,那我們討論的東西肯定不是同一個東西。

          但是我希望,作為開發者,在一些技術解釋上不應該誤導業務人員。作為業務人員,在對外宣傳的時候也不應該誤導客戶。命名這種事情我們應該嚴謹。

            本文摘自:HYPERS前端團隊博客


            者:大道至簡

            轉發連接:https://mp.weixin.qq.com/s/1Ceu1XRvluGNVKM3IHwxUQ


            主站蜘蛛池模板: 亚洲蜜芽在线精品一区| 久久99国产精一区二区三区| 成人区人妻精品一区二区不卡视频| 免费一区二区三区| 日韩精品一区二区三区不卡| 麻豆一区二区免费播放网站| 久久一区二区三区99| 秋霞日韩一区二区三区在线观看 | 糖心vlog精品一区二区三区| 亚洲AV美女一区二区三区| 久久综合精品国产一区二区三区| 美女视频一区二区三区| 怡红院一区二区在线观看| 五十路熟女人妻一区二区| 国内精品一区二区三区东京| 国产对白精品刺激一区二区| 国产乱码一区二区三区四| 国产日韩一区二区三区| 极品尤物一区二区三区| 中文字幕av一区| 日本无码一区二区三区白峰美 | 国产成人无码一区二区在线观看| 国产精品视频一区二区三区不卡 | 波多野结衣一区二区三区| 亚洲国产一区在线观看| 亚洲欧美成人一区二区三区| 日本一区二三区好的精华液| 国产一区二区精品在线观看| 一区二区三区免费视频观看| 精品一区二区三区免费观看| 日本不卡一区二区三区视频| 91精品福利一区二区三区野战| 国产乱码精品一区二区三区中| 日本一区二区三区免费高清| 日韩在线一区二区三区免费视频| 一区二区高清视频在线观看| 日本欧洲视频一区| 无码国产精品久久一区免费 | 亚洲AV无码一区二区二三区软件| 亚洲av无码不卡一区二区三区| 97精品国产一区二区三区|