摘要:HTML是Web編程中的基礎(chǔ)語言,絕大多數(shù)遠(yuǎn)程教學(xué)平臺(tái)都是基于Web的,在移動(dòng)互聯(lián)網(wǎng)時(shí)代,由于Web部署上的優(yōu)勢(shì),越來越多的應(yīng)用系統(tǒng)也將會(huì)轉(zhuǎn)移到Web上來。然而,目前所廣泛使用的HTML4.01推出已有十多年時(shí)間,它本身的缺陷表現(xiàn)得愈加明顯,它逐漸成為了Web發(fā)展的制約因素。盡管HTML5還處于不斷完善階段,但在IE、Firefox、Opera等新版PC瀏覽器已支持絕大部分HTML 5功能,移動(dòng)設(shè)備的瀏覽器對(duì)HTML5支持情況更好。HTML5新開放的API、新增的標(biāo)記及離線支持等特性能顯著提升Web應(yīng)用的開發(fā)效率。該文介紹了HTML 5中新增標(biāo)記的富媒體特性,探討了表單及離線支持等特性并簡(jiǎn)要分析了HTML5在教學(xué)平臺(tái)開發(fā)中的應(yīng)用前景。
關(guān)鍵詞: 教學(xué)平臺(tái);HTML5;表單;富媒體;離線支持;Web應(yīng)用
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)16-3829-03
Abstract: HTML is the basic language for web programming, most distance education systems are web-based, with the wide usage of new technologies, more and more applications will be transferred to web. However, the currently widely used HTML4.01 has been available for more than ten years, It exposes an increasing number of defects. Although HTML5 standard is still in a developing stage, but IE, Firefox, Opera and other browsers has partially supported HTML 5s features, HTML5 newly open APIs, new markups and offline support and other features can significantly improve the efficiency of Web application development. This article describes the newly added HTML5 tags, form and characteristics of offline support and their application in the development of distance education systems.
Key words: Distance Teaching Platform;HTML5;RIA;offline support; web application
遠(yuǎn)程教學(xué)系統(tǒng)具備網(wǎng)絡(luò)資源整合、多媒體信息展示、智能信息處理等能力,它為學(xué)習(xí)者提供了一個(gè)群學(xué)、開放的學(xué)習(xí)環(huán)境。遠(yuǎn)程教學(xué)系統(tǒng)良好的用戶界面(UI)設(shè)計(jì)、功能設(shè)計(jì)、交互設(shè)計(jì)、用戶體驗(yàn)設(shè)計(jì)能幫助學(xué)習(xí)者在使用過程中形成正確的空間感和方向感。由于HTML4.01拋棄了一些重要的UI(如樹型導(dǎo)航菜單),只能借助于JavaScript等腳本語言或插件來實(shí)現(xiàn)這些UI功能,從而導(dǎo)致了Web應(yīng)用系統(tǒng)可視化特性差、交互性差[1],遠(yuǎn)程教學(xué)系統(tǒng)普遍存在界面單一、交互性差、用戶體驗(yàn)差、代碼不規(guī)范、臃腫、維護(hù)困難等問題,系統(tǒng)的開發(fā)效率也受到了影響,HTML4.01在富因特網(wǎng)應(yīng)用時(shí)代和移動(dòng)互聯(lián)網(wǎng)時(shí)代局限性越來越明顯。HTML5是下一代超文本標(biāo)記語言,盡管它還處于不斷完善的階段,但它已經(jīng)得到了包括Internet Explorer、Chrome、Firefox、Opera等新版本瀏覽器的支持,絕大部分功能已經(jīng)在新版瀏覽器中得以實(shí)現(xiàn)。
1 HTML5簡(jiǎn)介
HTML(HyperText Markup Language)是一種用于網(wǎng)頁創(chuàng)建的標(biāo)記語言,它是網(wǎng)站開發(fā)的基礎(chǔ)性語言,在“內(nèi)容與表現(xiàn)相分離”的設(shè)計(jì)原則指導(dǎo)下,HTML用來定義內(nèi)容,CSS(Cascading Style Sheets)用來定義網(wǎng)頁的表現(xiàn)。HTML最近版本是1999年推出的HTML4.01,十年來互聯(lián)網(wǎng)領(lǐng)域已經(jīng)發(fā)生了巨大變化,HTML4.01越來越難以適應(yīng)新的應(yīng)用需求,迫切需要添加新功能來適應(yīng)Web應(yīng)用開發(fā)的需求。HTML5開始于2004年,隨之產(chǎn)生了Web2.0概念,開創(chuàng)了Web發(fā)展的第二個(gè)時(shí)代,舊的靜態(tài)網(wǎng)站被具備更多特性的動(dòng)態(tài)網(wǎng)站和社交網(wǎng)站所取代成為了那時(shí)的發(fā)展趨勢(shì),時(shí)至今日,在W3C和WHATWG組織的努力下HTML5已經(jīng)得到了越來越多的瀏覽器廠商的支持。
HTML5引入并加強(qiáng)了一系列功能, 包括專門的布局標(biāo)記、表單控制、 應(yīng)用程序接口(API)、富媒體特性, 結(jié)構(gòu)化和語義化等,它提供了更靈活、更簡(jiǎn)便、更具互操作性的Web應(yīng)用實(shí)現(xiàn)方案。HTML5減少了對(duì)外部插件的需求,提供了更多的能取代腳本的標(biāo)記及具有富媒體特性的標(biāo)記,HTML5除能在傳統(tǒng)PC端有很好的表現(xiàn)外,在移動(dòng)設(shè)備上具有更優(yōu)秀的表現(xiàn),它強(qiáng)化了Web的表現(xiàn)性能并增強(qiáng)了本地?cái)?shù)據(jù)庫等Web應(yīng)用功能,可以說在移動(dòng)互聯(lián)網(wǎng)時(shí)代它給HTML標(biāo)記語言注入了新的生命力。
2 HTML 5新增標(biāo)記及其富媒體特性
HTML4.01拋棄了一些重要的UI,一些類Windows控件只能依賴JavaScript等腳本語言或者本地繪圖API實(shí)現(xiàn),這影響了應(yīng)用系統(tǒng)的開發(fā)效率,并且腳本通常是解釋執(zhí)行的,效率低且受制于瀏覽器端的設(shè)置。
以音、視頻播放為例,在HTML4.01中大多數(shù)音、視頻播放是通過插件來實(shí)現(xiàn)的,這種實(shí)現(xiàn)方式要求在瀏覽器端安裝插件,對(duì)于Web應(yīng)用系統(tǒng)來說存在著部署問題,瀏覽器端的插件還可能被禁用或屏蔽,使用插件還存在邊界、剪裁和透明度等用戶體驗(yàn)問題,可以說弊端很多。然而,HTML5時(shí)代的瀏覽器能提供原生的支持音、視頻能力,對(duì)外置插件的有效性依賴性已不再重要,在HTML5中可通過在網(wǎng)頁中加入Video標(biāo)記來方便地嵌入視頻,視頻的呈現(xiàn)不需要虛擬機(jī),所需要的計(jì)算資源少且頁面的數(shù)據(jù)量也較小,對(duì)于移動(dòng)設(shè)備來說,響應(yīng)將更快,從而帶來了更好的用戶體驗(yàn)。endprint
Video標(biāo)記支持width、height、autoplay、preload、controls等屬性來實(shí)現(xiàn)對(duì)視頻窗口外觀設(shè)置、視頻文件的預(yù)加載及播放控制,Audio標(biāo)記則提供了對(duì)音頻文件的支持。圖1中
Source標(biāo)記結(jié)合video或audio標(biāo)記的使用,能兼顧到不同的瀏覽器對(duì)視頻格式的支持。教學(xué)平臺(tái)開發(fā)時(shí)也應(yīng)兼顧低版本的瀏覽器,向不支持HTML5的瀏覽器提供相應(yīng)的解決方案,由于瀏覽器會(huì)忽略其不支持的標(biāo)記,利用這一特性使用下載鏈接或flash player插件的替代方案來顯示視頻,從而提升平臺(tái)的適應(yīng)性,圖2展示了實(shí)際編碼時(shí)可采用的方案,在這種方案中,瀏覽器會(huì)自動(dòng)檢查視頻源,直到找到可播放的視頻,Internet Explorer8.0以下版本的瀏覽器會(huì)使用flash player插件播放或用戶選擇下載播放。
Canvas標(biāo)記也是Web開發(fā)者所期待的標(biāo)記,它結(jié)合JavaScript能實(shí)現(xiàn)在網(wǎng)頁中交互式進(jìn)行矢量圖或位圖的繪制,其繪圖功能的API已經(jīng)接近操作系統(tǒng)的渲染函數(shù),這一功能極大地增強(qiáng)了Web頁面的交互能力和動(dòng)態(tài)執(zhí)行能力、極大地提升了Web使用體驗(yàn)。
在HTML4.01中,網(wǎng)頁交互式繪畫多通過Applet或Flash來實(shí)現(xiàn),它們的缺點(diǎn)是都需要虛擬機(jī)的支持。使用Canvas標(biāo)記能靈活地繪制路徑及基本幾何圖形、也能實(shí)現(xiàn)圖像的動(dòng)態(tài)展示等功能,在遠(yuǎn)程教學(xué)平臺(tái)中通過Canvas標(biāo)記,能依據(jù)變化的數(shù)據(jù)動(dòng)態(tài)生成統(tǒng)計(jì)圖表,從而提升學(xué)習(xí)者的參與感和沉浸感。HTML5中Canvas標(biāo)記結(jié)合JavaScript繪制矩形的方法如圖3所示。
除了video、audio、canvas這些新增的具備富媒體特性的標(biāo)記外,HTML5還增強(qiáng)了內(nèi)容的描述能力,header、nav、article等具備語義標(biāo)記的引入使得頁面的結(jié)構(gòu)更加清晰,現(xiàn)有的
3 HTML 5的表單新特性
遠(yuǎn)程教學(xué)平臺(tái)的多個(gè)功能模塊都要求交互性,從而滿足學(xué)生與教學(xué)系統(tǒng)間、師生間及學(xué)生間交互活動(dòng)的需求。Web中最普通的交互方式就是表單,表單包括了網(wǎng)頁中最常見的控件元素,它擔(dān)負(fù)了大量的用戶和網(wǎng)站后臺(tái)數(shù)據(jù)交互的任務(wù)。盡管HTML4.01中的表單能實(shí)現(xiàn)方便地收集、組織數(shù)據(jù)的功能,但在輸入類型檢查、表單校驗(yàn)、錯(cuò)誤提示等模塊中必須利用JavaScript和DOM編程來實(shí)現(xiàn)。此外,HTML4.01拋棄了一些重要的UI控件,一些類Windows控件也需要借助于CSS和JavaScript等語言編程實(shí)現(xiàn),這在一定程度上影響了系統(tǒng)的可視化特性及系統(tǒng)的開發(fā)效率。
HTML 5使表單的性能得到了全面的提升,它增加了許多內(nèi)置控件和屬性來滿足實(shí)際Web應(yīng)用系統(tǒng)開發(fā)需求,減少了開發(fā)人員的編程量,使用這些控件能實(shí)現(xiàn)高可用、更豐富、更動(dòng)態(tài)的Web用戶界面,HTML 5中對(duì)表單的改進(jìn)主要體現(xiàn)在以下三個(gè)方面。
1)新增或改進(jìn)控件
HTML 5通過對(duì)input標(biāo)記的type屬性的擴(kuò)展新增了大量Web2.0時(shí)代的控件,如URL輸入框、Email輸入框、日期輸入框、number輸入框、color控件等,這些控件支持自動(dòng)類型檢查和外聯(lián)數(shù)據(jù)源功能。HTML 5還改進(jìn)了部分已有控件,如改進(jìn)的文件上傳控件支持多文件同時(shí)上傳及自定義上傳文件類型及文件大小,而這些功能在HTML4.01中需要借助于客戶端腳本甚至服務(wù)器端程序來實(shí)現(xiàn)。
2)內(nèi)建表單校驗(yàn)功能
在傳統(tǒng)Web應(yīng)用系統(tǒng)開發(fā)過程中往往要同時(shí)兼顧服務(wù)器端的程序及瀏覽器端對(duì)頁面輸入驗(yàn)證的腳本開發(fā)工作,在前臺(tái)的驗(yàn)證工作往往需要花費(fèi)大量時(shí)間。在HTML 5規(guī)范中將客戶端數(shù)據(jù)校驗(yàn)工作融入到了HTML語言中,可通過對(duì)控件屬性的設(shè)置來直接控制控件的輸入行為。如代碼能實(shí)現(xiàn)一個(gè)必須填寫的文本框,代碼能實(shí)現(xiàn)number控件輸入值范圍的限定。當(dāng)提交表單時(shí),表單將自動(dòng)驗(yàn)證,輸入錯(cuò)誤時(shí)將給出錯(cuò)誤提示信息并阻止數(shù)據(jù)的提交。
3)表單結(jié)構(gòu)更靈活
在HTML4.01中,所有表單控件必須置于標(biāo)記之中,即要求將提交到同一服務(wù)器端程序的數(shù)據(jù)集中到一個(gè)DOM塊中,在form標(biāo)記和表單控件使用較多的情況下布局設(shè)計(jì)時(shí)局限性明顯。HTML5通過對(duì)表單控件增加form屬性,通過屬性值設(shè)置控件所屬表單,突破了必須將控件寫在
之中的限制,實(shí)現(xiàn)了布局上的靈活性。此外在HTML5中通過給提交按鈕增加formaction屬性能使同一表單中的數(shù)據(jù)可以提交到不同的服務(wù)器端程序,這些改進(jìn)給基于Web的教學(xué)平臺(tái)開發(fā)帶來了更多靈活簡(jiǎn)便的實(shí)現(xiàn)方案。4 HTML5離線支持研究
遠(yuǎn)程學(xué)習(xí)者尤其是移動(dòng)學(xué)習(xí)者的學(xué)習(xí)進(jìn)程通常受制于網(wǎng)絡(luò)環(huán)境,HTML5將本地存儲(chǔ)標(biāo)準(zhǔn)化,它的離線支持功能允許在客戶端存儲(chǔ)大量數(shù)據(jù)從而極大地提高了Web應(yīng)用程序的速度,也能確保遠(yuǎn)程學(xué)習(xí)者在脫機(jī)、低帶寬或網(wǎng)絡(luò)不穩(wěn)定的情況下可以從緩存中訪問到必須的資源使學(xué)習(xí)進(jìn)程不會(huì)中斷并且降低了因用戶頻繁請(qǐng)求對(duì)服務(wù)器所造成的負(fù)載壓力?;贖TML5的Web應(yīng)用在客戶端將數(shù)據(jù)保存在一個(gè)本地?cái)?shù)據(jù)存儲(chǔ)中,通過DOM狀態(tài)判斷當(dāng)網(wǎng)絡(luò)連接斷開時(shí),程序訪問本地的數(shù)據(jù)存儲(chǔ),在離線狀態(tài)下也能對(duì)客戶端數(shù)據(jù)進(jìn)行修改、可視化、搜索或排序等復(fù)雜的數(shù)據(jù)操作;當(dāng)恢復(fù)網(wǎng)絡(luò)連接時(shí)再同步本地?cái)?shù)據(jù)與服務(wù)器端數(shù)據(jù)。
客服熱線:400-656-5456??客服專線:010-56265043??電子郵箱:longyuankf@126.com
電信與信息服務(wù)業(yè)務(wù)經(jīng)營(yíng)許可證:京icp證060024號(hào)
Dragonsource.com Inc. All Rights Reserved
HTML4.01依賴于Cookie來實(shí)現(xiàn)客戶端數(shù)據(jù)存儲(chǔ),然而在客戶端為Cookie所分配的空間只有4KB,Cookie不適合大量數(shù)據(jù)的存儲(chǔ),而將大量數(shù)據(jù)存儲(chǔ)在服務(wù)器端通常效率低下,這也成為了Web應(yīng)用系統(tǒng)的瓶頸。HTML5的這種離線支持對(duì)于交互式Web應(yīng)用來說至關(guān)重要,它已經(jīng)被Firefox、Safari、Chrome等廣泛的瀏覽器所實(shí)現(xiàn)。
HTML5通過在html標(biāo)記的manifest屬性中指定cache.manifest文件為Web應(yīng)用在網(wǎng)絡(luò)斷開時(shí)使用的資源清單,瀏覽器依據(jù)清單緩存這些資源到本地,chche.manifest文件也可指出哪些資源是需要在線訪問的。
HTML5開放了DOM Storage API,localStorage與sessionStorage對(duì)象實(shí)現(xiàn)了該接口,這兩個(gè)對(duì)象的生命周期不同,前者在瀏覽器端能持久存儲(chǔ)數(shù)據(jù),而后者僅用來存儲(chǔ)與會(huì)話相關(guān)的數(shù)據(jù),它的生命周期是某次客戶機(jī)與服務(wù)器的交互會(huì)話期。localStorage對(duì)象實(shí)現(xiàn)了數(shù)據(jù)的本地存儲(chǔ),通過它能方便地從服務(wù)器端高速緩存數(shù)據(jù),從而能減少對(duì)服務(wù)器的數(shù)據(jù)請(qǐng)求次數(shù),提高了Web應(yīng)用的響應(yīng)速度,它還能跨多個(gè)用戶會(huì)話共享數(shù)據(jù)以此實(shí)現(xiàn)對(duì)用戶行為的跟蹤及個(gè)性化服務(wù)的提供。
DOM Storage API采用“名/值”數(shù)據(jù)結(jié)構(gòu),常用方法及作用如下:
1)getItem(name):用以返回與name名稱相關(guān)聯(lián)的值;
2)setItem(name,value):新增或更改“名/值”對(duì)到localStorage結(jié)構(gòu)中;
3)removeItem(name):從localStorage中刪除“名/值”對(duì)。
除sessionStorate和localStorage方式外,HTML5還提供了Web SQL Database數(shù)據(jù)存儲(chǔ)方式來實(shí)現(xiàn)常用的關(guān)系型數(shù)據(jù)庫功能,如在瀏覽器端創(chuàng)建或打開sqllite數(shù)據(jù)庫、創(chuàng)建或打開表、執(zhí)行SQL語句等。Web SQL Database 還支持?jǐn)?shù)據(jù)庫事務(wù)操作,實(shí)現(xiàn)事務(wù)的提交或回滾,從而避免多瀏覽器操作相同數(shù)據(jù)時(shí)的沖突問題,圖4是在瀏覽器端創(chuàng)建數(shù)據(jù)庫的代碼。目前,DOM Storage API及Web SQL Database已經(jīng)在國內(nèi)的一些門戶網(wǎng)站中得到了應(yīng)用。
基于Web的遠(yuǎn)程教學(xué)平臺(tái)非常依賴來自Internet的數(shù)據(jù)和服務(wù),傳統(tǒng)Web應(yīng)用中經(jīng)常因?yàn)榫W(wǎng)絡(luò)連接的原因而不能正常使用系統(tǒng)功能,而HTML 5離線存儲(chǔ)功能能使Web應(yīng)用程序具備類似于桌面應(yīng)用程序的能力。此外,離線功能還支持盡可能多地緩存HTML、JavaScript、CSS、圖像等資源,當(dāng)某次會(huì)話需要這些資源時(shí)能實(shí)現(xiàn)迅速加載。
5 總結(jié)與展望
隨著互聯(lián)網(wǎng)的影響不斷擴(kuò)大,基于B/S架構(gòu)的Web應(yīng)用得到了迅猛的發(fā)展,B/S應(yīng)用領(lǐng)域越來越廣泛。Web發(fā)展經(jīng)歷了以HTML為代表的標(biāo)記語言、以CSS為代表的樣式語言及以JavaScript為代表的程序設(shè)計(jì)語言、以ASP為代表的服務(wù)器端環(huán)境。Web發(fā)展的下一階段將是以HTML 5為代表的富因特網(wǎng)應(yīng)用,它會(huì)顯著提升Web應(yīng)用的表現(xiàn)能力,文中僅介紹了HTML 5部分特性,HTML5規(guī)范中還包含很多功能強(qiáng)大的特性,例如實(shí)現(xiàn)“推送”功能的Server-Sent Event和WebSockets特性,這些特性能將瀏覽器變成功能完善的RIA客戶端平臺(tái)。RIA應(yīng)用的興起必將促使過時(shí)而低效的傳統(tǒng)Web應(yīng)用開發(fā)框架盡早退出歷史舞臺(tái)。
近年,Web技術(shù)在遠(yuǎn)程教育領(lǐng)域得到了廣泛應(yīng)用,基于HTML5的B/S架構(gòu)具有“零部署”的優(yōu)點(diǎn),又具有C/S架構(gòu)功能強(qiáng)大、表現(xiàn)力豐富的優(yōu)點(diǎn),它更能滿足遠(yuǎn)程教學(xué)平臺(tái)開發(fā)的需求,在移動(dòng)互聯(lián)網(wǎng)時(shí)代有著巨大的應(yīng)用潛力,勢(shì)必引起越來越多的瀏覽器廠商支持及開發(fā)者的關(guān)注。HTML5結(jié)合CSS3具有較高的應(yīng)用系統(tǒng)開發(fā)效率及卓越的運(yùn)行效率、且支持離線運(yùn)行,發(fā)展前景樂觀。
參考文獻(xiàn):
[1] 錢鈺.基于Flex的RIA 技術(shù)在教學(xué)軟件中的應(yīng)用[J].計(jì)算機(jī)與數(shù)字工程,2009(5):160-163.
[2] Jesse James Garrett. 用戶體驗(yàn)的要素[M].北京:機(jī)械工業(yè)出版社, 2007.
[3] 呂曉鵬.Flex3.0——基于ActionScript3.0實(shí)現(xiàn)[M].北京:人民郵電出版社,2008.
[4] 王沛.征服Ajax——Web2.0開發(fā)技術(shù)詳解[M]. 北京:人民郵電出版社,2006.
[5] 前沿科技. 精通CSS+DIV網(wǎng)頁樣式與布局[M].北京:人民郵電出版社,2007.
[6] James Kalbach. Web導(dǎo)航設(shè)計(jì)[M].北京:電子工業(yè)出版社,2009.
[7] Kristofer Layon.移動(dòng)Web實(shí)現(xiàn)指南[M].北京:人民郵電出版社,2012.endprint
HTML4.01依賴于Cookie來實(shí)現(xiàn)客戶端數(shù)據(jù)存儲(chǔ),然而在客戶端為Cookie所分配的空間只有4KB,Cookie不適合大量數(shù)據(jù)的存儲(chǔ),而將大量數(shù)據(jù)存儲(chǔ)在服務(wù)器端通常效率低下,這也成為了Web應(yīng)用系統(tǒng)的瓶頸。HTML5的這種離線支持對(duì)于交互式Web應(yīng)用來說至關(guān)重要,它已經(jīng)被Firefox、Safari、Chrome等廣泛的瀏覽器所實(shí)現(xiàn)。
HTML5通過在html標(biāo)記的manifest屬性中指定cache.manifest文件為Web應(yīng)用在網(wǎng)絡(luò)斷開時(shí)使用的資源清單,瀏覽器依據(jù)清單緩存這些資源到本地,chche.manifest文件也可指出哪些資源是需要在線訪問的。
HTML5開放了DOM Storage API,localStorage與sessionStorage對(duì)象實(shí)現(xiàn)了該接口,這兩個(gè)對(duì)象的生命周期不同,前者在瀏覽器端能持久存儲(chǔ)數(shù)據(jù),而后者僅用來存儲(chǔ)與會(huì)話相關(guān)的數(shù)據(jù),它的生命周期是某次客戶機(jī)與服務(wù)器的交互會(huì)話期。localStorage對(duì)象實(shí)現(xiàn)了數(shù)據(jù)的本地存儲(chǔ),通過它能方便地從服務(wù)器端高速緩存數(shù)據(jù),從而能減少對(duì)服務(wù)器的數(shù)據(jù)請(qǐng)求次數(shù),提高了Web應(yīng)用的響應(yīng)速度,它還能跨多個(gè)用戶會(huì)話共享數(shù)據(jù)以此實(shí)現(xiàn)對(duì)用戶行為的跟蹤及個(gè)性化服務(wù)的提供。
DOM Storage API采用“名/值”數(shù)據(jù)結(jié)構(gòu),常用方法及作用如下:
1)getItem(name):用以返回與name名稱相關(guān)聯(lián)的值;
2)setItem(name,value):新增或更改“名/值”對(duì)到localStorage結(jié)構(gòu)中;
3)removeItem(name):從localStorage中刪除“名/值”對(duì)。
除sessionStorate和localStorage方式外,HTML5還提供了Web SQL Database數(shù)據(jù)存儲(chǔ)方式來實(shí)現(xiàn)常用的關(guān)系型數(shù)據(jù)庫功能,如在瀏覽器端創(chuàng)建或打開sqllite數(shù)據(jù)庫、創(chuàng)建或打開表、執(zhí)行SQL語句等。Web SQL Database 還支持?jǐn)?shù)據(jù)庫事務(wù)操作,實(shí)現(xiàn)事務(wù)的提交或回滾,從而避免多瀏覽器操作相同數(shù)據(jù)時(shí)的沖突問題,圖4是在瀏覽器端創(chuàng)建數(shù)據(jù)庫的代碼。目前,DOM Storage API及Web SQL Database已經(jīng)在國內(nèi)的一些門戶網(wǎng)站中得到了應(yīng)用。
基于Web的遠(yuǎn)程教學(xué)平臺(tái)非常依賴來自Internet的數(shù)據(jù)和服務(wù),傳統(tǒng)Web應(yīng)用中經(jīng)常因?yàn)榫W(wǎng)絡(luò)連接的原因而不能正常使用系統(tǒng)功能,而HTML 5離線存儲(chǔ)功能能使Web應(yīng)用程序具備類似于桌面應(yīng)用程序的能力。此外,離線功能還支持盡可能多地緩存HTML、JavaScript、CSS、圖像等資源,當(dāng)某次會(huì)話需要這些資源時(shí)能實(shí)現(xiàn)迅速加載。
5 總結(jié)與展望
隨著互聯(lián)網(wǎng)的影響不斷擴(kuò)大,基于B/S架構(gòu)的Web應(yīng)用得到了迅猛的發(fā)展,B/S應(yīng)用領(lǐng)域越來越廣泛。Web發(fā)展經(jīng)歷了以HTML為代表的標(biāo)記語言、以CSS為代表的樣式語言及以JavaScript為代表的程序設(shè)計(jì)語言、以ASP為代表的服務(wù)器端環(huán)境。Web發(fā)展的下一階段將是以HTML 5為代表的富因特網(wǎng)應(yīng)用,它會(huì)顯著提升Web應(yīng)用的表現(xiàn)能力,文中僅介紹了HTML 5部分特性,HTML5規(guī)范中還包含很多功能強(qiáng)大的特性,例如實(shí)現(xiàn)“推送”功能的Server-Sent Event和WebSockets特性,這些特性能將瀏覽器變成功能完善的RIA客戶端平臺(tái)。RIA應(yīng)用的興起必將促使過時(shí)而低效的傳統(tǒng)Web應(yīng)用開發(fā)框架盡早退出歷史舞臺(tái)。
近年,Web技術(shù)在遠(yuǎn)程教育領(lǐng)域得到了廣泛應(yīng)用,基于HTML5的B/S架構(gòu)具有“零部署”的優(yōu)點(diǎn),又具有C/S架構(gòu)功能強(qiáng)大、表現(xiàn)力豐富的優(yōu)點(diǎn),它更能滿足遠(yuǎn)程教學(xué)平臺(tái)開發(fā)的需求,在移動(dòng)互聯(lián)網(wǎng)時(shí)代有著巨大的應(yīng)用潛力,勢(shì)必引起越來越多的瀏覽器廠商支持及開發(fā)者的關(guān)注。HTML5結(jié)合CSS3具有較高的應(yīng)用系統(tǒng)開發(fā)效率及卓越的運(yùn)行效率、且支持離線運(yùn)行,發(fā)展前景樂觀。
參考文獻(xiàn):
[1] 錢鈺.基于Flex的RIA 技術(shù)在教學(xué)軟件中的應(yīng)用[J].計(jì)算機(jī)與數(shù)字工程,2009(5):160-163.
[2] Jesse James Garrett. 用戶體驗(yàn)的要素[M].北京:機(jī)械工業(yè)出版社, 2007.
[3] 呂曉鵬.Flex3.0——基于ActionScript3.0實(shí)現(xiàn)[M].北京:人民郵電出版社,2008.
[4] 王沛.征服Ajax——Web2.0開發(fā)技術(shù)詳解[M]. 北京:人民郵電出版社,2006.
[5] 前沿科技. 精通CSS+DIV網(wǎng)頁樣式與布局[M].北京:人民郵電出版社,2007.
[6] James Kalbach. Web導(dǎo)航設(shè)計(jì)[M].北京:電子工業(yè)出版社,2009.
[7] Kristofer Layon.移動(dòng)Web實(shí)現(xiàn)指南[M].北京:人民郵電出版社,2012.endprint
HTML4.01依賴于Cookie來實(shí)現(xiàn)客戶端數(shù)據(jù)存儲(chǔ),然而在客戶端為Cookie所分配的空間只有4KB,Cookie不適合大量數(shù)據(jù)的存儲(chǔ),而將大量數(shù)據(jù)存儲(chǔ)在服務(wù)器端通常效率低下,這也成為了Web應(yīng)用系統(tǒng)的瓶頸。HTML5的這種離線支持對(duì)于交互式Web應(yīng)用來說至關(guān)重要,它已經(jīng)被Firefox、Safari、Chrome等廣泛的瀏覽器所實(shí)現(xiàn)。
HTML5通過在html標(biāo)記的manifest屬性中指定cache.manifest文件為Web應(yīng)用在網(wǎng)絡(luò)斷開時(shí)使用的資源清單,瀏覽器依據(jù)清單緩存這些資源到本地,chche.manifest文件也可指出哪些資源是需要在線訪問的。
HTML5開放了DOM Storage API,localStorage與sessionStorage對(duì)象實(shí)現(xiàn)了該接口,這兩個(gè)對(duì)象的生命周期不同,前者在瀏覽器端能持久存儲(chǔ)數(shù)據(jù),而后者僅用來存儲(chǔ)與會(huì)話相關(guān)的數(shù)據(jù),它的生命周期是某次客戶機(jī)與服務(wù)器的交互會(huì)話期。localStorage對(duì)象實(shí)現(xiàn)了數(shù)據(jù)的本地存儲(chǔ),通過它能方便地從服務(wù)器端高速緩存數(shù)據(jù),從而能減少對(duì)服務(wù)器的數(shù)據(jù)請(qǐng)求次數(shù),提高了Web應(yīng)用的響應(yīng)速度,它還能跨多個(gè)用戶會(huì)話共享數(shù)據(jù)以此實(shí)現(xiàn)對(duì)用戶行為的跟蹤及個(gè)性化服務(wù)的提供。
DOM Storage API采用“名/值”數(shù)據(jù)結(jié)構(gòu),常用方法及作用如下:
1)getItem(name):用以返回與name名稱相關(guān)聯(lián)的值;
2)setItem(name,value):新增或更改“名/值”對(duì)到localStorage結(jié)構(gòu)中;
3)removeItem(name):從localStorage中刪除“名/值”對(duì)。
除sessionStorate和localStorage方式外,HTML5還提供了Web SQL Database數(shù)據(jù)存儲(chǔ)方式來實(shí)現(xiàn)常用的關(guān)系型數(shù)據(jù)庫功能,如在瀏覽器端創(chuàng)建或打開sqllite數(shù)據(jù)庫、創(chuàng)建或打開表、執(zhí)行SQL語句等。Web SQL Database 還支持?jǐn)?shù)據(jù)庫事務(wù)操作,實(shí)現(xiàn)事務(wù)的提交或回滾,從而避免多瀏覽器操作相同數(shù)據(jù)時(shí)的沖突問題,圖4是在瀏覽器端創(chuàng)建數(shù)據(jù)庫的代碼。目前,DOM Storage API及Web SQL Database已經(jīng)在國內(nèi)的一些門戶網(wǎng)站中得到了應(yīng)用。
基于Web的遠(yuǎn)程教學(xué)平臺(tái)非常依賴來自Internet的數(shù)據(jù)和服務(wù),傳統(tǒng)Web應(yīng)用中經(jīng)常因?yàn)榫W(wǎng)絡(luò)連接的原因而不能正常使用系統(tǒng)功能,而HTML 5離線存儲(chǔ)功能能使Web應(yīng)用程序具備類似于桌面應(yīng)用程序的能力。此外,離線功能還支持盡可能多地緩存HTML、JavaScript、CSS、圖像等資源,當(dāng)某次會(huì)話需要這些資源時(shí)能實(shí)現(xiàn)迅速加載。
5 總結(jié)與展望
隨著互聯(lián)網(wǎng)的影響不斷擴(kuò)大,基于B/S架構(gòu)的Web應(yīng)用得到了迅猛的發(fā)展,B/S應(yīng)用領(lǐng)域越來越廣泛。Web發(fā)展經(jīng)歷了以HTML為代表的標(biāo)記語言、以CSS為代表的樣式語言及以JavaScript為代表的程序設(shè)計(jì)語言、以ASP為代表的服務(wù)器端環(huán)境。Web發(fā)展的下一階段將是以HTML 5為代表的富因特網(wǎng)應(yīng)用,它會(huì)顯著提升Web應(yīng)用的表現(xiàn)能力,文中僅介紹了HTML 5部分特性,HTML5規(guī)范中還包含很多功能強(qiáng)大的特性,例如實(shí)現(xiàn)“推送”功能的Server-Sent Event和WebSockets特性,這些特性能將瀏覽器變成功能完善的RIA客戶端平臺(tái)。RIA應(yīng)用的興起必將促使過時(shí)而低效的傳統(tǒng)Web應(yīng)用開發(fā)框架盡早退出歷史舞臺(tái)。
近年,Web技術(shù)在遠(yuǎn)程教育領(lǐng)域得到了廣泛應(yīng)用,基于HTML5的B/S架構(gòu)具有“零部署”的優(yōu)點(diǎn),又具有C/S架構(gòu)功能強(qiáng)大、表現(xiàn)力豐富的優(yōu)點(diǎn),它更能滿足遠(yuǎn)程教學(xué)平臺(tái)開發(fā)的需求,在移動(dòng)互聯(lián)網(wǎng)時(shí)代有著巨大的應(yīng)用潛力,勢(shì)必引起越來越多的瀏覽器廠商支持及開發(fā)者的關(guān)注。HTML5結(jié)合CSS3具有較高的應(yīng)用系統(tǒng)開發(fā)效率及卓越的運(yùn)行效率、且支持離線運(yùn)行,發(fā)展前景樂觀。
參考文獻(xiàn):
[1] 錢鈺.基于Flex的RIA 技術(shù)在教學(xué)軟件中的應(yīng)用[J].計(jì)算機(jī)與數(shù)字工程,2009(5):160-163.
[2] Jesse James Garrett. 用戶體驗(yàn)的要素[M].北京:機(jī)械工業(yè)出版社, 2007.
[3] 呂曉鵬.Flex3.0——基于ActionScript3.0實(shí)現(xiàn)[M].北京:人民郵電出版社,2008.
[4] 王沛.征服Ajax——Web2.0開發(fā)技術(shù)詳解[M]. 北京:人民郵電出版社,2006.
[5] 前沿科技. 精通CSS+DIV網(wǎng)頁樣式與布局[M].北京:人民郵電出版社,2007.
[6] James Kalbach. Web導(dǎo)航設(shè)計(jì)[M].北京:電子工業(yè)出版社,2009.
[7] Kristofer Layon.移動(dòng)Web實(shí)現(xiàn)指南[M].北京:人民郵電出版社,2012.endprint