To start with, the next criteria are no means an absolute measure of a library’s worth. This is the checklist you can follow to compare new and old JS libraries to choose what characteristics are more important for you. Still, every single project has its own requirements and the tech stack defined according to these requirements. Here we go! For each point, choose the result (1, 2 or 3).
12-point scale that covers the main aspects of picking any technology
What it can do?
- Unlocks things that were just not possible before.
- Lets you do the same things as before, but in a better way.
- Does less than current solutions.
How often developers run into errors?
- Fewer bugs, and issues become easier to debug and solve.
- Adopting the technology does not have an impact on your software’s stability.
- New bugs and issues arise as a direct consequence of adopting the technology.
Is it allow you to you save precious milliseconds and improve your webapp’s performance?
- Lighter bundle, faster load times, or other performance improvements.
- Adopting the technology does not have an impact on your software’s performance.
- Adopting the technology slows down your app measurably.
- Package Ecosystem
This is a sign that the technology has reached a certain maturity level.
- The ecosystem has unambiguous solutions for common concerns; third-party packages are well-maintained and well-documented.
- Budding package ecosystem with many competing new options.
- No package ecosystem to speak of, lots of manual work required.
Are there a dedicated forum or Slack channel to help when running into issues?
- Forum and/or chatroom (Slack/Discord/etc.) with daily activity, GitHub issues addressed within a day. Many answered Stack Overflow questions.
- Forum and/or chatroom with infrequent activity.
- No community beyond GitHub.
- Learning Curve
How easy and fast it is for the new developer to jump into?
- Possible to get started in a single day.
- About a week required before becoming productive.
- More than a week required to learn the basics.
How clear the documentation is? Does it cover all the aspects to discover the new technology?
- Dedicated documentation site, screencasts, example projects, tutorials, API documentation, and well-commented code.
- Basic Read Me and API documentation.
- Very succinct Read Me, the only way to know how to use the library is to look at its code.
Are you ok with presented extensions, utilities and so on?
- Two or more of: browser extensions, text editor extensions, CLI utility, dedicated third-party SaaS services.
- One of: browser extensions, text editor extensions, CLI utility, dedicated third-party SaaS services.
- No external tooling.
- Track Record
For how long it has successfully been working?
- Has been around for 4+ years, adopted by major companies and well-known tech consultancies.
- Has been around for 1–4 years, used by early adopters and smaller-scale consultancies.
- Has been around for less than a year, no real adoption yet.
Of course, lone maintainers can also create major innovations, but are there any huge company behind?
- Maintained by a major company with a dedicated open-source team.
- Maintained by a medium-sized team of engineers with solid individual track records.
- Lone maintainer working independently.
Be aware. A fast improvement rate can also mean frequent breaking changes as new best practices replace old patterns, leaving early adopters to pay the refactoring costs.
- Updates are mostly backwards-compatible, deprecations are handled with warnings, and incompatible older versions are maintained for two years or more.
- Breaking changes do happen but are well documented and are rolled out gradually.
- Frequent breaking updates requiring major refactoring without the proper guidance.
With enough momentum (let’s say ‘hype’), a new software project can attract more users and more contributors, which means bugs are found and fixed faster, a package ecosystem can develop, and everybody ultimately ends up better off.
- Hype Level – Top of Hacker News, thousands of GitHub stars, talks at major conferences.
- Some interest around the initial launch, hundreds of GitHub stars.
- Lone developer toiling away in obscurity.
This will help you rate your chosen library!
Thanks to Sacha Greif for these awesome tips! You can find also other approaches on how to evaluate JS libraries in the author’s original article.