對angular的整體感受

時(shí)間:2022-12-16 17:33:39 讀后感 我要投稿
  • 相關(guān)推薦

對angular的整體感受

  以前開(kāi)發(fā)(web或者移動(dòng)端)前端主要使用jQuery+原生js,如果使用某些前端UI框架的話(huà),它自己還可能提供一些API可以使用。而且目前很多UI框架都是基于jQuery的,所以說(shuō)一下由jQuery跨到angularjs跨度較大,研究了一段時(shí)間的angularjs ,下面從整體上說(shuō)說(shuō)感受吧:

  關(guān)于和jquery的比較

  首先angular是一個(gè)mvc框架,它與jquery不同之處在于,前者致力于mvc代碼解耦,采用model,controller以及view方式去組織代碼,而后者提供給你了很多APi函數,你可以不用寫(xiě)很多原生js去實(shí)現比較復雜的效果,比如說(shuō)動(dòng)畫(huà),$.animate,這樣的效果如果需要原生js來(lái)寫(xiě)的話(huà),代碼量將會(huì )比較龐大;

  其次,jQuery沒(méi)有定義你的代碼如何組織,你可以將它放在一個(gè)單獨的js文件中進(jìn)行引用,也可以直接寫(xiě)在頁(yè)面中采用script標簽進(jìn)行包裹,甚至可以直接以?xún)嚷?lián)的方式寫(xiě)在html標簽中,但是angularjs會(huì )將一個(gè)HTML頁(yè)面分成若干個(gè)模塊,每個(gè)模塊都可以自己的scope,service以及directive,各個(gè)模塊之間也可以進(jìn)行通信,但是整體上結構是比較清晰的,就是說(shuō)其代碼組織方式是模塊化的。

  最后,jQuery的思想是先設計好頁(yè)面,然后在已有頁(yè)面的基礎上進(jìn)行dom操作后展示頁(yè)面,但是angular的view可能僅僅是一個(gè)框架,對view的dom操作或者時(shí)間監聽(tīng)都是在directive中實(shí)現的,而且一般情況下很少自己直接去寫(xiě)Dom操作代碼,只要你監聽(tīng)model。model發(fā)生變化后view也會(huì )發(fā)生變化。

  關(guān)于適用場(chǎng)合

  jQuery應該適用于大多數web開(kāi)發(fā),移動(dòng)端也有(jQuerymobile),angularjs有人說(shuō)更適合做SPA(我個(gè)人認為在手機上的SPA可能會(huì )引發(fā)性能上的問(wèn)題,因為它的臟檢查機制會(huì )影響性能),在web端,一些CRUD的應用或者管理類(lèi)軟件還是可以使用的(當然這里的理解可能不一定準確,會(huì )隨著(zhù)深入學(xué)習更多去了解和使用)。

  關(guān)于UI的結合

  開(kāi)發(fā)任何產(chǎn)品都需要用到前端UI,目前很多UI是基于jQuery的,這意味著(zhù)你如果要用angularjs和這些Ui組件的話(huà),需要用angularjs的directive去重寫(xiě)些組件,這一過(guò)程是比較麻煩的,所幸的是,angular給我們提供了一些UI組件可以使用(web端主要是結合bootstrap前端組件),http://angular-ui.github.io/,而在移動(dòng)端主要是結合ionic框架http://ionicframework.com/,但是隨著(zhù)angular的發(fā)展,很多HTML5的前端框架也慢慢集成了angularjs版本可供使用。

  關(guān)于angularjs的特點(diǎn)

  1.數據的雙向綁定:這可能是其最激動(dòng)人心的特性吧,view層的數據和model層的數據是雙向綁定的,其中之一發(fā)生更改,另一方會(huì )隨之變化,這不用你寫(xiě)任何代碼。ㄏ胂雑Query方式下怎么做吧)

  2.代碼模塊化,每個(gè)模塊的代碼獨立擁有自己的作用域,model,controller等。

  3.強大的directive可以將很多功能封裝成HTML的tag,屬性或者注釋等,這大大美化了HTML的結構,增強了可閱讀性;

  4.依賴(lài)注入,將這種后端語(yǔ)言的設計模式賦予前端代碼,這意味著(zhù)前端的代碼可以提高重用性和靈活性,未來(lái)的模式可能將大量操作放在客戶(hù)端,服務(wù)端只提供數據來(lái)源和其他客戶(hù)端無(wú)法完成的操作;

  5.測試驅動(dòng)開(kāi)發(fā),angularjs一開(kāi)始就以此為目標,使用angular開(kāi)發(fā)的應用可以很容易地進(jìn)行單元測試和端對端測試,這解決了傳統的js代碼難以測試和維護的缺陷

  以上就是研究angularjs一段時(shí)間得出的結論,其中某些地方可能有所疏漏,沒(méi)關(guān)系,接下來(lái)會(huì )展開(kāi)其中某一點(diǎn)一步步去學(xué)習。

【對angular的整體感受】相關(guān)文章:

整體部分整體教學(xué)談07-03

項目管理整體流程06-28

整體衣柜的保養方法07-01

冬季家居整體裝修07-03

談?wù)効荚囌w把握技巧07-02

整體轉讓合同07-04

部門(mén)整體績(jì)效監控報告01-01

整體衣柜廣告詞12-30

整體家居廣告語(yǔ)02-05

整體衣柜的計算方法06-27

99久久精品免费看国产一区二区三区|baoyu135国产精品t|40分钟97精品国产最大网站|久久综合丝袜日本网|欧美videosdesexo肥婆