這篇文章主要介紹了angular簡介和其特色介紹,本文講解了關於和jquery的比較、關於適用場合、關於UI的結合、關於angularjs的特色等內容,須要的朋友能夠參考下之前開發(web或者移動端)前端主要使用jQuery+原生js,若是使用某些前端UI框架的話,它本身還可能提供一些API可使用。並且目前不少UI框架都是基於jQuery的,因此說一下由jQuery跨到angularjs跨度較大,研究了一段時間的angularjs ,下面從總體上說說感覺吧:html
關於和jquery的比較前端
首先angular是一個mvc框架,它與jquery不一樣之處在於,前者致力於mvc代碼解耦,採用model,controller以及view方式去組織代碼,然後者提供給你了不少APi函數,你能夠不用寫不少原生js去實現比較複雜的效果,好比說動畫,$.animate,這樣的效果若是須要原生js來寫的話,代碼量將會比較龐大;jquery
其次,jQuery沒有定義你的代碼如何組織,你能夠將它放在一個單獨的js文件中進行引用,也能夠直接寫在頁面中採用script標籤進行包裹,甚至能夠直接之內聯的方式寫在html標籤中,可是angularjs會將一個HTML頁面分紅若干個模塊,每一個模塊均可以本身的scope,service以及directive,各個模塊之間也能夠進行通訊,可是總體上結構是比較清晰的,就是說其代碼組織方式是模塊化的。git
最後,jQuery的思想是先設計好頁面,而後在已有頁面的基礎上進行dom操做後展現頁面,可是angular的view可能僅僅是一個框架,對view的dom操做或者時間監聽都是在directive中實現的,並且通常狀況下不多本身直接去寫Dom操做代碼,只要你監聽model。model發生變化後view也會發生變化。angularjs
關於適用場合github
jQuery應該適用於大多數web開發,移動端也有(jQuerymobile),angularjs有人說更適合作SPA(我我的認爲在手機上的SPA可能會引起性能上的問題,由於它的髒檢查機制會影響性能),在web端,一些CRUD的應用或者管理類軟件仍是可使用的(固然這裏的理解可能不必定準確,會隨着深刻學習更多去了解和使用)。web
關於UI的結合bootstrap
開發任何產品都須要用到前端UI,目前不少UI是基於jQuery的,這意味着你若是要用angularjs和這些Ui組件的話,須要用angularjs的directive去重寫些組件,這一過程是比較麻煩的,所幸的是,angular給咱們提供了一些UI組件可使用(web端主要是結合bootstrap前端組件),http://angular-ui.github.io/,而在移動端主要是結合ionic框架http://ionicframework.com/,可是隨着angular的發展,不少HTML5的前端框架也慢慢集成了angularjs版本可供使用。後端
關於angularjs的特色設計模式
1.數據的雙向綁定:這多是其最激動人心的特性吧,view層的數據和model層的數據是雙向綁定的,其中之一發生更改,另外一方會隨之變化,這不用你寫任何代碼!(想一想jQuery方式下怎麼作吧)
2.代碼模塊化,每一個模塊的代碼獨立擁有本身的做用域,model,controller等。
3.強大的directive能夠將不少功能封裝成HTML的tag,屬性或者註釋等,這大大美化了HTML的結構,加強了可閱讀性;
4.依賴注入,將這種後端語言的設計模式賦予前端代碼,這意味着前端的代碼能夠提升重用性和靈活性,將來的模式可能將大量操做放在客戶端,服務端只提供數據來源和其餘客戶端沒法完成的操做;
5.測試驅動開發,angularjs一開始就以此爲目標,使用angular開發的應用能夠很容易地進行單元測試和端對端測試,這解決了傳統的js代碼難以測試和維護的缺陷
以上就是研究angularjs一段時間得出的結論,其中某些地方可能有所疏漏,不要緊,接下來會展開其中某一點一步步去學習。