Node.js:開(kāi)發(fā)資源和技術(shù)棧整理">Node.js:開(kāi)發(fā)資源和技術(shù)棧整理
719
2022-05-29
AngularJS?是一個(gè)為動(dòng)態(tài)WEB應(yīng)用設(shè)計(jì)的結(jié)構(gòu)框架。它能讓你使用HTML作為模板語(yǔ)言,通過(guò)擴(kuò)展HTML的語(yǔ)法,讓你能更清楚、簡(jiǎn)潔地構(gòu)建你的應(yīng)用組件。
它的創(chuàng)新點(diǎn)在于,利用?數(shù)據(jù)綁定?和?依賴注入,它使你不用再寫大量的代碼了。這些全都是通過(guò)瀏覽器端的Javascript實(shí)現(xiàn),這也使得它能夠完美地和任何服務(wù)器端技術(shù)結(jié)合。
AngularJS的“禪道(理念)”
Angular信奉的是,當(dāng)組建視圖(UI)同時(shí)又要寫軟件邏輯時(shí),聲明式的代碼會(huì)比命令式的代碼好得多,盡管命令式的代碼非常適合用來(lái)表述業(yè)務(wù)邏輯。
將DOM操作和應(yīng)用邏輯解耦是一種非常好的思路,它能大大改善代碼的可調(diào)性;
將測(cè)試和開(kāi)發(fā)?同等看待是一種非常非常好的思路,測(cè)試的難度在很大程度上取決于代碼的結(jié)構(gòu);
將客戶端和服務(wù)器端解耦是一種特別好的做法,它能使兩邊并行開(kāi)發(fā),并且使兩邊代碼都能實(shí)現(xiàn)重用;
如果框架能夠在整個(gè)開(kāi)發(fā)流程里都引導(dǎo)著開(kāi)發(fā)者:從設(shè)計(jì)UI,到編寫業(yè)務(wù)邏輯,再到測(cè)試,那對(duì)開(kāi)發(fā)者將是極大的幫助;
“化繁為簡(jiǎn),化簡(jiǎn)為零”總是好的。
AngularJS能將你從以下的噩夢(mèng)中解脫出來(lái):
使用回調(diào):?回調(diào)的使用會(huì)打亂你的代碼的可讀性,讓你的代碼變得支離破碎,很難看清本來(lái)的業(yè)務(wù)邏輯。移除一些常見(jiàn)的代碼,例如回調(diào),是件好事。
大幅度地減少你因?yàn)镴avaScript這門語(yǔ)言的設(shè)計(jì)而不得不寫的代碼,能讓你把自己應(yīng)用的邏輯看得更清楚。
手動(dòng)編寫操作DOM元素的代碼:操作DOM是AJAX應(yīng)用很基礎(chǔ)的一部分,但它也總是很“笨重”并且容易出錯(cuò)。
用聲明的方式描述的UI界面可隨著應(yīng)用狀態(tài)的改變而變化,能讓你從編寫低級(jí)的DOM操作代碼中解脫出來(lái)。絕大部分用AngularJS寫的應(yīng)用里,開(kāi)發(fā)者都不用再自己去寫操作DOM的代碼,不過(guò)如果你想的話還是可以去寫。
對(duì)UI界面讀寫數(shù)據(jù):?AJAX應(yīng)用的很大一部是CRUD操作。一個(gè)經(jīng)典的流程是把服務(wù)端的數(shù)據(jù)組建成內(nèi)部對(duì)象,再把對(duì)象編成HTML表單,用戶修改表單后再驗(yàn)證表單,
如果有錯(cuò)再顯示錯(cuò)誤,然后將數(shù)據(jù)重新組建成內(nèi)部對(duì)象,再返回給服務(wù)器。這個(gè)流程里有太多太多要重復(fù)寫的代碼,使得代碼看起來(lái)總是在描述應(yīng)用的全部執(zhí)行流程,而不是具體的業(yè)務(wù)邏輯和業(yè)務(wù)細(xì)節(jié)。
開(kāi)始前得寫大量的基礎(chǔ)性的代碼:?通常你需要寫很多的基礎(chǔ)性的代碼才能實(shí)現(xiàn)一個(gè)“Hello?World”的應(yīng)用。用AngularJS的話,它會(huì)提供一些服務(wù)讓你很容易地正式開(kāi)始寫你的應(yīng)用,
而這些服務(wù)都是以一種Guice-like?dependency-injection式的依賴注入自動(dòng)加入到你的應(yīng)用中去的,這讓你能很快的進(jìn)入你應(yīng)用的具體開(kāi)發(fā)。特別的是,你還能全盤掌握自動(dòng)化測(cè)試的初始化過(guò)程。
良好的項(xiàng)目架構(gòu)方式,如下:
Angularjs的模塊化思想:首先創(chuàng)建一個(gè)module,其他指令附著其上。如下圖所示:
下圖為Angular的內(nèi)核結(jié)構(gòu):
ng官方推薦的模塊切分方式,如下圖所示:
Angular AngularJS 移動(dòng)APP
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。