隨著互聯(lián)網產業(yè)的爆炸式增長,與之伴生的Web前端技術也在歷經洗禮和蛻變。尤其是近幾年隨著移動終端的發(fā)展,越來越多的人開始投身或轉行至新領域,這更為當今的IT產業(yè)注入了新的活力。盡管Web前端技術誕生至今時日并不長,但隨著Web技術的逐漸深入,今后將會在以下幾方面發(fā)力。
1.Web移動終端開發(fā)。
2.JavaScript的兄弟們。
3.百花齊放的類庫和框架。
4.工程化的Web前端開發(fā)規(guī)范。
Web移動終端開發(fā)
PhoneGap:一個開源的開發(fā)框架,使用HTML、CSS和JavaScript來構建跨平臺的移動應用程序。它使開發(fā)者能夠利用iPhone、Android、Palm、Symbian、BlackBerry、WindowsPhone和Bada等智能手機的核心功能,包括地理定位、加速器、聯(lián)系人、聲音和振動等。除了在本地編譯應用之外,還可以使用PhoneGap提供的云端Build工具進行應用編譯。也就是說,只需要將用HTML5寫好的應用上傳到PhoneGap的云端服務器,PhoneGapBuild即可將其編譯成適合不同平臺的應用。
前端知識圖譜
SenchaTouch:說到這里,就不得不提一些面向移動端的WebUI庫,畢竟PhoneGap是一個工具,要想基于Web技術構建完整的App,必須選擇一些適用的移動UI庫。而最值得一提的是SenchaTouch,它可以讓WebApp看起來像NativeApp。美麗的用戶界面組件和豐富的數(shù)據(jù)管理,全部基于最新的HTML5和CSS3的Web標準,全面兼容Android和iOS設備。PhoneGap昭示著一種開發(fā)趨勢,即App也可以使用Web前端技術來完成。而作為開發(fā)者最常用的UI工具箱,SenchaTouch又進一步加速了這種趨勢,目前在淘寶已有大量的項目采用這種思路來搭建,即在內置應用的外殼加上自定義的基于移動Web的UI庫。相信在未來這種模式必會越來越流行。
Sencha Touch:說到這里,就不得不提一些面向移動端的WebUI庫,畢竟PhoneGap是一個工具,要想基于Web技術構建完整的App,必須選擇一些適 用的移動UI庫。而最值得一提的是Sencha Touch,它可以讓Web App看起來像Native App。美麗的用戶界面組件和豐富的數(shù)據(jù)管理,全部基于最新的HTML5和CSS3的Web標準,全面兼容Android和iOS設備。PhoneGap 昭示著一種開發(fā)趨勢,即App也可以使用Web前端技術來完成。而作為開發(fā)者最常用的UI工具箱,Sencha Touch又進一步加速了這種趨勢,目前在淘寶已有大量的項目采用這種思路來搭建,即在內置應用的外殼加上自定義的基于移動Web的UI庫。相信在未來這 種模式必會越來越流行。
Media Queries:在CSS2時代,如果你曾經為網站設計過打印版CSS,那么就會明白CSS3 Media Queries的作用。不過,CSS3的Media Queries比CSS2的Media Queries可以獲取這些數(shù)據(jù):瀏覽器窗口的寬和高、設備的寬和高、設備的手持方向(橫向還是豎向)和分辨率等。也就是說,Media Queries提供了一種基于不同的平臺寫CSS的技術。這項技術在2011年初被推廣開來,至今已非;馃,尤其是在Web頁面仍占互聯(lián)網流量大多數(shù)的 今天,這種兼容技術能很快讓網站兼容移動設備,保證產品實現(xiàn)最快的跨平臺的兼容性和多平臺的可用性。
Zepto.js:一個專為 Mobile WebKit瀏覽器(如Safari和Chrome)而開發(fā)的JavaScript框架。它標榜自己簡約的開發(fā)理念能夠幫助開發(fā)人員簡單、快速地完成開發(fā) 交付任務。更重要的是這個JavaScript框架是超輕量級的,只有5KB。Zepto.js的語法借鑒且兼容jQuery。目前已有不少網站開始基于 Zepto.js做應用,因為在拋棄了IE瀏覽器的兼容性問題后,Web開發(fā)會變得越來越純粹,體積更輕巧,編碼也更加愉悅。不可否認,隨著移動終端開發(fā) 越來越流行,Zepto.js在未來將會有更加廣闊的應用場景和空間。
Bootstrap: Twitter推出的一個開源的用于前端開發(fā)的工具包。它由Mark Otto和Jacob Thornton合作開發(fā),是一個CSS/HTML框架。Bootstrap提供了優(yōu)雅的HTML和CSS規(guī)范,由動態(tài)CSS語言LESS寫成,與CSS 框架Blueprint存在很多相似之處。Bootstrap一經推出便頗受歡迎,一直是GitHub上的熱門開源項目,NASA和MSNBC的 Breaking News都使用了該項目。2012年第二季度,Bootstrap發(fā)布了2.0版,Bootstrap 2.0的一個重大改進是添加了響應設計特性,在1.0中,這是讓很多開發(fā)人員抱怨的地方。而且為了提供更好的針對移動設備的響應式設計方 案,Bootstrap 2.0采用了更為靈活的12欄網格布局。此外,它還更新了一些進度欄及可定制的圖片縮略圖,并增加了一些新樣式。值得關注的是,Bootstrap是一個 非常輕量級的框架,2.0在壓縮后只有10KB。Bootstrap為我們的網站快速搭建提供了不錯的工具和思路,這個工具集將擁有更旺盛的生命力。
JavaScript的兄弟們
CoffeeScript是一個借鑒Ruby編寫的新編程語言,創(chuàng)建者JeremyAshkenas戲稱它是JavaScript的低調的小兄弟,因為CoffeeScript會將Ruby編譯成JavaScript,而且大部分結構都相似。但不同的是,CoffeeScript擁有更嚴格的語法。它的最大功績就是將JavaScript硬綁的C/Java語法拋棄了,改為采用類似Ruby/Python的語法。Ruby/Python本來就是深受Lisp影響的,與JavaScript算是同門師兄,它們的語法經過了實踐考驗,非常適合函數(shù)式編程。這種優(yōu)雅的語言獨具魅力,即將面世的2013版的淘寶首頁即采用了CoffeeScript實現(xiàn)。
TypeScript是微軟開發(fā)的JavaScript的超集,TypeScript兼容JavaScript,可以載入JavaScript代碼然后運行。與JavaScript相比,TypeScript進步的地方在于:加入注釋,讓編譯器理解所支持的對象和函數(shù),編譯器會移除注釋,不會增加開銷;增加一個完整的類結構,使之更像是傳統(tǒng)的面向對象語言。由于JavaScript只是一個腳本語言,并非用于開發(fā)大型Web應用,所以沒有提供類和模塊的概念。而TypeScript擴展了JavaScript實現(xiàn)了這些特性,能更好地支持大規(guī)模JavaScript應用開發(fā),吸引了不開發(fā)者。但要注意,雖然TypeScript有微軟做后盾看起來很有保證,但目前提供的只是早期的預覽版本,TypeScript并不像它的網站看起來那樣精美,最終版本可能會在一年后ECMAScript6發(fā)布會確定,現(xiàn)在的版本只是個開發(fā)預覽版。因此,TypeScript今后發(fā)展如何,還需要進一步觀察。