微軟的“本地化HTML5”究竟意味著什么?
微軟在近日的演講中,自豪地展示了IE10的首個平臺預覽版。但在其大肆宣揚性能提升的同時,卻忽略了一個更為重要的問題。所謂的“本地化HTML5”究竟指的是什么?僅僅是硬件加速而已嗎?我們可不這么認為。
與此同時,在IE博客上發表的新聞稿中盡管大量談論了關于標準的話題,但從前三段的表述中仍舊可以嗅探到一些微軟未來的發展規劃。
首個IE10平臺預覽版,今日已提供下載,這是邁向未來支持本地化HTML5過程的第一步。在針對終端操作系統進行過優化的瀏覽器上,以本地化的方式運行網站和HTML5,可獲得更快速的操作體驗。
我們在IE9的基礎上,構建了對HTML5的支持,同時通過Windows來傳遞更多的本地化HTML5體驗,以及windows上最好的瀏覽體驗。IE10延續了IE9的路線,直接使用了Windows提供的組件,規避了由抽象、層,以及會降低瀏覽速度和體驗的類庫等。
目前為止,這種本地化的Web和HTML5體驗只能通過Windows 7和IE9來實現。IE9可借助于操作系統提供的便利來達到最大的性能、可用性以及可靠性——從底層的圖形堆棧到交互界面中的跳轉列表(Jump List)等。四周前,我們面向全球的企業和用戶,發布了一款快速、整潔、可靠并且交互良好的IE9,以此來傳遞最佳的HTML5體驗。最好的HTML5相對于操作系統來說是本地化的,因此Web站點使用的傳輸層也是最少的。最好的HTML5允許站點在不同瀏覽器下使用相同的標記——相同的HTML、CSS和腳本。最好的HTML5可以為開發者節省時間,同時通過相同標記即可將支持HTML5功能的站點,與使用其他不穩定技術的站點區分開。
顯然跳轉列表與硬件加速和性能是無關的。所以,真正要發生的是,微軟要把HTML5與本地化的Windows應用綁定在一起。跳轉列表只不過是冰山一角,后續還有更艱難的工作有待完成。
為了看得更明白一點,我們首先要區分出本地應用與Web應用究竟有哪些不同?然后除去HTML5標準中所涵蓋的內容。舉例說來,Web版的文檔編輯器需要具備哪些特性?
1.文本編輯
2.格式化
3.字體
4.本地或網絡驅動器加載或保存文件
5.由Web加載或保存文件
6.拼寫和語法檢查
7.最近訪問文檔的支持
8.從開始菜單中啟動
9.支持離線操作
前兩項很容易實現。CSS3中的字體組件很容易滿足第三項。第四項是我們首先要解決的。將文件保存到本地或網絡設備很容易實現,打開它們卻并非易事。不能通過簡單的文檔雙擊操作在瀏覽器中打開一個網站,緊接著再在網站中加載和展現文檔。因此,將文檔類型與Web應用關聯的特性是首要解決的問題。
接著往下看,從網頁中加載和保存文檔不用費什么腦子。拼寫和語法檢查,正確的做法是通過HTML5的Web Workers實現。對最近訪問文檔的支持,是我們的下一步重點。雖然這個功能不是每個人都會用到,但如果列表不支持動態更新的話,會給使用此功能的用戶帶來很大困擾。
從開始菜單中加載是所有應用程序都期望做到的。通過IE9,可將網站“釘”在開始菜單中,這個通過拖拽一個快捷方式即可實現。如果傳言屬實的話,Windows 8將會引入一個名為AppX的包部署結構來讓這件事變得簡單。依照@LongZheng的說法,通過AppX能夠將網站描述為目標而不是被編譯過的應用。
最后一項是真正的挑戰。要具備像本地應用一樣的“性能、可用性以及可靠性”,Web應用需要具備在未取得服務器授權情況下的運行能力。以前有很多種辦法實現這個功能,但是由于各種原因,大多數的嘗試都失敗了,其中包括太多的對服務端處理的依賴,以及瀏覽器緩存的不穩定性等。眼下借助于流行的JavaScript增強的功能及性能,類似于這種的大部分的服務端處理都可以被轉移到客戶端來實現,這也是理所當然的。瀏覽器緩存也可以通過配置或增強,從而達到防止“已安裝的Web Apps"被誤刪除的效果。
以此概括出我們的功能清單如下:
1)件類型與Web Apps的關聯
2)期訪問的文檔
3)始菜單集成
4)eb Apps的持久緩存
我們尚不清楚微軟何時或是否會實現其他特性,也沒有人知道那些許多應用都想變得和本地應用一樣的功能是否會實現。但可以肯定的是,微軟要想成功提供“本地化HTML5”的支持,就需要借助于網站開發人員,當然這些都不是免費的。開發人員需要在其網站上明確的使用它。而且到目前為止,其他瀏覽器廠商也明確表示對提供以Windows為中心的特性沒有興趣,開發人員也只能針對IE用戶來開發特性。
幸運的是,這畢竟是個好消息。因為這個戰略仍舊需要支持大部分,盡管不是所有新的HTML 5和CSS 3規范,Web開發人員即使不考慮Windows平臺,也同樣會取得成功。因為IE會在標準確立后,緊接著實現這些功能,到時候其他瀏覽器廠商也不會甘愿落在微軟之后的。
查看英文原文:http://www.infoq.com/news/2011/04/Native-HTML5
【編輯推薦】