自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

2020年不容錯(cuò)過的十大JavaScript庫(kù)

開發(fā) 前端
JavaScript 無疑是 Web 領(lǐng)域最具人氣的語言之一。盡管最初專為網(wǎng)頁(yè)開發(fā)所設(shè)計(jì),但其在過去二十年中卻保持著極為迅猛的增長(zhǎng)勢(shì)頭。

如今,JavaScript 幾乎可以完成任何任務(wù),甚至能夠在包括物聯(lián)網(wǎng)在內(nèi)的眾多平臺(tái)及設(shè)備之上運(yùn)行。而隨著近期 SpaceX 龍飛船項(xiàng)目的推進(jìn),JavaScript 也正式開啟了自己的太空探索之旅。

之所以如此流行,JavaScript 所依靠的一大優(yōu)勢(shì)正是豐富的框架與庫(kù)選項(xiàng)。與傳統(tǒng)的僅 JavaScript 開發(fā)環(huán)境相比,框架與庫(kù)生態(tài)的建立與壯大已經(jīng)讓開發(fā)工作變得愈發(fā)輕松。

[[336341]]

更重要的是,幾乎每一天都有新的庫(kù)方案出現(xiàn)。但過分豐富的選項(xiàng)也帶來新的負(fù)擔(dān),導(dǎo)致我們很難跟進(jìn)每種庫(kù)的具體發(fā)展,更難結(jié)合自身需求做出正確選擇。

在本文中,我們將了解目前最具人氣的 10 大 JS 庫(kù),希望能為大家的項(xiàng)目開發(fā)帶來啟發(fā)。

Leaflet

Leaflet

Leaflet 可能是大家在應(yīng)用程序當(dāng)中提供用戶友好型交互式地圖功能的最佳開源庫(kù)。

這套庫(kù)體積小巧(僅為 39 KB),這使其成為地圖庫(kù)選項(xiàng)中的理想解決方案。憑借著良好的跨平臺(tái)運(yùn)行效率與完善的 API,Leaflet 擁有著令人折服的一切。

下面來看創(chuàng)建 Leaflet 地圖的示例代碼:

  1. var map = new L.Map("map", { 
  2. center: new L.LatLng(40.7401, -73.9891), 
  3. zoom: 12, 
  4. layers: new L.TileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png") 
  5. }); 

在 Leaflet 中,我們需要提供一個(gè)平鋪圖層,因?yàn)槠淠J(rèn)不設(shè)平鋪圖層。雖然相對(duì)不便,但這也讓我們能夠更靈活地從各種免費(fèi)及高級(jí)圖層選項(xiàng)中做出選擇。感興趣的朋友可以通過下方鏈接獲取各類免費(fèi)平鋪圖層。

https://leaflet-extras.github.io/leaflet-providers/preview/

大家也可以閱讀說明文檔或通過項(xiàng)目教程了解更多詳細(xì)信息。

  • 說明文檔:https://leafletjs.com/reference-1.6.0.html
  • 項(xiàng)目教程:https://leafletjs.com/examples.html

fullPage.js


這套開源庫(kù)能夠幫助大家創(chuàng)建全屏滾動(dòng)網(wǎng)站,如以上 GIF 動(dòng)圖所示。其易于使用,且提供多種自定義選項(xiàng)。憑借著這一系列優(yōu)勢(shì),fullPage 得到無數(shù)開發(fā)人員的青睞,并在 GitHub 上拿下超過 3 萬星。

下面來看 Codepen 演示:

您甚至可以將其與各類流行框架配合使用,例如:

  • react-fullpage
  • vue-fullpage
  • angular-fullpage

我是在大概一年之前接觸到這套庫(kù)的,現(xiàn)在它已經(jīng)成為我的心頭最愛,也是我?guī)缀踉诿總€(gè)項(xiàng)目都能使用的少數(shù)幾套庫(kù)之一。如果大家還沒試過,請(qǐng)給它個(gè)機(jī)會(huì),您絕對(duì)不會(huì)失望。

anime.js

 

 

 

anime.js

 

Anime.js 是目前最好的動(dòng)畫庫(kù)之一,擁有出色的靈活性與易用性。它能夠幫助大家向項(xiàng)目中添加各種酷炫的動(dòng)畫效果。

Anime.js 還能與 CSS 屬性、SVG、DOM 屬性以及 JavaScript 對(duì)象等良好結(jié)合,輕松集成至您的應(yīng)用程序當(dāng)中。

