轉載於 http://www.csdn.net/article/2013-07-04/2816111-javascript-libraries
所謂JS庫就是預先寫好的JS程式庫,用於簡化以JS為基礎的開發程式,尤其是對AJAX和其他以Web為中心技術的JS代碼集。JS的首要用途是將編寫的功能內嵌在HTML頁面,並與頁面的物件模型(DOM)進行互動。
很多JS庫很容易和其他Web開發技術進行整合,例如CSS、 PHP、Ruby、和Java。許多程式庫可以檢測運行環境之間的差異,刪除一些應用程式,以滿足整合需求。文章搜集了20個JS庫,幫你處理與開發相關的問題,讓你的網站在競爭中領先一步。
1. Tracking.js
Tracking.js是一個獨立的JS庫,可以跟蹤照相機即時收到的資料。跟蹤對象既可以是色彩也可以是人物,當檢測到某個特定的顏色時或人物/臉龐/身體出現移動的時候,我們可以觸發JS事件。
2. Aristochart
Aristochart是一個不依賴於其它庫的JS庫,它能夠使用Canvas建立靜態2D線形圖表。這個庫專註於打造客戶化設計,提供多種選項用於更改設計、標籤等等。
3. Hitch
Hitch是一個輕量級的JS庫,能夠向CSS檔案添加表現能力。同時具備CSS預先處理程式能力,比如添加首碼或變數,還有一些其他的功能。這個程式庫有多個隨時可用的表達方式,如“any of,all of,has...”,並允許我們定義任何一種方式(稱為hitches)。
4. Cesium
Cesium是基於WebGL的JS繪圖庫,支援3種不同的視圖:3D globe、2D map、2.5D Columbus View,相互轉換隻要一行代碼而已!繪畫各種形狀,反白特定地區以及使用滑鼠或觸摸板與地圖進行互動是非常簡單的。Cesium作為一個獨立的JS檔案可以在所有主流瀏覽器上運行,包括手機上。
5. Two.js
它是一個2D的繪圖API,一個優秀的JS庫,用於較新的Web瀏覽器,可基於不同上下文繪製,包括svg、canvas和webgl。 這個庫目前只支援形狀(非文本或圖片),允許匯入SVG資料。當需要一起轉變的時候,Two.js可以彙總多個有用的元素。其中還有一個內建動畫迴圈方法來繪製各種圖形,還具有使之個人化的多個選項。
6. Sequel.js
Sequel.js是一個輕量級JS庫,有助於通過一個物件導向的API來構建SQL查詢字串,既可以在瀏覽器上運行,也可以在所有標準的SQL查詢上運行。
7. Draggabilly
這是一個可以讓頁面元素可拖動的獨立JS庫,Draggabilly能夠幫你輕鬆實現網頁上各種元素的拖放操作。可以在一個限制的容器範圍內拖動頁面元素,對於每一個事件(start,move,end)都有回調,可以返回當前元素的位置。它可用於大部分瀏覽器(IE8+)並內建支援觸摸事件。
8. Zebra
此JS庫帶有一串富使用者介面組件,可以建立類似於案頭效果布局。UI元素由HTML5 canvas構建,由CSS著色,預期在所有瀏覽器中渲染出相同的效果。擁有30多個UI元素,包括grid、tabs、menu、form elements、menu等等。
9. Formula.js
這個JS庫為Web開發人員帶來了大多數公式,公式列舉了多重分類——日期/時間,文本,邏輯,金融等等。此外,除了在用戶端運行,還在服務端(即將發布)上運行。
10. Chart.js
這是一個給人印象深刻的JS獨立圖表庫,大小不足5kb的程式包,建立在HTML5 canvas之上。目前支援6種圖表類型:直線圖、橫條圖、雷達圖、餅狀圖、柱狀圖和地區地區圖。顏色、字型、邊框、大小都可以根據使用者需求自訂。
11. Flippant.js
這是一個迷你JS和CSS庫,允許自動翻轉案頭上的東西。不依賴任何其它類庫,便於自訂,翻轉功能效果好。
12. React
React是一個用來構建使用者介面的JS庫,可以高效靈活地與你之前使用的類庫和架構結合使用。
13. PathFinding.js
PathFinding.js是JS裡一個綜合路徑尋找類庫,其目的是提供一個可以方便結合到網路遊戲裡的路徑尋找類庫。它可以在服務端運行,也可以在瀏覽器上運行。提供線上示範演算法是怎樣執行的。當具體使用路徑尋找器時,你可以通過其它的參數來指示該用哪一個策略。
14. Reactor.js
這是一個用於響應式編程的輕量級類庫。它提供的反應變數,當它們所依賴的的事物發生改變的時候可以實現自動更新。這和電子資料工作表的運作方式有點相似,當一個儲存格的數值有所變化的時候,與其有聯絡的其他儲存格數值也會變化。
15. Bootbox.js
Bootbox.js是一個很小的JS庫,允許使用Twitter的Bootstrap模式建立程式交談視窗,不需要擔心建立、管理或刪除任何任何需要的DOM元素或JS事件處理常式。
16. Parallel.js
Parallel.js在JS裡是一個用於多核處理的微型庫,它的建立充分發揮了成熟的Web-workers API,JS的確是很快,但由於它的單線程計算模式,它缺乏了與其對等語言的平行計算功能。
17. SVG.js
SVG.js可以通過SVG進行操作和手動繪畫,此庫輕便獨立,功能豐富,有內建方法可以建立各種形狀——三角形、圓形、多邊形,或自訂圖形。
18. Packery
這是一個使用“裝箱演算法”的JS布局庫,這是“補漏”的體面說法。Packery的布局可以是井然有序的,也可以是錯亂無序的。元素可以被固定在相應的位置,也可以隨意拖放。
19. FPS Meter
FPS Meter是一個簡單的JS庫,用來製作迷人的、快速的、可主題化的FPS儀錶。他可以測量出每秒的幀數,幀之間的毫秒數,以及使用.tickStart()方法時,渲染一幀所需要的毫秒數。
20. Howler.js
Howler.js一個是JS庫,通過預設運行在網頁音頻API上,當瀏覽器不支援時退回到HTML5音頻。為了保證跨瀏覽器的相容性,它允許接收多種檔案格式。該庫能同時緩衝和播放多個聲音,還有迴圈播放功能,淡入淡出效果和標準的多媒體控制功能。
原文:CodeGeekz