虽然JavaScript本身很棒,但有它对应生态圈也很重要,这些圈会让 JS 更好。开发人员在开始一个新的中等项目时经常喜欢重新写轮子,这是一个糟糕的策略,使用第三方库是有意义的。因为这样的库有明确的用途,有更长生成的迭代,如果遇到问题更容易找到解决方法,最主要的一点是提高开发效率,缩短开发周期。

这里并不是说我们每个项目都要使用第三方库。在我们的职业生涯初期,最好自己能编写代码以进行学习。但是在许多项目中,在有意义的地方使用库是一个不错的策略。

这里推荐 10 个 JS 库,这些库都有很好的文档,也非常流行,并一直在维护中。

1. Ramda

github:https://github.com/ramda/ramda

文档:https://ramdajs.com/docs/

Ramda 是一个用于函数式编程的很酷的 JS 库,目前在GitHub上有18000个星星。JS 的一个优点是开发人员可以选择函数式编程还是面向对象编程。这两种方法各有利弊,但是如果你喜欢函数式编程,那么一定要看看Ramda

主要功能是:

  • 不变性和无副作用的函数

  • 几乎所有的函数都是自动柯里化的

  • 参数设置为Ramda函数,便于进行柯里化

2. Lodash

github: https://github.com/lodash/lodash

文档: https://lodash.com/

Lodash仍然是最流行和最有用的 JS 库之一。它免去了处理字符串、数组、对象等的麻烦。目前它在GitHub上有43000颗星星。

有用的功能:

  • 遍历字符串,对象和数组

  • 创建复合函数

  • 操作和测试值

3. Moment

github: https://github.com/moment/moment

文档: https://momentjs.com/

如果必须处理日期的操作、验证、解析或格式化,Moment可能是最好的 JS 库。它很轻,很完善,在GitHub上有43000多颗星,它可以在浏览器和Node.js中工作。

以下是一些有关Moment的示例:

moment().startOf('day').fromNow(); //8 hours ago
moment('2019-15-11').isValid() //false
moment('2019-02-21').isValid() //true

4. Highlight.js

github: https://github.com/highlightjs/highlight.js

文档: https://highlightjs.org/

Highlight.js 是一个用于语法高亮显示的库,可在浏览器和服务器上使用。它几乎可以与任何Markdown一起使用,并具有自动语言检测功能。

Highlight.js将在<pre> <code>标记之间搜索编程代码,尝试自动检测语言并突出显示语法。它还支持不同的配色方案。

下面是一个用 JS 编写的代码片段和来自代码编辑器的公共主题的示例

5. D3

github: https://github.com/d3/d3

文档: https://d3js.org/

D3是最流行的数据可视化库,目前在GitHub上有89,500星。它使用Web标准,并利用现代浏览器的强大功能,使数据栩栩如生。

6. Three.js

github: https://github.com/mrdoob/three.js

文档: https://threejs.org/

Three.js是出色的JS 3D库,它使用 WebGL 作为主要渲染器,但也支持其他渲染器,例如Canvas 2DSVGCSS3D。它在GitHub上有58,000个Star,我们可以用它创建非常酷的东西。

7. Voca

github: https://github.com/panzerdp/voca

文档: https://vocajs.com/

Voca是一个用于处理字符串的优秀 JS 库。目前在GitHub上有2,800颗星。我们可以使用它来操作字符串,如更改大小写、修剪、pad、slugify、latinise、截断、转义等。

其他功能包括:

  • 完整的函数集,可操纵,chop,格式化,转义和查询字符串

  • 易于阅读和搜索的文档

  • 支持多种环境,例如 Chrome,Firefox,Node.js

  • 100%的代码覆盖率,没有依赖性

8. Immutable.js

github: https://github.com/immutable-js/immutable-js

文档: https://immutable-js.github.io/immutable-js/

使用不可变数据结构具有一些主要优点,例如简化了应用程序开发,无防御性拷贝以及高级缓存概念。

Immutable.js供了不变的数据结构,如列表,堆栈,映射,集合等。

9. Hammer.js

github: https://github.com/hammerjs/hammer.js

文档: http://hammerjs.github.io/

Hammer.js是一个 JS 库,具有20,900个GitHub Stars,可为Web应用程序带来多点触摸手势。它很小,没有任何依赖性,并且可以识别由触摸,鼠标或指针事件产生的手势。默认情况下,它会添加用于点击,双击,滑动,按下等的识别器,但是您可以定义自己的此类识别器集。

10. Leaflet

github: https://github.com/Leaflet/Leaflet

文档: https://leafletjs.com/

在创建移动友好的交互式地图时,Leaflet 是一个很棒的 JS 库。它是开源的,在GitHub上有26700个星星,非常轻量,并且拥有大多数开发人员需要的所有特性。

它可以在所有主流的移动和桌面平台上开箱即用,可以通过插件进行扩展,并且有一个文档良好的、简单的API。