作為開發(fā)人員,擁有良好的技能組合無疑非常重要。在這方面,Anime.js 的作用非常突出——它不僅能夠改善網(wǎng)站的整體觀感,也能體現(xiàn)您的實(shí)際技能,讓原本冷冰冰的業(yè)務(wù)能力瞬間變得生動(dòng)起來。

請(qǐng)參考相關(guān) Codepen 演示:

大家也可以在 Codepen 上查看更多其他出色項(xiàng)目,或者通過下方鏈接閱讀說明文檔。

https://animejs.com/documentation/

Screenfull.js

screenfull.js

有一次,我打算找一套能在項(xiàng)目中實(shí)現(xiàn)全屏功能的庫(kù),screenfull.js 就這樣出現(xiàn)在我的生活里。

對(duì)于各位希望實(shí)現(xiàn)全屏功能的朋友來說,我強(qiáng)烈建議大家選擇 screenfull.js(而非 Fullscreen API),因?yàn)樗鼡碛懈玫目鐬g覽器執(zhí)行效率。

另外,它的體積也非常小巧,小到大家甚至不會(huì)注意到——gzip 壓縮后僅為 0.7 KB。

您可以觀看演示或閱讀說明文檔以了解更多詳細(xì)信息。

  • 演示地址:https://sindresorhus.com/screenfull.js
  • 說明文檔:https://github.com/sindresorhus/screenfull.js

Moment.js

Moment.js

日期與時(shí)間使用起來往往非常麻煩,特別是通過 API 調(diào)用不同時(shí)區(qū)、本地語言等時(shí),往往更令人頭大。Moment.js 能夠幫助大家輕松解決這些問題,一口氣搞定日期及時(shí)間的操作、驗(yàn)證、解析以及格式化等任務(wù)。

其中提供多種超棒的方法,能夠?yàn)楦黝愴?xiàng)目提供實(shí)際幫助。例如,我在自己的一個(gè)博客項(xiàng)目中就使用了.fromNow() 方法來顯示文章的發(fā)布時(shí)間。

  1. const moment = require ( 'moment' ); 
  2. relativeTimeOfPost = moment ([ 2019 , 07 , 13 ]). fromNow (); 
  3. // a year ago 

雖然使用頻率不高,但我還是很喜歡它帶來的國(guó)際化功能。例如,我們可以使用.locale() 方法對(duì)以上結(jié)果進(jìn)行自定義。

  1. // French 
  2. moment . locale ( 'fr' ); 
  3. relativeTimeOfPostInFrench = moment ([ 2019 , 07 , 13 ]). fromNow (); 
  4. //il y a un an 
  5.  
  6. // Spanish 
  7. moment . locale ( 'es' ); 
  8. relativeTimeOfPostInSpanish = moment ([ 2019 , 07 , 13 ]). fromNow (); 
  9. //hace un año 

 

 

 

Moment.js 主頁(yè)

 

通過下方鏈接閱讀說明文檔:https://momentjs.com/

Hammer.js

Hammer.js 是一套輕量化的 JavaScript 庫(kù),用于向 Web 應(yīng)用程序中添加多點(diǎn)觸控手拋。

有了這套庫(kù),大家的應(yīng)用程序就能樂趣倍增。大家可以通過示例體驗(yàn)一番。

它能夠識(shí)別出由觸控、鼠標(biāo)以及 pointerEvents 實(shí)現(xiàn)的各種手勢(shì)。對(duì)于 jQuery 用戶,我建議大家使用 jQuery 插件。

  1. $(element).hammer(options).bind("pan", myPanHandler); 

通過下方鏈接閱讀說明文檔:http://hammerjs.github.io/getting-started/

Masonry

Masonry

Masonry 是一套 JavaScript 網(wǎng)格布局庫(kù)。它表現(xiàn)出色,我在很多項(xiàng)目都用到過。它能夠使用簡(jiǎn)單的網(wǎng)格元素,并根據(jù)可用的垂直空間進(jìn)行放置,有點(diǎn)像工程師們把石塊或磚砼鋪設(shè)在墻面上的感覺。

您可以利用這套庫(kù),以不同方式展示自己的項(xiàng)目,包括配合卡片、圖像及模態(tài)等一同使用。

下面來看一個(gè)簡(jiǎn)單示例,只需要放大網(wǎng)頁(yè),布局就會(huì)出現(xiàn)相應(yīng)變化。 


下面來看實(shí)現(xiàn)以上效果的代碼:

  1. var elem = document.querySelector('.grid'); 
  2. var msnry = new Masonry( elem, { 
  3. itemSelector: '.grid-item', 
  4. columnWidth: 400 
  5. }); 
  6.  
  7. var msnry = new Masonry( '.grid'); 

