十一個你值得關注的優秀 Javascript 庫
近些年來,誕生了不少優秀的前端開發工具(類庫)。JS的庫和框架能簡化工作流程、提供開發效率并更好地進行響應式設計。
鑒于 JavaScript 的庫實在太多了,就算你花很多時間和精力,也不一定能找到優秀而且適用(于項目)的庫。 (之前)我們已經討論過了 優秀的 JavaScript 框架 ,而今天我們會根據 Github 上 star 的增長數,篩選出出一些最好的 JavaScript 庫。 你很可能已經聽說過 jQuery 或者 React 的大名了,二者都是非常有用的 JavaScript 庫。當然,還有其他很多優秀的類庫。
其中一些庫幾乎是每個項目都會引入的,其他的一些(庫)則是專注于某些方面,當你的應用需要支持特殊的功能時就可以引入它們。為了更好地說明,我們按照類型整理出最好的 JavaScript 庫,現在就讓我們進入正題吧。
圖表 & 圖形
D3.js(Data-Driven Documents (譯者注:即數據驅動文檔)) 被譽為是在開源項目中最強大的數據可視化 JavaScript 庫。它擁有完善的生態,基于 D3.js ,你能使用海量的插件與庫。同時,社區的支持與大量的參考資料能使你輕易入門 D3.js 。
D3.js遵從 W3C 標準,幾乎支持所有的現代瀏覽器。盡管它沒有預建任何圖表,無法開箱即用,但它提供了非常多的例子與非常有用的特性,如:enter 與 exit 的選擇,能讓你非常容易定位 bug 與繪制圖表。
Chart.js是一個為小型項目提供繪制圖表功能的開源類庫。如果你需要簡單快速地繪制一個圖表,那個 Chart.js 可以幫到你。它擁有8種圖表類型,也可以組合使用,并提供強大的動畫功能。若你希望快速開展項目,我們推薦這個類庫,盡管它的功能并不多。Chartist.js 的特性都是類似的功能,它是基于 SVG 構建的,而 Chart.js 是基于 canvas。
FusionCharts被認為是目前最好的 Javascript 制圖庫。它是最全面的繪制圖表解決方案,包含超過90種表格與1000種圖,遠勝于Google Charts 和 MetricsGraphics。
如今,FusionCharts 可以自豪地說,它的使用者超過24,000,不乏來自白宮、Oracle, IBM, Microsoft, Google 及其他大公司的客戶。作為最流行的 JavaScript 庫之一,FusionCharts 的擴展性良好,支持各種瀏覽器與設備,包括 IE6,7,8等。然而,在非商業項目與個人項目中,可以使用含有水印的版本,但若要使用不包含水印的版本,則需要 購買許可 。
Google Charts允許你構造任何東西,從普通線圖到復雜的樹狀圖都毫無問題。它配備了大量的預制圖表、各種數據展示方式與多種自定義選項。(Google Charts)基于 HTML5 與 SVG 繪制圖表,因而可以確保不同瀏覽器與平臺之間的兼容性,為了兼顧老舊的 IE 版本,它還包含了 VML。
Google Charts 擁有詳盡的文檔與代碼注釋,并提供了漸進式的指導工具,能使任何想要使用 JavaScript 繪制圖表的開發者都可以很好地入門 Google Charts 。然而,由于文件都是由 Google 的服務器發送給你的應用,你必須在線才能看到繪制的圖表。
動畫
GSAP(GreenSock Animation Platform)是一個為大型企業便利地生成出色動畫的優秀框架。超過兩百萬的網站使用(GSAP),其中包括福特、耐克、 Adobe 、微軟、三星等大企業。
GSAP 在不同平臺(譯者注:PC端與移動端)和不同瀏覽器之間都有著良好的兼容性。它的特性基于 SVG 構建,能高效地完成 DOM 元素的拖動、旋轉、翻頁等。GSAP 也支持旋轉、3D轉換、按需加載等功能。
Bounce.js是一個基于 CSS3 構建的精巧 JavaScript 動畫庫,(通過使用它)你能輕易地讓創造出令人印象深刻的動畫。它預設了10款動畫,如rotate, swoosh, jelly, road runner(譯者注:我沒用過這個東東、不好翻譯、有使用經驗的同學麻煩告訴我一下應該如何翻譯)等,(通過使用它們)可以創造出流暢的動畫,你可以在任何項目中使用 Bounce.js 。
這個庫是 MIT 許可而且完全免費,當你不需要太多動畫類型、進行實驗項目或只是想嘗試一下使用動畫的時候,它是一個非常好的選擇。
Animate.css是一個允許你對特定對象添加精巧動畫的 CSS 庫。它使用 CSS3 預設了超過50種動畫,可添加到文本、表單、對象和圖片中。由于 Animate.css 體積很小且跨瀏覽器支持,使得它在移動端項目、滑動條、首頁等應用場景中大放異彩。
時間 & 日期
Moment.js是一個輕量級的日期庫,使得解析、操作、格式化日期和時間變得精確且簡單。它提供了多語言支持、持續時間(統計)、日歷表等,同時通過各種插件可以支持時區(切換)、整合 推ter 等功能。但最重要的還是它可以讓你避免直接操作原生的 JavaScript Date 對象(譯者注:Date對象還真是挺反人類的,曾在國際項目中吃過大虧),其次是可以省略復雜的(時間)解析過程且減少(你分析時間的)代碼量。
Date-fns是一個能在瀏覽器和 Node.js 中操作時間和日期的先進工具。Date-fns 擁有超過140種的特性,得益于 API 的簡潔設計,它們使用起來十分簡單。由于 Date-fns 是模塊化構建的,你在項目中可以只使用你需要的那一部分功能(而不必加載全部)。
其他
Math.js是一個為瀏覽器、Node.js及其他 JavaScript 引擎提供數學運算的開源庫。它配備了許多(運算)功能與常量,能靈活地解析表達式,也提供了大數,單元,字符串,分數,矩陣,數組和符號的計算支持。
Handsontable是一個可輕松地為 Web 應用提供表格的 JavaScript 表格庫。它通過不同的插件能實現不同的延伸。Handsontable 基于模塊化構造,入門簡單且社區活躍。這個表格庫在免費版本中包含了超過30特性,專業版本則額外增加十多種功能。目前, Handsontable 常用于銷售報告,人力資源規劃,數據合并,數據庫編輯等領域。
小結
JavaScript 庫對于程序員或設計師而言,都是十分有用的工具。它們能為你的 Web 應用和網站添加很多強大的功能或提供更好的外觀,這些都能提高用戶體驗。由于新的 JavaScript 庫不斷誕生,未來這篇文章會加入更多的推薦。
來自:http://www.zcfy.cc/article/top-11-javascript-libraries-that-are-worth-your-attention-3040.html