12 things to consider when evaluating your JavaScript library

Google News Button

My Page In Google News

We provide a study of the current state of JavaScript and an analysis of why some libraries are used by developers.

Features:

The number one reason for choosing this or that technique is its special features. But the main thing here is how far you will go in pursuit of them. For example, react is the most popular library today, but it has one major drawback: it’s not fully functional. Routing and state management requires third-party libraries – React-Router and Redux.

This is where Vue, reacts main competitor, comes into play. For these use cases, it provides a bundled solution. But if you overdo it, you get an overgrown complex structure that tries to be everything at once.

Therefore, sometimes the best way out is minimalism. Lodash or Ramdas libraries allow you to replace messy nested loops with concise functional expressions, making them invaluable tools.

However, the key is finding balance.

Evaluate JavaScript features:
  1. Finds things that were previously impossible.
  2. It allows you to do what you did before, but better.
  3. It works less than the solution you are currently using.
  4. stability
  5. You might have a niftier full-featured framework, but it’s useless if the developers bump into bugs every two minutes.

Therefore, a large number of tools in the JavaScript ecosystem are focused on adding stability and security to the package. Check out TypeScript and Flow or languages like Cause.

In the field of data loading, GraphQL type system helps websites run smoothly.

 

JavaScript Stability Assessment:

Fewer errors and problems are easier to correct and solve.
The technology does not affect the stability of the program.
New errors and problems appear as a direct result of the introduction of technology.
Skill Box Recommend: Online Course Web Developer Career

A one-year practical course for those eager to qualify for the full web developer title.

the performance:

If you’ve ever studied martial arts, you know speed is important, not strength. The same goes for the site: if the download takes 15 seconds, the user closes the tab and you lose the battle before it starts.

In the JavaScript ecosystem, Preact is a great example of a focus on speed. Its API is identical to React, so they don’t compete for performance. But Preact is lighter and faster, saves precious milliseconds on load and improves web application performance.

Performance evaluation:

The solution is lighter and faster than what you’re using right now, and faster load times or other performance improvements.
Technology does not affect software performance.
The introduction of technology slows down the application significantly.
Ecosystem boost
Before exploring a new technology, it is important to take a look at the ecosystem that it has evolved around.

First, it saves time, because it allows you to use someone else’s work, and not do everything yourself. The presence of an ecosystem indicates a certain level of technological maturity. Therefore, the supported third-party libraries are one of the best signs that developers have been using it for a long time.

Ecosystem assessment:

It has unambiguous solutions to common problems. Third-party packages are well supported and well documented.
There are several new parameters that compete with each other.
A batch ecosystem is out of the question; Lots of manual configuration required.

social communication:

Another important factor is an active community. The separate forum or channel in Slack is very helpful in solving problems. Well, a well-maintained GitHub page is a must.

Community evaluation:

Forum and / or Chat (Slack / Discord / Other) With daily activity, questions are considered from GitHub throughout the day.
Forum and / or chat with rare activity.
There is no community outside of GitHub.

Learning curve:

A smooth learning curve increases the likelihood that developers will adopt new frameworks or libraries. It is a mistake to think that for technology’s sake, people are willing to overcome any obstacle to its development, no matter how great it is.

The concept of closure (but sometimes the opposite) is the “acceptance curve”. Meteor was very easy to use when it first came out – but it required you to use its entire stack right away, which is very difficult to implement for current projects.

React has a similar learning curve: JSX is harder for developers who are used to separating HTML and JavaScript. But, for example, working with Vue is easy, and you don’t have to rethink your ideas about front end development.

Learning curve evaluation:

You can start in one day.
It takes about a week to delve into work.
It takes over a week to learn the basics.

documentation:

Most of the techniques with a smooth learning curve are well documented. It’s not easy to achieve this: it is written by professionals who are far from trying a new developer.

