<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          10個最值得收藏的JavaScript庫

          共 3127字,需瀏覽 7分鐘

           ·

          2021-10-28 12:28


          前端獵手
          ?鏈接每一位開發(fā)者,讓編程更有趣兒!
          關注


          轉載自Duing(ID:duyi-duing


          現(xiàn)代前端開發(fā)相比以前來說幸福很多了,過去為了兼容 IE、火狐等瀏覽器環(huán)境焦頭爛額,為了減少代碼加速文件的加載盡可能的編寫原生 JavaScript,能不用插件就不用(插件由于要考慮通用性,會增加很多兼容代碼)。

          這一切變化首先要感謝谷歌瀏覽器提供的開源核心,以及為中國用戶普及高級瀏覽器做出努力的各大互聯(lián)網開發(fā)者們。

          圖片源自網絡,僅做配文展示


          隨著 5G 技術的發(fā)展普及,未來將有大量的應用場景將由前端來承擔。

          今天,小渡就跟大家分享 10個可以提高開發(fā)效率的 JavaScript 庫,不需要花時間自己去編寫常用的基礎函數(shù),避免重復造輪子,讓更多的精力去優(yōu)化應用場景的邏輯,也提高開發(fā)效率。


          01
          immutable.js


          有一位reddit網友是這樣描述的,小渡很喜歡這種說法:


          “immutableJS確保了大型團隊的開發(fā)者不會做一些愚蠢的事情。”


          簡而言之:Immutable.js,F(xiàn)acebook的另一個項目,確保了狀態(tài)不會因為使用不可變對象而發(fā)生突變。


          圖片源自網絡,僅做配文展示

          正如網友指出那樣,這對于大型團隊的開發(fā)者會極其有用,因為這些人經常會無意識地搞亂了狀態(tài)。


          “封裝在Immutable.JS對象里面的數(shù)據(jù)是永遠也不會變的。它總會返回一份新的拷貝。這跟JavaScript形成了羨慕對比,后者的一些操作不會改變你的數(shù)據(jù)(比方說一些數(shù)據(jù)方法,包括map、filter、concat、forEach等),但有的就會(Array的pop、push、splice等)。”


          使用Immutable.JS有相當大的限制,但視你的需求不同,那些限制未必有關系。在GitHub上拿到了20000多顆星的Immutable.js已經開始崛起,預計還會繼續(xù)延續(xù),因為開發(fā)者正在花時間理解其中的概念和權衡。


          02
          Redux、Relay Modern
          以及Apollo


          Redux 是一直很火的Dan Abramov/Andrew Clark 項目,后來有迅速成為React狀態(tài)管理和數(shù)據(jù)抓取的首選解決方案。


          但GraphQL改變了現(xiàn)狀,主要是在數(shù)據(jù)抓取方面。


          我們現(xiàn)在有了Relay Modern (Facebook開發(fā))和Apollo,讓你可以比Redux更高效地抓取并傳遞GraphQL數(shù)據(jù)到React應用的GraphQL客戶端框架。


          圖片源自網絡,僅做配文展示

          但就像一位開發(fā)者指出那樣:這些框架和它們的好處未必需要是互斥的。實際上,這幾個一起使用可以提供很好的關注分離,這是web開發(fā)來說可太重要了。


          這意味著你仍然可以跟Relay一起用Redux,Redux用于本地狀態(tài)管理以及一些復雜的非服務器狀態(tài),然后由Relay來抓取。

          但是社區(qū)對簡化這個的東西(目前為止唯一的答案是Vue.js或者Cashay)比較焦慮。


          03
          SurveyJS


          SurveyJS 是目前可用的最多的 feature-rich 調查/表單庫;并且它可以很容易地定制和擴展,以滿足你的需要。

          圖片源自網絡,僅做配文展示

          配置后生成代碼:

          圖片源自網絡,僅做配文展示

          04
          Leaflet

          小渡認為 Leaflet 是將適合移動設備的交互式庫,它的地圖添加到你的應用程序中會是一個比較酷的選擇。

          它的文件很小,只有39kB,使其成為考慮其他地圖庫的絕佳替代方案。憑借跨平臺的效率和文檔齊全的 API,它擁有讓你墜入愛河所需的一切。

          圖片源自網絡,僅做配文展示


          在 Leaflet 中,我們需要提供一個 tile 層,因為默認情況下沒有。但這也意味著我們可以從各種免費和高級層中進行選擇。



          05
          FullPage.js


          這個開源庫可以幫助你創(chuàng)建全屏滾動的網站,正如你在上面的看到的GIF動畫那樣。它易于使用并且有許多自定義選項,因此它被成千上萬的開發(fā)人員使用并在 GitHub 上擁有超過 3 萬Stars也就不足為奇了。

          圖片源自網絡,僅做配文展示


          這時可以在Codepen 演示,甚至可以將它與流行的框架一起使用,例如:
          react-fullpage
          vue-fullpage
          angular-fullpage

          這是你幾乎可以在每個項目中都可以使用的少數(shù)庫之一。如果你還沒有開始使用它,那就試試吧,不會讓你失望的。


          06
          Anime.js


          作為最好的動畫庫之一,Anime.js 靈活且易于使用。它可以幫助你的項目添加一些非常酷的動畫。Anime.js 適用于 CSS 屬性、SVG、DOM 屬性和 JavaScript 對象,并且可以輕松集成到你的應用程序中。

          圖片源自網絡,僅做配文展示


          作為開發(fā)人員,擁有一個好的開發(fā)組合很重要。人們對你的組合的第一印象有助于決定他們是否會雇用你。還有什么比這個庫更好的工具可以為你的投資組合帶來活力。它不僅可以增強你的網站,還有助于展示實際技能。

          07
          Hammer.js


          Hammer.js 是一個輕量級的 JavaScript 庫,可讓你向 Web 應用程序添加多點觸控手勢。小渡會推薦這個庫來為你的組件添加一些樂趣。你會覺得它非常有趣。

          圖片源自網絡,僅做配文展示

          它可以識別由觸摸、鼠標和pointerEvents 做出的手勢。對于 jQuery 用戶,小渡建議使用 jQuery 插件。


          08
          D3.js


          如果你是一個癡迷于數(shù)據(jù)的開發(fā)人員,那么這個庫非常適合你。我還沒有找到一個可以像 D3 一樣高效和精美地處理數(shù)據(jù)的庫。D3 在 GitHub 上擁有超過 92k stars,是許多開發(fā)人員最喜歡的數(shù)據(jù)可視化庫。

          圖片源自網絡,僅做配文展示

          很多大神最近使用 D3 通過 React 和 GitHub 上的約翰霍普金斯 CSSE 數(shù)據(jù)存儲庫來可視化 COVID-19 數(shù)據(jù)。這是一個非常有趣的項目,如果你正在考慮做類似的事情,我建議您嘗試一下 D3.js。


          09
          Popper.js


          Popper.js 是一個約 3 kB 的輕量級 JavaScript 庫,零依賴,它提供了一個可靠且可擴展的定位引擎,你可以使用它來確保所有 popper 元素都定位在正確的位置。

          圖片源自網絡,僅做配文展示

          花時間配置 popper 元素似乎并不重要,但這些小事情會使你作為開發(fā)人員脫穎而出。它體積小,不占地方。

          010
          Math.js


          有了這個庫,復雜的數(shù)學問題就可以在前端瀏覽器上計算,而不會給后端服務器帶來壓力;它具有靈活的表達式解析器,支持符號計算,內置大量函數(shù)和常量,并提供了一個集成的解決方案來處理不同的數(shù)據(jù)類型,如數(shù)字、大數(shù)、復數(shù)、分數(shù)、單位和矩陣;

          圖片源自網絡,僅做配文展示

          功能強大且易于使用~

          可以看到,以上分享的庫,有的庫高達幾百 K star,有的庫在小 1 K star 徘徊,但也絲毫不影響它們被列在一起。反而,這些體量小的庫,能針對解決某一項問題,核心原理奇妙,官網也做得特別精美。

          作為開發(fā)人員,了解和學會使用正確的 JavaScript 庫很重要。它將使你的工作效率更高,并使開發(fā)變得更加容易和快捷。最后,你可以根據(jù)自己的需要選擇哪個庫。

          還是那句老話:工具選的好,下班下的早;開發(fā)工作分兩類:寫輪子的為一類,用輪子的為一類;寫輪子也是從用輪子做起的,因為找不到更適用的輪子,才想自己寫一個,分享給大家用;開源萬歲!


          ?? 好了, 以上就是我的分享,小伙伴們點個贊再走吧 ?? 支持一下哦~ ??,


          瀏覽 50
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日小嫩逼视频 | 激情五月色播五月 | 东京热亚洲无码 | 国产成人麻豆 | 影音先锋成人资源网站 |