HTML5 應用現狀與前景的思考

來源:互聯網
上載者:User
文章目錄
  • 原文作者

 

現在的 HTML5 就像當年嶄露頭角時的 Ajax,有人在做,但不知道叫它什麼。最近,蘋果在 HTML5 上大做文章 ,而著名的 Web 設計師 Eric Meyer 則提出了 Web Stacks 的概念。Alex Kessinger 是 Yahoo 的一名前端工程師,本文是他對 HTML5 應用現狀與前景的思考。

術語

首先說說 HTML5 應用中的幾個定義。

HTML5

HTML5 最好的定義來自 Mark Pilgrim 的 Dive Into HTML5 :

"HTML5 是繼 HTML4.01,XHTML 1.0/1.1 之後的下一代 HTML "

值得一提的是,我們或許能看到 HTML6,然而按 Pilgrim 在 WHATWG 部落格 中 的說法,下一代 HTML 很可能去掉版本號碼這一概念。

應用

來自 Wikipedia 的解釋:

"應用程式是電腦用來執行特定任務的軟體 "

HTML5 應用

從使用者的角度,HTML5 應用和其它的電腦應用程式還不完全一樣,但已經很接近。從開發人員的角度,HTML5 應用是一些基於 HTML,JavaScript,CSS 的程式,它們使用開放技術,可以離線使用,可以取代諸如 Silverlight 及 Flash 等專用平台的部分工作。或者說,多年來,你用來建立 Web 頁面的東西,現在可以用來建立類似案頭和智能手機程式的應用。

開源模式帶來轉變

O’Reilly 創始人,Tim O’Reilly,一位開源的支援者,曾在《Open Source Paradigm Shift 》中如是說:

"IBM 對個人電腦設計的商品化使利潤從硬體轉移到軟體這一層面,而開源將帶來新的財富 "

價值在不同的層面轉移,HTML5 將成為新的層面,商品的價值在下降,現時的瀏覽器已經成為商品,但這並沒有問題,只要它們都遵守標準。人們說,我們可以將作業系統置入瀏覽器中,但這行不 通,如果我們可以從過去的經曆中學到些什麼,那就是,不能簡單照抄過去的模式,好比廣播到電視的變遷,你不能簡單地在一個播音員面前放台攝像機完事,將操 作系統置入瀏覽器未必比 HTML5 離線應用本身更有價值。

發布渠道的重要

諸如 蘋果市集,Android 市集一類的渠道將成為主導,另外,一些新的,象 Valve 遊戲渠道,Netflix 電影渠道一類的東西將會出現,在”雲“時代,這些發布渠道將像案頭時代的作業系統一樣用來對使用者進行組織和歸類。

我們是如何到達現在這個階段的?

有兩個關鍵的因素。

感謝 Web 標準

儘管瀏覽器市場並不統一,但至少他們都運行 HTML,JavaScript 和 CSS。當我們希望通過 Web 推出一些東西的時候,我們知道,無論如何,使用者都能看到,然而你能想象人們都自己定義 Web 時的情景嗎,假如有人不使用 HTTP協議,或者不使用 HTML,那才是世界的末日。W3C 一類的組織讓各個瀏覽器廠家都保持同一個方向。

還好,我們並沒有很多渲染引擎

瀏覽器並不好做,數十億的網頁,參差不齊的代碼,這些東西讓獨立開發人員沒有機會單獨設計瀏覽器,因此,有能力設計瀏覽器的始終是那麼一小撮廠商,事 實上,時至今日,我們只有四種主要的瀏覽器渲染引擎,Trident (IE), Gecko (Mozilla, Firefox), WebKit (Chrome, Safari), 以及 Presto (Opera),而眾多瀏覽器都是建立在這些渲染引擎之上的。這意味著,不管在什麼樣的裝置上,我們不用太擔心它使用什麼樣的瀏覽器,不管什麼裝置,只要 它有一個瀏覽器,就有一個可以運行 HTML5 的環境。

標準何日面世?

關於 HTML5 成為標準的時間,Ian Hixie 的說法最受認可:

"根據估計,HTML5 直到 2022 年才會形成 W3C 推薦標準 "

然而,雖然標準的形成尚待時日,但瀏覽器廠商已經在實現各種 HTML5 功能。

功能探測 vs 瀏覽器探測

如果你是開發人員,你可以使用那些進階功能,但需要進行功能探測並提供漸進式設計。坊間有大量的功能探測庫,如 Modernizer ,另外,Mark Pilgrim 有一個清單,它可以讓你探測任何功能 。

離線 API

離線 API 是一切 HTML5 應用的基礎,不單單是離線資料的事,對開發人員來說,擁有本機存放區(localStorage ) 自然很好,但如何讓程式完全離線運行?Application Cache 是答案。如果不能離線儲存源檔案和資料,我們就無法實現離線的 HTML5 應用。

我們目前有幾種離線儲存機制,簡單的如 localStorage 和 SQL 儲存引擎,已經有一些瀏覽器在支援了,而最新的明星是 Indexed Database ,它得到了所有主 流瀏覽器支援。這些離線儲存應用和資料的能力,是 HTML5 的基礎,目前,Webkit,Firefox 已經可以實現,而 IE9 也即將實現。即時 IE9 的支援還需要等待,想一下,最需要離線應用的場合是哪裡,自然是智能手機和迷你筆記型電腦,智能手機多數都是用 Webkit。

W3C Web 應用程式工作群組:HTML5 應用的下一步

W3C WebApp s 標準已經做了大量工作,包括 API 及 HTML5 Web 程式細則。

HTML5 應用的打包部署

