對幾個 javascript framework 的評價

來源:互聯網
上載者:User

近日剛好在無憂裡看到一篇討論指令碼架構的文章,我想談談我對目前幾個指令碼架構的看法(Silverna、Dron Framework、Zerg、script_aculo_us、prototype、bindows、JSVM),(不過我得說一下前提,這裡是在討論架構而非單個功能):TNND,我這麼一寫,把國內外寫架構的人都得罪光了。

Silverna:
1、使用 <script> 標籤太多,使用者不可能知道要實現某個功能而需要載入哪些模組
2、重複載入過多,每個頁面不得不載入數量眾多,字元量巨大的指令碼,作為架構,你不可以把這一步重要的核心交給不可靠的瀏覽器本機快取
3、對單個指令檔的書寫約束太多,架構沒有了開放性

Dron Framework:
1、同上,沒有解決每個頁面載入過的指令碼緩衝
2、命名空間的寫法太死了,沒有 namespace 的封裝性
3、原始碼裡竟然還有中文,對DOM的事件處理竟然不使用監聽模式

Zerg:
1、這個太輕量級了,稱不上架構,只能說是一個指令碼代碼導引器

script_aculo_us:
1、用時間軸和效果庫封裝是它的精髓
2、同一效果在同一對象上的疊加很有問題
3、效果處理完成後,沒有打掃乾淨

prototype:
1、對這個架構即愛又恨,給正統的JS編程帶來了一股新氣,不管是從繼承還是類庫。
2、整一個檔案就是一大類庫,幾十KB的代碼載入起來不小。
3、類庫和基礎類的擴充運算量比較大,導致頁面載入之時有遲純。
4、其實它算不上是一個架構,沒有模組的載入,沒有命名空間,沒有緩衝策略。

bindows:
1、一個成熟的架構,各個方面考慮都比較周全,實現的都很標準。
2、每個類的構造器繼承,成員繼承,析構等都做得非常規範。
3、同上面幾個架構一樣,沒有考慮過如何處理緩衝,以至於載入指令碼嚴重影響頁面的載入。
4、沒有 namespace  的概念。
5、嚴重依賴XML,為了相容每種瀏覽器它是煞費苦心,但效果不甚完美。
6、體積過於臃腫,升級換代慢。

JSVM:
1、緩衝的處理,命名空間的封裝,指令碼模組化的匯入是它的亮點。可以說是繼 bindows 之後的又一個成熟架構。
2、整個架構的封裝太按照JAVA模式,事無巨細地封裝,導致整個架構的臃腫。
3、核心檔案的載入量偏大,雖然有緩衝策略,但能夠分步載入的就不要在核心區載入。
4、整體沒有太大的致命傷,只是各人取向不同。
5、在這個架構的基礎上沒有很多的成熟產品推出,導致別人對架構的認識不足,本身的推廣也不夠。

至於象JSON、DOJO那樣的以功能點為實現目標的東西,在這次評論指令碼架構當中就不做評價了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.