任樂樂東華大學(xué)信息科學(xué)與技術(shù)學(xué)院 上?!?01620
AngularJS技術(shù)及其應(yīng)用實踐研究
任樂樂
東華大學(xué)信息科學(xué)與技術(shù)學(xué)院 上海201620
摘要:近年來互聯(lián)網(wǎng)和信息技術(shù)的不斷進步,怎么高速構(gòu)建有效、強大的動態(tài)網(wǎng)站成了很多人關(guān)注的焦點。此文是對以javas?cript為基礎(chǔ)的的動態(tài)web應(yīng)用框架AngularJS和其特征的簡介與解析,了解其是怎么完成大量程序下的的高速開發(fā)。
關(guān)鍵詞:AngularJS;應(yīng)用;開發(fā)
WEB應(yīng)用程序的開發(fā)是互聯(lián)網(wǎng)的支柱,多年以來隨著HTML 和javascipt的發(fā)展,在web應(yīng)用程序的領(lǐng)域中,動態(tài)web應(yīng)用程序成了其主要開發(fā)方式,同時AJAX還能進行網(wǎng)頁的非同步更新,是其中不可缺少的核心技術(shù)。隨著軟件技術(shù)的高速發(fā)展,web應(yīng)用程序在人們的目光中越來越受重視,迫切得需要一種更優(yōu)良的開發(fā)體系,AngularJS應(yīng)運而生,AngularJS是瀏覽器端的解決技術(shù),是為了克服HTML在構(gòu)建應(yīng)用上的不足而設(shè)計出來的。在靜態(tài)網(wǎng)頁的解決方案中,我們通常使用HTML,但如果要構(gòu)建WEB應(yīng)用的話,HTML就顯得乏力。我們需要一種的技術(shù)能夠兼容HTML,從而解決在瀏覽器端能否實現(xiàn)動態(tài)網(wǎng)頁的問題。
AngularJS是基于JavaScript的一個MVC框架,由谷歌公司在09年公開發(fā)布,其作用是讓開發(fā)的流程變得簡便,減少測試中的難度,使得在編制web應(yīng)用的流程中,能同時看到其代碼所表達的成果,有利于大面積得開發(fā)時,程序仍然能夠保持自身的功能特性。AngularJS的簡便之處在于,只要求在頁面中載入angularJS庫和在需要使用DOM上啟用np-app就行了。很大程度上降低了前端開發(fā)工作人員的學(xué)習(xí)曲線,讓程序的開發(fā)和維護以及測試變得更加簡潔明了。
Angularjs如此簡潔的原因在于,開發(fā)者起初創(chuàng)造這個框架時的想法具有開創(chuàng)性以及其特別的數(shù)據(jù)綁定方式,此文對AngularJS的一些特性進行一些闡述,來表明為什么AngularJS可以把web開發(fā)變得如此簡便。
(一)Mvc
MVC最早出現(xiàn)在19世紀(jì)70年代,model指代其中的數(shù)據(jù),con?troller指代其內(nèi)部的應(yīng)用邏輯,view指代其表現(xiàn)的界面,而該設(shè)計模式的重點理念就是把之前三者的代碼區(qū)分開,從而提升了程序的遷移性,讓代碼的邏輯變得清晰扼要,mvc框架目前廣泛得運用在大部分的網(wǎng)絡(luò)開發(fā)語言中,Angularjs自身也是通過MVC來實現(xiàn)的,在AngularJS中,mvc的三個部分分別是存儲在對象的屬性中,是JavaScript類和是人們所說的DOM。
(二)數(shù)據(jù)綁定
Ajax可以完成應(yīng)用的數(shù)據(jù)迭代,但要求用戶界面和JavasSript同時變動,而AngularJS使用的數(shù)據(jù)雙綁定辦法,讓不要求編寫任一代碼,就可以做到改動頁面的數(shù)據(jù),Angularjs使用模板來完成數(shù)據(jù)的綁定,其中模板就是少許html片段,能夠載入或者自定義在< sript>標(biāo)簽內(nèi),這里表現(xiàn)出AngularJS的又一個優(yōu)勢是能夠自定義標(biāo)簽,可在編寫網(wǎng)絡(luò)頁面的同時,可運用模板來自定義標(biāo)簽,而不是只是可以運用html的規(guī)范標(biāo)簽。
當(dāng)模板載入以后,AngularJS會聯(lián)合模板和數(shù)據(jù),然后顯示出數(shù)據(jù)和模板,且兩者的載入是非同步的,把模板和數(shù)據(jù)割裂開,就能讓模板被瀏覽器緩存,在初次要求之后,只要把數(shù)據(jù)載入到瀏覽器中就行,不只是提升了程序的特性,還完成了數(shù)據(jù)的隨時迭代,數(shù)據(jù)綁定的定義就是如此,在AngularJS中,有兩個數(shù)據(jù)綁定的方式,一個是使用mng-bind命令,另外一個是使用花括號來完成,兩個方法都是等值的,當(dāng)頁面初次運用花括號的方式或許會讓用戶看到?jīng)]有全部載入的界面,因此在開始頁面的載入中,應(yīng)該要求運用ng-blind命令來完成數(shù)據(jù)的綁定,從而優(yōu)化界面的用戶體驗。
(三)指令
之前我們談到的ng-app,ng-blind全是AngularJS的內(nèi)部命令,命令是綁定在DOM元素上的函數(shù),其可用之處在于輔助定義應(yīng)用程序的視圖,可通過調(diào)用方法和定義行為以及綁定controller和$scope對象。像上文所說,可使用命令來展開btml標(biāo)簽,并讓加上新的標(biāo)簽來完成特別的功能。
(四)依賴注入
AngularJS的另外一個有價值的內(nèi)容就是依賴注入,即人們所說的簡便得獲得想要的東西但又不需要去建設(shè)其所依附的東西,這是一種最少知識原則設(shè)計模式的一個表現(xiàn),詳細(xì)得說就是指當(dāng)數(shù)據(jù)綁定后,能夠立馬注入$scope對象到controler內(nèi)對數(shù)據(jù)的邏輯實施加工,而不用任一函數(shù)再去創(chuàng)建這個對象。
在實際的編程工作中,依賴注入在很大意義上使得動態(tài)web應(yīng)用的開發(fā)得以加速。
從目前的情況來看AngularJS在前端框架中慢慢變得主流,但這并不是說明就沒有更好的替代品可以去替代,不過這一框架獲得了很多的開發(fā)者和公司的看好,對于個人而言,在AngularJS上的投資是一個非常安全的賭注,并且在未來的幾年將會獲得非常豐厚的回報,這對創(chuàng)業(yè)的人來說,建立一個幫助AngularJS開發(fā)者的團隊,就可以產(chǎn)生非常巨大的利益,從上面對AngularJS的分析來看,AngularJS必將成為下一代web開發(fā)的一項重要技術(shù)。
參考文獻:
[1]董英茹.簡談AngularJS在下一代Web開發(fā)中的應(yīng)用[J].軟件工程師,2015,(5):30-31.
[2]陳濤.基于AngularJS和Bootstrap聊天室的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2015,(9):91-92,95.
[3]金稱雄,陳佳泉,鄭月齋等.基于AngularJS學(xué)生活動推廣平臺的設(shè)計與實現(xiàn)[J].科學(xué)導(dǎo)報,2015,(17):232.
[4]李紅.主流Javascript框架比較與分析[J].鞍山師范學(xué)院學(xué)報,2015,(4):40-47.
[5]張豐麒,王飛.ReactJS的新特性在Web開發(fā)中的應(yīng)用[J].移動信息,2015,(10):71-72.