作者:Simon Holdorf 译者:前端小智 来源:medium
原文:https://hackr.io/blog/best-javascript-frameworks


交流

「每日挑战12」纯CSS3实现响应式推荐卡片

这三个精巧且很棒JS库,值得你亲手试试

这些优化技巧可以避免我们在JS中过多的使用IF语句

适合前端开和UI设计的20多个最佳ICON库

27个CSS面试的高频考点助力金三银四

纯CSS特效,5分钟带你学会制作有个性的滚动条

2020年面向前端开发人员的10个很棒的 JS 库相关推荐

  1. 2020年面向前端开发人员的10个最佳CSS框架

    " NASA已将机器人降落在火星上,并且一些开发人员仍在他们网站中div的中心对齐方面苦苦挣扎." 这个笑话包含很多真相.对于UI / UX设计人员来说,要制作一个在每个浏览器上看 ...

  2. python 创意项目_针对python开发人员的10个很棒的python项目创意

    python 创意项目 The joy of coding Python should be in seeing short, concise, readable classes that expre ...

  3. 针对Python开发人员的10个很棒的项目创意

    Python是世界上使用最广泛的编程语言之一,并且可以为其通用性质做出贡献,这使其成为解决各个领域问题的合适工具.使用Python,您不仅可以为网络开发程序,还可以为桌面和命令行开发程序.Python ...

  4. 适用于ios5的应用_适用于设计人员和开发人员的10个很棒的iOS应用

    适用于ios5的应用 Designers and developers rely heavily on the computer for their work. However, the work a ...

  5. 20个面向前端开发人员的文档和指南(第4号)

    It's that time again to get learning! Well, in this industry, that time is always I suppose. This is ...

  6. 面向对象的前端开发_20多种面向前端开发人员的文档和指南(第9号)

    面向对象的前端开发 It's that time again to get learning! As before, I've collected a number of different lear ...

  7. 面向对象的前端开发_面向前端开发人员的GraphQL指南

    面向对象的前端开发 by Schalk Venter 由沙克·文特(Schalk Venter) 面向前端开发人员的GraphQL指南 (A guide to GraphQL for front-en ...

  8. 如何成为前端开发人员的10个技巧!以及前端学习路线

    为你总结了如何成为前端开发人员的10个技巧!以及前端学习路线,欢迎参考! 前端开发需要学习什么?或者需要掌握哪些技能? 在准备学习前端前,您可能不确定从哪里开始.选择什么编程语言,使用什么工具,框架和 ...

  9. 42个面向前端开发人员的很棒JavaScript 库和框架

    英文 | https://javascript.plainenglish.io/42-good-javascript-libraries-and-frameworks-for-front-end-de ...

  10. 2020年 面向高级开发人员的 iOS面试问题

    在本文中,您将找到针对高级开发人员的iOS面试问题和解答. 当您准备进行技术性的iOS面试时,重要的是要了解您可能会被问到的话题以及经验丰富的iOS开发人员的期望.这些问题被许多公司用来衡量iOS候选 ...

最新文章

  1. 2021年大数据Flink(四十):​​​​​​​Flink模拟双十一实时大屏统计
  2. RDA PQ工具使用 (Adi Analysis)
  3. linux中tree命令
  4. 清华大学《操作系统》(二十三):I/O子系统
  5. java判断两个时间区间是否有重合
  6. Python-OpenCV基本操作
  7. oracle学习笔记(十三) 查询练习(三) 子查询查询
  8. 《Redis官方教程》-Redis安全
  9. VR 游戏开发资料收集
  10. java并发编程的艺术——第四章总结
  11. 基于JSP和sql server小区物业管理系统毕业论文
  12. Python实现层次分析法
  13. matlab绘制图像的直方图、杆状图和折线图等
  14. 程序员该如何对付日常小病小痛?
  15. 中国地理省份行政区划,代表文化收集整理
  16. Pluralistic Image Completion—多元图像补全—摘要翻译—测试教程(附源码)——CVPR 2019
  17. JZOJ5444. 【NOIP2017提高A组冲刺11.2】救赎
  18. tipask 3.5问答系统部署说明,超详细命令行部署,挂载iso,可内网使用。
  19. Codeforces 1144G(dp)
  20. 论文笔记:AAAI 2021 Beyond Low-frequency Information in Graph Convolutional Networks

热门文章

  1. AD9在PCB中放大元件后,元件表面出现网格
  2. 5、RH850 F1 定时器TAUJ功能和配置
  3. Windows 10 下使用 VMPlayer 16 新建 CentOS 7 64位 虚拟机
  4. 修复 VM Player 断网问题 20121215T1402
  5. Reflector使用详解,把DLL文件转换为.cs文件
  6. oracle 卸载asm,卸载oracleasm实验模拟
  7. 英语数字听力学习软件操作
  8. zend studio html插件安装,Zend Studio使用教程:将Zend Studio作为插件安装
  9. 【已解决】NC65收款合同查询数据最多只显示5000条
  10. svn指定版本代码对比的方法