再來看 Codepen 上的精彩演示:

查看相關(guān)項(xiàng)目:

  • https://halcyon-theme.tumblr.com/
  • https://tympanus.net/Development/GridLoadingEffects/index.html
  • https://www.erikjo.com/work

D3.js

如果您對(duì)數(shù)據(jù)非常癡迷,那么這套庫(kù)絕對(duì)不能錯(cuò)過。我還沒有找到其他能像 D3 這樣高效處理數(shù)據(jù)的庫(kù)選項(xiàng)。它在 GitHub 上獲得超過 9.2 萬星,也成為眾多開發(fā)人員最喜愛的數(shù)據(jù)可視化庫(kù)。

最近,我開始使用 D3 配合 React 對(duì) COVID-19 以及約翰霍普金斯 CSSE 數(shù)據(jù)存儲(chǔ)庫(kù)進(jìn)行可視化。這是個(gè)非常有趣的項(xiàng)目,如果大家有著類似的數(shù)據(jù)處理需求,強(qiáng)烈建議各位嘗試一下 D3.js。

你可以通過下方鏈接閱讀說明文檔:https://github.com/d3/d3/wiki

slick

slick

Slick 擁有全響應(yīng)式、滑動(dòng)支持以及無限循環(huán)等出色功能。如項(xiàng)目網(wǎng)站首頁(yè)所述,它能滿足用戶對(duì)于輪播庫(kù)的所有預(yù)期。

我使用這套庫(kù)已經(jīng)有一段時(shí)間了,它為我節(jié)約了很多時(shí)間。只需要幾行代碼我們就能在輪播中添加諸多功能。

  1. $ ( '.autoplay' ). slick ({ 
  2. slidesToShow : 3 , 
  3. slidesToScroll : 1 , 
  4. autoplay : true , 
  5. autoplaySpeed : 2000 , 
  6. }); 

Autoplay 自動(dòng)播放

通過下方鏈接觀看演示用例:https://kenwheeler.github.io/slick/

Popper.js

[[336347]]

Popper.js

Popper.js 是一套大小約為 3 KB 左右的輕量化 JavaScript 庫(kù)。這是一款零依賴關(guān)系的可靠、可擴(kuò)展定位引擎,能夠保證所有 popper 元素都被放置在正確的位置。

很多朋友不愿意投入心力配置 popper 元素,但正是這些細(xì)節(jié)區(qū)分開了普通開發(fā)者與優(yōu)秀開發(fā)者。Popper.js 無疑是處理元素放置工作的好幫手,而且不會(huì)占用多少空間。

通過下方鏈接閱讀說明文檔:https://popper.js.org/docs/v2/

總結(jié)

作為開發(fā)人員,選擇正確的 JavaScript 非常重要。這不僅能夠提供您的工作效率,同時(shí)也會(huì)讓開發(fā)本身變得更加輕松便捷。當(dāng)然,這里要再次強(qiáng)調(diào),具體庫(kù)選擇仍然取決于您的實(shí)際需求。

 

責(zé)任編輯:趙寧寧 來源: 前端之巔
相關(guān)推薦

2013-10-16 10:11:35

JavaScript項(xiàng)目框架

2024-01-18 18:12:38

開發(fā)平臺(tái)工程工具框架

2010-12-03 09:16:30

Android 2.3

2024-01-18 00:00:00

開發(fā)框架Port

2018-07-09 08:50:36

IT管理認(rèn)證資質(zhì)Kubernetes科技

2023-06-29 17:53:00

VSCode插件程序

2015-07-09 10:18:36

Android開發(fā)工具

2020-02-06 09:00:00

ESES2020前端

2020-05-08 09:13:48

前端開發(fā)

2022-05-01 12:19:33

云原生公有云云計(jì)算

2020-05-25 15:54:58

JavaScript框架開發(fā)

2019-07-18 16:46:29

Web開發(fā)趨勢(shì)Node.js

2020-12-28 10:51:30

技術(shù)互聯(lián)網(wǎng)數(shù)據(jù)

2015-12-24 18:26:16

Android

2025-04-09 08:08:56

2016-07-15 14:23:36

外媒速遞Web插件

2018-08-23 09:00:00

前端UI設(shè)計(jì)動(dòng)畫庫(kù)

2020-02-02 19:24:01

人工智能區(qū)塊鏈大數(shù)據(jù)

2012-02-02 10:40:47

開發(fā)者盛會(huì)Linux

2016-02-29 15:00:48

RSA/信息安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)