JavaScript 函數庫究竟有多豐富?
持續早上 JavaScript 與 jQuery 的話題...有人問我說,「JavaScript 的函數庫究竟有多豐富?」雖然不至於如佛家說的「如恆河沙數」或「如天上繁星」,但「族繁不及備載」的程度是一定有的。請參考底下這一篇:
20 JavaScript Libraries to Simplify Development Tasks
http://codegeekz.com/javascript-libraries/
其中,最常見的有下列這幾種(我個人接觸經驗認為的啦):
1. jQuery(2006)
- 以「最短程式碼、最大生產力」見長。短短幾行,就能寫出威力十足的網頁特效。
- https://zh.wikipedia.org/wiki/JQuery
2. YUI (Yahoo! User Interface) (2005)
- 提供豐富的使用者介面(表單、導覽列…)
- http://en.wikipedia.org/wiki/YUI_Library
3. ExtJS(2006)
- 基於 YUI 上建立的。
- 提供大量美觀的視覺介面。
- 2010 年改名為 Sencha(日本話的「煎茶」)。
- http://zh.wikipedia.org/wiki/Extjs
4. Prototype (2005)
- 支援標準的物件導向機制,補足 JavaScript 與正規物件導向語言之間的鴻溝。
- 有些次要 Bugs 沒處理,評價兩極化。
- http://en.wikipedia.org/wiki/Prototype_JavaScript_Framework
5. script.aculo.us
- 基於 Prototype 之上而建立的。
- 目前為止,最強的動畫函數庫!
- http://en.wikipedia.org/wiki/Script.aculo.us
6. MooTools (2006)
- 基於 Prototype 之上而建立的。
- 強調「模組化」與「物件導向」,適合拿來開發大型的 JavaScript 程式。
- http://en.wikipedia.org/wiki/MooTools
7. Dojo (2004)
- 用於「跨平台」、「快速開發」等目的的函數庫。
- 可寫出「讓不同瀏覽器,執行效果都相等」的 JavaScript 程式碼。
- http://en.wikipedia.org/wiki/Dojo_Toolkit
8. AngularJS(2009)
- 令人注目的後起之秀,由 Google 主導研發。
- 最早是為了做出「單一網頁架構(Single Page Architecture, 簡稱 SPA)」,就是那種所有東西都放在同一頁,一直捲就會動態載入的網頁。Google 已經將它用在「圖片搜尋」的結果頁,成為目前製作「SPA」時的不二選擇。
- 很強調 JavaScript 與 DOM 的「鬆散耦合(Loosely Coupled)」。認為與 DOM 結合得太緊密不利於程式碼重用,故大量利用 Design Pattern 中的「Dependency Injection(相依注入)」(也就是在 JavaScript 與 DOM 之間多加一層軟體層),降低 JavaScript 與 DOM 之間的耦合程度。
- http://zh.wikipedia.org/wiki/AngularJS
上述這些函數庫,最後都會轉化為 JavaScript 語言,然後丟給瀏覽器去解譯。感覺上,JavaScript 快成了網頁世界的「組合語言(Assembly)」了... XD。
這裡有所有 JavaScript 函數庫、軟體框架的功能比較,請參考:
http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
Search