And before we present the list, it is also worth distinguishing between terms ‘frameworks’, ‘libraries’ and ‘tools’ in the context of software development:
What we are highlighting here, are tools and libraries every JS developer should master, or at least be aware of, to stay relevant.
React is a JS library introduced by Facebook engineers in 2011 and then released as an open-source. ReactJS offers new ways to render web pages, a dynamic UI, high performance and several other advantages. One of the key benefits is reusability of code components, which is especially useful and a time-saver when dealing with system upgrades. Components are isolated and do not cause changes in each other.
Data binding is one direction (down) to enable a stable code, virtual DOM to increase the speed and constant improvements by developer community bring React.js to the top. In addition, the same engineers crafted React Native – a mobile app development framework, serving Android and iOS platforms.
React may seem to be a whole ecosystem, with its own tools and tips.
Why use Express? It is great for single page applications, websites, HTTP APIs. One of the most helpful features to programmers is the ability to build APIs relatively easy.
In simple terms, Angular is a popular and single solution to produce modern web apps, typically single-page apps. It is a part of the already standard MEAN stack and is being constantly updated – the current version is 4.4.6. Though, on the flip side, the older and newer version are incompatible, which is kind of strange.
Main benefits of Angular are:
When it comes to desktop apps, this framework has been gaining traction recently as a fine tool to build cross-platform applications and websites. Electron is based on Node.js and Chromium engine, and supports the whole HTML, JS, CSS pack. Nice examples of apps on Electron are Slack, Docker, Jibo and even GitHub desktop.
It is publicly available, as well as compatible with Windows, Mac and Linux systems. The framework includes pre-built demo apps APIs, debugging with Chromium tools, the ability for unit tests inside the environment and safe code distribution.
The drawback with this tool is the size of updates – due to bundling with Chromium, it is around 40Mb.
Webpack’s strong characteristics are:
It also has some cons, like the inability to load files found during runtime. Thus, among other module bundles, you may find Browserify, RequireJS, Rollup, JSPM.
A tool for another important aspect of programming – code supervision to detect errors. We are all humans and will miss a closing bracket or a variable once a while. Analyzing the code for potential flaws is called ‘linting’, thus the name ESLint for one of the most widely used linting JS tools. In many ways similar to JSLint and JSHint.
Going back to JS frameworks, we’ll finish with a more progressive framework to develop user interfaces – Vue.js. It is an open source, lightweight (20 Kb zip), virtual DOM library/framework, created out of Angular. Vue utilizes an HTML syntax for data binding and provides tools for tasks like routing, scaffolding, animations etc.
Somewhat similar to React, Vue seems to be gaining adoption among developers recently because it is simple, it performs well and supports all the browsers. And though it also may bring risks as new and trendy project with fewer resources, it is worth following what updates Vue’s vast number of contributors may introduce tomorrow.
jQuery foundation also offers related and useful tools like jQuery UI, jQuery Mobile, a CSS selector engine called Sizzle. With jQuery UI, for instance, allows designing and tweaking your own user interface for web applications, reduction of code for interactive features, etc. jQuery suits perfectly to create dynamic web pages.
The trick with jQuery is that it also is perceived as outdated by many developers. How so? Many argue that it became inundated with mediocre developers that had actually turned it into a server-side library, and a DOM-centric paradigm could be a real headache. Even so, this JS giant cannot be abandoned yet.
Get actionable product building tactics in your mailbox, monthly.
No previous chapters
No next chapters