Angular.JS出了什么問題?

jopen 10年前發布 | 9K 次閱讀 Angular.JS

1. 應用邏輯和結構通過HTML實現,這對于初學者來說非常方便(看看這里不需要JS,非常神奇!),但是對于實際開發來說有點可怕。我們是程序員,我們要寫 代碼并調試程序。我真的不希望在基于字符串解析的框架上調試我的代碼。HTML應該用來呈現APP,而不是展現源代碼。


  1. 雙向綁定是反模式的。這里有太多的例外條件。將模型(Model)綁定到視圖(View)是非常正常的,但是將視圖綁定到模型Model就是一個完全不同的故事了。</p>


  2. Dirty checking(更新檢查),訪問器(accessors,Ember 和 Backbone),Object.observe和所有類似這樣的東西都錯了。他們非常慢而且脆弱,顯而易見,它會像一條餓狗一樣消耗你手機的電池。你 真的不需要這樣。你還不如用非死book的Flux 。 而且你永遠也無法管理N個類中的綁定了數個事件偵聽上的APP模型數據,他們在相互偵聽。寫簡單點吧。</p>


  3. 重復的APP應用結構加上孤立的angular.module。你每為你的應用添加一些功能,你都要: 1) 改HTML. 2) 改它的控制器(Controller)</p>


  4. Angular很慢。因為框架一直在變動檢測(dirty checking)和解析HTML。你沒有辦法修復有缺陷的設計。我需要舉幾個它對Web應用影響的例子嗎?我估計已經不用了。</p>


  5. 沒有服務器端的頁面渲染,你的服務永遠不會被黑了。你沒有辦法修復有缺陷的設計。再見統一的Web應用。</p>


  6. Angular很難學。諷刺的是它因為對于初學者很容易上手而流行。但是這種簡單是建立在復雜之上的。你不得不去學一大堆Angular特定的模式,并且只能在Angular自己的世界里使用。是的,這是有缺陷的設計的結果。這非常可悲而且荒謬(例子) 。抽象層可以解決很多問題,除了會引用非常多非常多的抽象層。</p>


  7. Google不是在他們的生產環境的應用中使用Angular,像他們的Gmail和Gplus(Google Plus。</p>


  8. 廠家鎖定。因為Google自己不使用Angular,他們隨時可以中止Angular。你知道Google始終是一家敏捷公司。對于他們來說消滅一個百萬人使用的系統沒什么問題。(例子)</p>


  9. 不久整個系統就會被重寫,對于框架來說沒什么,對于你來說就有點痛苦了。</p>

    Angular.js不是所有地方都很糟糕,它背后的團隊非常卓越。Vojta Jína 寫了一個牛B的 DI container 項目。 Misko Hevery 寫了一些關于 TDD 方面很好的文章編寫可測試的代碼。 還有更多。


    但是我估計這個項目剛開始的目標就錯了,因此我估計有一天Angular就會消亡
    。你值得為Angular冒這個風險嗎?

    附: 我寫這篇文章的目標是要讓人們不要使用AngularJS,就像Angular要讓人們不要使用jQuery一樣。是時侯改變了。

    相關閱讀:

    保衛AngularJS [為對此文的回應]

    沒必要害怕Angular.Js

    我們拋棄了AngularJS:單頁面應用的5大缺陷

    原文地址: medium.com

    來自:http://ourjs.com/detail/angular-js%E5%87%BA%E4%BA%86%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98-
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!