Therefore, to write good documentation, you have to forget for some time what you know and put yourself in the shoes of the technology pioneer.
It also requires anticipating common issues, understanding user behavior and above all updating as the source code changes. And all of this takes valuable time from the actual programming.

With all these factors in mind, you understand why good documentation is so rare and valuable!

Document evaluation:

Separate site with documentation, screen recordings, sample projects, tutorials, API documentation, and good tutorial code.
There is only the basics and API documentation.
Brief documentation. The only way to know how to use the library is to take a look at its code.
Tools
Like documentation, additional tools may seem like a minor detail to some, but they are actually vital to the popularity and success of any technology.
One of the main reasons for the success of Redux is the amazing browser extension DevTools, which allows you to visualize the Redux store and actions in a very easy-to-use way. Likewise, VS Code’s excellent TypeScript support worked wonders in its adoption.

Toolkit evaluation:

Two or more: browser extension, text editor extension, CLI tool, dedicated third-party SaaS services.
One of the tools: browser extension, text editor extension, CLI tool, custom third-party SaaS services.
There is no external equipment.

Achievements list:

Even the most elegant and documented bookstore will be ignored if she only lives six months.
Therefore, it is important to have a strong track record. Express is a great example: Released in 2010, it remains the default Node.js platform despite the explosive growth of the JavaScript ecosystem.

Track Record Evaluation:

It has been in business for 4 years and is used by large companies and well-known technical advisors.
Ages 1 to 4, used by early adopters and younger advisors.
It was released less than a year ago, but there is no real approval yet.

Team:

Not all projects have work experience. When the library is brand new, how do you rate its potential? The surest way to find out who is behind it.

When React came out, the fact that Facebook behind it was a strong case to at least give it a try. Facebook then followed up on Relay and GraphQL, stating that React’s success was no coincidence.
Big companies have more resources of investment: Google was able to continue supporting the original Angular.js even after releasing new, incompatible versions.

Of course, this does not mean that independent developers cannot create serious innovations. For example, this is how Vue.js came about, not to mention 99% of all open-source software.

Team Rating:

Supported by a great company with a dedicated team on an open-source platform.
Supported by a team of mid-level engineers with personal professional backgrounds.
Supported by an independent developer.

Compatibility:

The great thing about using advanced libraries is that they evolve very quickly. But this can also be a serious drawback.

The rapid rate of improvement can cause frequent breakdowns as new methods replace old patterns, forcing early adopters to pay for rebuilding.

React Router caused a lot of problems when they decided to completely change their API between versions 3 and 4 – as Angular did when they moved from Angular.js to the new “Just Angular”.

Frequent updates are attractive when you are just starting out on a new project. But if the web application has been running for a long time, the last thing you need is to spend several weeks rebuilding and customizing each time a new version of the library is made.

JavaScript compatibility assessment:

Updates are backward compatible and neglects are handled with warnings. Old, incompatible versions are supported for 2 years or more.
Crashes happen but are well documented and repaired gradually.
Frequent updates require major restructuring without proper guidance.

direction:

Finally, the trend is also important.

Hype is often seen in a negative light, like the spread of fashion over real content. But this is not always a bad thing.
With good ads, a new business can attract more users and members. This means faster errors are discovered and fixed, the ecosystem evolves, and everyone wins in the end.

Trend Assessment:

99 level hype: At the top of Hacker News, thousands of stars on GitHub, and negotiations at big conferences.
Interest in the initial launch, hundreds of stars are on GitHub.
Sole developer working in secret. One day I’ll show them all!

The Skill Box recommends the following:

  • PHP developer from scratch to PRO course
  • Online Course “Python Developer Career”
  • Front End Developer Process Course

JavaScript libraries for every taste:

  • Top 10 Open-Source JavaScript Projects of September 2018
  • Top 33 Most Popular JavaScript Projects on GitHub
  • The Middle Way JavaScript: Best Resources for Knowledge Expanding

Recommended article

Safe work program – Some tips to protect your data