HTML5 apps – QuirksBlog 部落格文章中說,"對於本地/離線 HTML5 應用,W3C Widget packaging and configuration 是首選機制,並將成為事實標準,很多廠商已經開始對之進行實現。W3C Widgets 支援任意平台的 Vodafone S60 和 Samsung 手機 , Opera 案頭與行動瀏覽器 ,Bolt 瀏覽器 以及 Windows Mobile 6.5 。BlackBerry 也支援,不過需要特殊的 Java 包。 "

這些都是標準,本質上講,如果你有一個 HTML5 應用,它就會包含 HTML, CSS, 以及 JS,這些標準只不過偶是協助開發人員將他們的程式打包發行,如果你熟悉 PEAR , 它們是很相似的概念。你可能需要一些中繼資料,告訴系統你的程式是如何打包在一起的,在支援這些標準的平台上,你就可以保證你的使用者可以順利運行這些程式。

其它

HTML5 還有更多 API 可以協助開發人員建立應用,這些 API 可以讓你的程式訪問諸如本地檔案 ,網路攝影機 ,SOCKET 通訊服務 ,以及硬體動畫加速 等。這些 API 僅僅是開端,這樣的 API 後期會越來越多。

HTML5 程式可以應用在哪裡?

當然是瀏覽器,如果一個裝置擁有一個瀏覽器或渲染引擎,而且這個引擎是現代引擎,它就可以運行 HTML5 程式。HTML5 程式會應用在以下幾種場合。

案頭

如果你擁有一個符合 Web 標準的瀏覽器,就可以運行 HTML5 應用。案頭仍然很重要。

指定網站瀏覽器

諸如 Gmail 一類的網站可以看做一個應用,使用專門的瀏覽器 運 行,這樣的瀏覽器沒有地址欄,是專門用來運行指定網站應用的,甚至可以製作一個安裝包來分發。以下資源值得一看,Prism , Fluid /Fluidium 以及 NativeHost 。

移動領域

這是 HTML5 最熱門的運行場所。iPhone 可以和很多程式整合,將你的程式顯示在它的今日案頭(這裡有 一個教程 ),Android 也支援需要的 HTML5 API,但整合不夠好。未來幾年,支援 HTML5 的行動瀏覽器將如雨後春筍,將你的應用向 HTML5 遷移是很明智的,因為 HTML5 將很好地運行在這些裝置上。

跨界領域

已經有公司即將發布電視平台,Google TV 以及 Apple TV ,Google 表示,他們的 TV 平台將支援 HTML5,我們不知道蘋果的 TV 平台將支援什麼,鑒於他們最近對 HTML5 的一系列炒作 ,很有可能也支援。另外 一些電視盒廠商,如 Boxee 業已開始支援 HTML5,如果你想為 Boxee 開發應用,與其專門為它開發,不如直接使用 HTML5。

跨界領域擁有大量的平台,那些可以串連電腦的電視的數量在不斷增長,我們已經可以在電視上全屏觀看 YouTube,而備受歡迎的 Wii 則內建了 Opera。所有這些,都將藉助 HTML,CSS 與 JavaScript。

HTML5 市集

Eric Meyer 講到了 HTML5 應用程式問題,他將 HTML5 應用成為 Web Stack Apps , HTML5 要獲得更多關注,可以 建立 HTML5 市集 。Chrome 正在這樣做,而 Palm 已經有了一個這樣的東西 。

市集是很好的東西,開發人員可以直接得到報酬,而無需像現在這樣靠廣告維持,同時,使用者也將有一個地方去為他們的裝置尋找程式。

HTML5 市場前景

HTML5 在快速成長,值得所有人密切關注,最近的一兩年,會有很多公司進入這個領域,我們或許會在 Chrome 市集看到一些重量級廠商,我們也有希望在 Google TV 和 Apple TV 領域看到一些市集的出現。HTML5 會像傳統的 Flash,Flex,Silverlight,Objective-C 那樣,形成自己的生態系統。HTML5 將比 Flash, Flex, Silverlight 以及 Objective-C 更容易出現在任何裝置。

對於年輕一代開發人員,HTML5 應當是他們首選技能,HTML5 會形成很大的市場,很有很多公司需要這方面的人才。

延伸閱讀
  • How to Make an HTML5 iPhone App (如何設計 HTML5 iPhone 應用)
  • Eric Meyer on CSS3 (Eric Meyer 談 CSS3)
  • The Anatomy of a Website (網站剖析)
  • HTML5 到底是什嗎?
  • HTML5: 實至名歸還是言過其實?
  • 關 於 HTML5,開發人員可以期待什嗎?
  • HTML 5 之後是什嗎?HTML
  • 深 入瞭解 HTML 5
  • 讓 JavaScript 拯救 HTML5 的離線儲存
  • Web Forms 2.0 行將被 HTML 5 代替
  • HTML 5 正在改變 Web
  • HTML 5 令人期待的 5 項功能
  • 當 HTML 5 遇見 Google
  • HTML 5 會為 Flash 和 Silverlight 送終嗎?
  • Firefox 訪談:OGG, HTML 5 與 Web 視頻的未來
  • XHTML 2: 出師未捷身先死, HTML 5:萬千寵愛於一身
  • HTML5 File API:把檔案從案頭拖放到 Web
原文作者

Alex Kessinger 是一名 Yahoo 前端工程師,他的部落格地址是 alexkessinger.net , 他還是 Tastestalkr Network 的合夥創始人,現居舊金山灣區。

本文國際來源:sixrevisions.com The State of HTML5 Apps

中文翻譯來源:銳商企業CMS 網站內容管理系統 官方網站

 

 

轉自:http://blog.csdn.net/comsharp/archive/2010/06/20/5681169.aspx

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.