跨平臺(tái)移動(dòng)APP開(kāi)發(fā)進(jìn)階(四)AngularJS簡(jiǎn)介

      網(wǎng)友投稿 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é)。

      跨平臺(tái)移動(dòng)APP開(kāi)發(fā)進(jìn)階(四)AngularJS簡(jiǎn)介

      開(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)容。

      上一篇:TLZ7x-EasyEVM開(kāi)發(fā)板XC7Z020基于SD卡啟動(dòng)裸機(jī)程序
      下一篇:PS基礎(chǔ)之移動(dòng)工具和分布對(duì)齊
      相關(guān)文章
      亚洲色欲或者高潮影院| 亚洲不卡中文字幕无码| 337p日本欧洲亚洲大胆艺术| 国产亚洲A∨片在线观看| 亚洲国产成人五月综合网| 国产亚洲福利精品一区二区| 久久精品国产亚洲AV| 男人的天堂av亚洲一区2区| 亚洲第一se情网站| 看亚洲a级一级毛片| xvideos亚洲永久网址| 亚洲国产专区一区| 4338×亚洲全国最大色成网站| 亚洲第一页综合图片自拍| 亚洲天堂中文字幕在线| 亚洲男人av香蕉爽爽爽爽| 亚洲无线一二三四区手机| 国产偷国产偷亚洲清高动态图 | 国产福利电影一区二区三区,亚洲国模精品一区 | 亚洲免费中文字幕| 亚洲一区二区三区无码国产| 亚洲不卡在线观看| 日韩亚洲人成在线| 色噜噜噜噜亚洲第一| 亚洲伊人久久成综合人影院| 亚洲综合伊人久久大杳蕉| 亚洲成av人在线视| 久久精品亚洲中文字幕无码麻豆| 久久亚洲精品国产精品| 亚洲午夜一区二区电影院| 在线a亚洲老鸭窝天堂av高清| 亚洲sm另类一区二区三区| 亚洲A丁香五香天堂网| 国产自偷亚洲精品页65页| 亚洲精品无码不卡在线播HE| 亚洲狠狠综合久久| 亚洲婷婷第一狠人综合精品| 亚洲hairy多毛pics大全| 亚洲午夜精品一级在线播放放| 亚洲精品国产精品乱码在线观看| 亚洲国产精品第一区二区|