Html5 誕生之前Java 開發(fā)人員都是依賴 Web 瀏覽器作為應(yīng)用程序的前端。但過程往往令人沮喪:HTML 笨拙,JavaScript 緩慢而難用,缺乏調(diào)試工具,想讓應(yīng)用程序兼容所有的瀏覽器是一個(gè)非常艱苦的過程。HTML5的誕生,也為Java 開發(fā)帶來了福音。
過去,Java 開發(fā)人員都是依賴 Web 瀏覽器作為應(yīng)用程序的前端。但過程往往令人沮喪:HTML 笨拙,JavaScript 緩慢而難用,缺乏調(diào)試工具,想讓應(yīng)用程序兼容所有的瀏覽器是一個(gè)非常艱苦的過程。但現(xiàn)在你們的福音來了,隨著瀏覽器技術(shù)的改進(jìn),尤其是采用了 HTML5 之后,以上問題已經(jīng)得到顯著的改善。HTML5 能為 Java 開發(fā)帶來了哪些意義,中培偉業(yè)HTML5開發(fā)最佳實(shí)踐應(yīng)用》專家姚老師對(duì)此進(jìn)行了詳細(xì)盤點(diǎn)
第一大意義跨平臺(tái)部署的實(shí)現(xiàn)
跟 Java 一樣,HTML5 的核心優(yōu)勢(shì)之一便是跨平臺(tái)運(yùn)行。既支持傳統(tǒng)的桌面平臺(tái),又支持移動(dòng)平臺(tái),包括 iOS, Android, BlackBerry, Windows Phone, Symbian 等等。這種跨平臺(tái)的特性以為著你可以讓所有的平臺(tái)共用一個(gè) UI 代碼庫,節(jié)省幾倍的開發(fā)時(shí)間。
HTML5 通過標(biāo)準(zhǔn)化一系列針對(duì)常用 Web 應(yīng)用程序的 APIs 實(shí)現(xiàn)了跨平臺(tái),還包括開發(fā)離線應(yīng)用程序、瀏覽器數(shù)據(jù)存儲(chǔ)和免插件的視音頻 APIs。
第二大意義用戶界面控件的增加
HTML5 為 Web 開發(fā)添加了很多新的控件。創(chuàng)建頁面的包括:header, footer, article, aside, main等等,以及系列新的 form 控件。比如,input元素可以從用戶那里搜集 13 種類型的數(shù)據(jù):color, date, datetime, datetime-local, email, month, number, range, search, tel, time, url 和 week 等等。這個(gè)元素在移動(dòng)端的作用也是非常大的。
除了更多的原生控件以外,最近激增的前端開發(fā)也改進(jìn)了 JavaScript 的控件。比如 UI 庫 jQuery UI 和 Telerik's Kendo UI 已經(jīng)支持無縫添加復(fù)雜和可自定義的 UI 控件,如菜單、標(biāo)簽等等?!?/p>
第三大意義:運(yùn)行速度更快
HTML5 的發(fā)展也帶動(dòng)了 JavaScript 的發(fā)展,瀏覽器廠商們?yōu)榱嗽谑袌?chǎng)份額中取勝,都在努力加速它們的渲染和 JavaScript 引擎。
改進(jìn)的不僅僅是 JavaScript,CSS3 也在與時(shí)俱進(jìn)。CSS3 引入了一些非常強(qiáng)大的 APIs,如animations, transitions 和 transformations。由于這些動(dòng)畫是原生的,瀏覽器可以利用硬件加速并直接在用戶的 GPU 上運(yùn)行這些動(dòng)畫。這樣可以保證動(dòng)畫在移動(dòng)設(shè)備上都能夠流暢運(yùn)行。
第四大意義Canvas擁有更強(qiáng)大的功能
HTML5 的 canvas元素使用 JavaScript 在網(wǎng)頁上繪制圖像。canvas擁有多種繪制路徑、矩形、圓形、字符以及添加圖像的方法。這個(gè)技術(shù)的出現(xiàn)對(duì)游戲開發(fā)行業(yè)是革命性的。
當(dāng)然,如果你不是游戲開發(fā)人員,你照樣可以用canvas。由于它強(qiáng)大的跨平臺(tái)支持,canvas有很多附加的應(yīng)用程序。Canvas 消除了開發(fā)人員創(chuàng)建豐富視覺可視化的障礙,借用第三方工具(如 Flash)將成為歷史。
第五大意義:更強(qiáng)大的跨瀏覽器兼容性
過去,讓 Java 開發(fā)人員在一個(gè)運(yùn)行環(huán)境下編寫代碼,然后在不同的瀏覽器下測(cè)試代碼是一件非常痛苦的事情。幸運(yùn)的是,HTML5 已經(jīng)將所有跨瀏覽器開發(fā)的障礙進(jìn)行了標(biāo)準(zhǔn)化。
另外,瀏覽器市場(chǎng)競(jìng)爭(zhēng)也促進(jìn)了調(diào)試工具的不斷創(chuàng)新。不管你用的是 IE、Firefox、Chrome 還是 Safari,現(xiàn)在都可以快速查詢 DOM、遍歷 JavaScript 并深入研究網(wǎng)絡(luò)堆棧。
姚老師最后總結(jié)道,HTML5 盡管還有很多問題亟待解決,但不得不承認(rèn),HTML5 已經(jīng)解決了 Java 開發(fā)中的大部分痛點(diǎn),讓開發(fā)進(jìn)程越來越無縫化。