如何选择评估 JS 库

12 个评估 JS 库

  • 特性。

评分:A - 化腐朽为神奇。B - 更优雅的解决方案。C - 比现有方案差

  • 稳定性。

评分:A - BUG 很少,方便调试。B - 不会影响你的稳定性,比如出 BUG 概率和你的业务代码相近。C - 引入该库会让你背线上故障。

  • 性能。

评分:A - 小体积,高性能,支持各种黑科技特性比如 Tree shaking。B - 对性能没有影响。C - 导致性能降低

  • 包生态。

评分:A - 方案唯一且生态运作良好,维护记录标准规范且顺畅。B - 很多新晋网红包,且竞争选择多。C - 没有人给你做包,想用要自己封装。

  • 社区。

评分:A - 各种论坛每日都很活跃,Github issue 问题日清。B - 论坛/聊天室不太活跃。C - 除了作者自吹的文档,再也找不到任何相关信息了。

  • 学习曲线。

评分:A - 一天就能成为这个库的熟练搬砖工。B - 浪费了一周时间才能投入使用。C - 学了一周才发现之前的理解是错的,而且认识到这只是个开始

  • 文档。

评分:A - 专门维护文档站点、视频、图片、示例项目,再好一点的话可以有专门基金会组织编程比赛,通过某三岁孩子可以一天入门强力影射技术生态的完备性。B - 有最基本的 Readme 和 API 文档。C - Readme 写的是 Create react app,其他的只能查源码了。

  • 工具。

评分:A - 两个以上的工具,包括浏览器拓展、代码编辑器拓展、CLI 工具或者 SaaS 服务,实力碾压的话,会有许多花哨的辅助工具出现。B - 一个工具。C - 没有工具。

  • 发展历史。

评分:A - 4 年以上历史,有权威认证。B - 1-4 年历史,已经有不少人使用过了。C - 作者自己都没用过就安利你用到线上去。

  • 团队。

评分:A - 一线大厂,品质权威认证。B - 中型团队维护,并且有清晰的分工记录。C - 工作之余顺便开源出去,就没打算对这个库负责

  • 兼容性。

评分:A - 总是能兼容升级,实在不行就提前警告并告知在某个版本会废弃,并提供迁移工具,比如 React。B - 有 Break Change 但是文档把升级改动写的很清楚。C - 突然到来的小版本升级让你不得不重构之前的调用代码。

  • 趋势。

评分:A - 是 HackNews 的明星话题,Star 成千上万,各种会议以此为名(Vue conf,React conf)。B - 几百 Star,有一些讨论。C - 别看现在 Star 少,迟早有一天我会超过那啥那啥。

  • 搬家成本

如果哪天不用这个库了,换成别的成本有多大?

这方面测试库做的很好,很多主流测试库比如 Jest、Ava、Mocha、Jasmine 等之间都有互转的脚本,业界基本达成了一些共识和规范。

比较坑的是 React、Vue、Angluar,使用之后你基本就被绑定了,至今没有谁可以无缝做各大框架的迁移。当然 JS 的年龄还很短,而且说不好未来还会被新语言、技术、容器颠覆而成为历史,标准化不是做不到而是需要时间,也许就在十几年之后,但是今天就是做不到。

总结

程序员开发的工具库也适合==点线面体==的概念。一个库 react-button 就是一个点,而它所在的线 react 如果被人抛弃了,无数个 react-xxx 也会翻船。而 react、vue、angluar 这些线都在 js 引擎这个面上,当可以用 C# 写 WebAssembly 时,Reason、Blazor、Dart 就会逐渐成为浏览器的主角,react 之类的库统统要回炉打造。而当未来人机互联不需要浏览器作为媒介时,js 引擎这个面依附的体 - 人机交互场景也被打翻了,这一浪又会引起多大的变化

转载于:https://juejin.im/post/5caff395f265da03452bc967

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值