天天看點

主題:大膽預測下JS架構的走勢(ZT)

MooTools将在接下來的幾年内像jQuery一樣迅速走紅

而jQuery則會慢慢銷聲匿迹

YUI将不尴不尬的活着,YUI 3.x将成為小部分人的玩物,大部分人的忽視物

理由:

  1. jQuery最大的特點是簡潔易用,強大的CSS選擇器和簡潔易用的API,可以說是以使用者為中心的理念在JS架構裡的一次完勝。但jQuery 終究隻是個人英雄主義的一個産物,其内部的基本架構、代碼的可維護性等方面已漸漸散發出腐敗的氣息。jQuery像是一個一夜走紅的神童,如今已漸漸的江郎才盡,感覺很難再有大的突破。
  2. YUI則帶着濃厚的“官方、團隊”js庫的氣息。其嚴謹的代碼組織風格,以及對web開發思想(指Unobtrusive, Progressive Enhancement等)的融入,讓YUI成為不少開發團隊的選擇。但YUI 2.x緩慢的更新速度,以及對新思想的接納程度,很多時候讓人恨得牙癢癢,太慢了,和其它新生代架構相比,YUI 2.x像是一個步履蹒跚的老年人,讓人很無奈。YUI 3.x目前還處于preview階段,可以将其看成一個全新的JS庫(底層代碼全重寫了,組織風格做了極大的調整)。YUI 3.x裡最明顯的一個改變是,将jQuery等架構裡的CSS選擇器、基本元素(jQuery裡jQuery對象,MooTools裡的Element對象)等概念正式化,成為架構最基本的組成部分(在YUI 2.5.x裡也有CSS Selector和Element,但一直處于beta階段,功能很雞肋)。YUI 3.x自贊的動态加載,在新生代架構裡也是早就有了的。仔細比較後,YUI 3.x并沒有帶來什麼新東西,更多的隻是吸收接納了新生代架構的許多理念。對YUI的前景,就如對YAHOO的期待的一樣,我相信它會存活着,但也許僅僅就是這樣活着下去。
  3. MooTools是開源社群形式下發展起來的一個js架構。在它的早期代碼裡,能感覺到Prototype, jQuery等架構的痕迹,但它一直保持着開放的心态,小步前進,快速更新。其代碼組織風格、對無侵入等Web思想的了解,各個方面都呈現出少年新貴、武林新秀的姿态來。不僅僅是對其它架構優點的吸收,MooTools每次更新經常給人驚喜:比如lambda表達式,比如Swiff, 還有非常小但很nice的chain操作的改進等等,一點一滴中能看出MooTools的開發者們開放的心态和極其活躍的思路。jQuery是個人英雄,YUI是官僚體系,MooTools是開放團隊,對我來說,一個開放的、活躍的團隊下的産物是最讓我放心的。
  4. Ext最早叫做YUI-Ext. 一個使用YUI的牛人Jack Slocum, 用YUI用得不大爽,給YUI官方提意見,無奈YUI更新速度忒慢了,于是Slocum叫了聲nnd,挽着袖子便自己幹了起來。這一幹不得了,Ext迅速流行,噼裡啪啦的如今已成立公司,過得很滋潤。Ext我用得不多,直覺裡感覺Ext過于龐大繁複,也許會在web app的應用裡有一番作為,但對于占據網際網路上大部分web page來說,Ext的應用并不樂觀。

繼續閱讀