首頁 >web前端 >js教程 >AngularJS的優點和缺點分別有哪些? angularjs的優缺點介紹

AngularJS的優點和缺點分別有哪些? angularjs的優缺點介紹

寻∝梦
寻∝梦原創
2018-09-08 16:26:561623瀏覽

本篇文章主要的介紹了關於angularjs的優點和缺點的介紹,還有angularjs的發展介紹。現在就讓我們一起來看這篇文章吧

AngularJS的前世今生

      在Web開發領域,我們一般使用HTML作為前端頁面元素的宣告式語言,使用CSS技術作為展示樣式的描述語言,JavaScript作為業務處理互動的命令式語言。當我們建構非常複雜的Web應用時,純粹而有限的HTML就顯得非常不足,Javascript本身也會隨著專案程式碼量的膨脹而難以維護和管理,研發工期和成本也會隨之難以控制。這時候,我們一般會使用一些類別庫(例如jQuery、Dojo等)或框架(例如Backbone、Ember、ExtJS等)來提升開發效率,進而降低專案的工期和成本,也方便後續的維護與管理。

      而AngularJS不僅是概念先進(逼格高)的前端開發框架,更是端對端(End to End)的解決方案。 AngularJS遵從架構設計中的MVC模式,提倡展現、資料和邏輯處理元件的鬆散耦合(類似Flex和WPF)。 AngularJS透過指令技術對傳統HTML實現了自然擴展,透過編譯技術實現了資料模型與展現視圖的雙向自動同步,從而消除了前端開發中繁瑣複雜的DOM操作(想想看那些一片片的selector)。最後透過模組化設計解決了JS程式碼管理維護和按需載入的問題,解放了廣大前端程式設計師(以及後端程式設計師)同胞完成前端開發任務的生產力。而且這種解耦本身,也對前端的自動化測試技術提供了良好的支援。

AngularJS的優點和缺點分別有哪些? angularjs的優缺點介紹

優點:

#1. 模板功能強大豐富,並且是聲明式的,自帶了豐富的Angular指令;

2. 是一個比較完善的前端MVVM框架,包含模板,資料雙向綁定,路由,模組化,服務,過濾器,依賴注入等所有功能;

3. 自訂Directive,比jQuery插件還靈活,但是需要深入了解Directive的一些特性,簡單的封裝容易,複雜一點官方沒有提供詳細的介紹文檔,我們可以通過閱讀源代碼來找到某些我們需要的東西,如:在directive使用$parse;

4. ng模組化比較大膽的引入了Java的一些東西(依賴注入),能夠很容易的寫出可復用的程式碼,對於敏捷開發的團隊來說非常有幫助,我們的專案從上線到目前,UI變化很大,在摸索中迭代產品,但js的程式碼基本上很少改動。

5. 補充:Angular支援單元測試和e2e-testing。

        #註:最好的一點是angularjs的雙向綁定以及他的模板層使用。

缺點:

1.驗證功能錯誤訊息顯示比較薄弱,需要寫很多範本標籤;

2. ngView只能有一個,不能嵌套多個視圖,雖然有angular-ui/ui-router 解決,但ui-router 對於URL的控制不是很靈活,必須是嵌套式的;

3. 對於特別複雜的應用場景,看起來像效能有點問題,特別是在Windows下使用chrome瀏覽器,不知道是記憶體洩漏了還是什麼其他問題,沒有找到好的解決方案,奇怪的是在IE10下反而很快,對此還在觀察中;

4. 這次從1.0.X升級到1.2.X,貌似有比較大的調整,沒有完美兼容低版本,升級之後可能會導致一個相容性的BUG,具體詳細資訊參考官方文件AngularJS,對應的中文版本:Angular 1.0到1.2 遷移指南,現在angularjs4都出來了,但是使用angularjs2的比較多;

5. ng提倡在控制器裡面不要有操作DOM的程式碼,對於一些jQuery 插件的使用,如果想不破壞程式碼的整潔性,需要寫一些directive去封裝插件,但是現在有很多插件的版本已經支援Angular了,最好能夠和cordova插件結合進行混合式開發;



6. Angular 太笨重了。

        注:最不爽的一點是AngularJS的路徑機制,容易出問題。  

這篇文章到這裡就結束了(想看更多就到PHP中文網AngularJS使用手冊中學習),有問題的可以在下方留言提問。

以上是AngularJS的優點和缺點分別有哪些? angularjs的優缺點介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn