JavaScript News and Updates (August 2020)
--
Welcome everyone to our last summer digest from the front-end hemisphere. Today we will bring you up to date on the latest JavaScript news and updates. From our material, you’ll be tipped off about important releases for TypeScript and React, get familiar with the long-awaited roadmap for Angular, find out the development status of the progressive JavaScript toolchain named Rome, and become aware of the security issue detected in the widely used JS NPM package.
In the second part of our August news edition, we’ve traditionally prepared for you useful tips and articles, including some stuff on DHTMLX products, to broaden your JavaScript expertise.
Let’s get going!
New Tools and Updates
New Website and Major Update for Typescript
This month, the development team from Microsoft that is responsible for the development and maintenance of TypeScript has made two important announcements: launch of the new TypeScript website and official release of TypeScript 4.0.
It has been claimed that the new website design has been inspired by helpful suggestions directly from active users of TypeScript online resources and by the ideas generated within the dev team. Now web developers and just coding enthusiasts can enjoy improved site navigation, experiment with TypeScript capabilities in the new playground, and work with better-structured TypeScript documentation.
But most importantly, the new version of TypeScript has finally been rolled out. The release of this fast-growing programming language does not include any breaking changes and provides a lot of useful stuff to boost its expressivity, productivity, and scalability. Starting from version 4.0, it is possible to apply Variadic Tuple Types and Labeled Tuple Elements, take advantage of Editor enhancements, apply Custom JSX Factories, and much more. Read the release article to find out more about the features implemented in v4.0.
Angular Gets a Roadmap
Google has spread great news for the Angular community: the popular platform for the development of web applications has been complemented with a roadmap. This feature will help the Angular development team to share valuable information on its engineering undertakings and facilitate interactions with the community. From now on, web developers have a possibility to keep track of all in-progress projects and future plans of the Angular team. The upcoming features specified on the roadmap are not tied to a particular Angular release and will be rolled out in minor and major releases upon their completion. Learn more in the official announcement.
Meet Rome Linter for JavaScript and TypeScript
Rome is a promising experimental JavaScript toolchain intended to be used as an alternative to popular front-end technologies like Babel, Jest, ESLint. Designed by Sebastian McKenzie, the mastermind behind Babel and Yarn, and the React Native dev team, Rome is expected to become an all-encompassing solution for all things that revolve around JS code processing. Apart from linter, it includes a variety of other functionalities such as compiler, bundler, testing framework, etc.
Recently, it has transpired that the Rome linter for JavaScript and TypeScript has become generally available and moved to beta status. According to the dev team, it already supports more than a hundred lint rules, including those that are important for working with TypeScript and React. This release still may include some vulnerabilities, but still, it may be worth trying. Read about Rome and how to get started with it in the documentation.
Security Vulnerability in Popular JavaScript NPM Package
Web developers and just coding enthusiasts have been concerned to find out that the highly demanded serialize-javascript NPM package has some security vulnerability. The problem was reported to GitHub back in May, but the news was announced just in early August. It has been said that the detected flaw could be used by malicious users for injecting arbitrary code. With more than 16 million downloads and hundreds of supported projects, this package is utilized to serialize JavaScript code to a superset of JSON. Fortunately, GitHub contributors have already worked out and issued a fix for this problem.
React 17 Release Candidate is Here
After more than two years of silence, the React development team has announced the 1st release candidate for React 17. But the most remarkable thing about this release is that it lacks the part considered as a centerpiece of any development-related product — new features. The main idea behind React 17 is to facilitate the process of migrating from the currently used version of the framework to a new one. Web developers will be able to gradually (or all at once) update their applications, as the changes introduced in the event delegation mechanism allow different React versions to coexist. The release also includes some breaking changes and a number of bug fixes. Learn more in this blog post.
Useful Tips and Articles
Tips on how to make your API more performant
APIs are indispensable assets for any front-end developer, as they allow implementing sophisticated features and functionalities into web apps as well as ensure performance power-up. However, it is important to remember that APIs also become outdated with time, causing delays and errors in applications. The good news is that web developers can prevent that. The guest post on our blog includes 5 valuable tips on how to provide increased productivity of web APIs and ensure the greater experience for end-users of web apps. Learn and apply.
How to create a JavaScript network diagram with DHTMLX
It is hard to imagine any project in the network architecture without the use of network diagrams. This type of diagram provides a visual structure of networking devices within the network and their interrelations. Network diagrams are also widely used in project management apps, helping to illustrate the project workflow, handle tasks, and assess the progress. If you are looking for a good tool to add a JavaScript network diagram to your project, DHTMLX diagramming component will help to do the job right. Just download the trial version of our library and follow the step-by-step guide.
Common mistakes in working with JS promises
When developing web applications, programmers frequently apply special JavaScript objects named promises. After being introduced in ES6, promises have become an effective alternative to callback functions in handling asynchronous operations in JavaScript. At the same time, using promises in your code can be tricky, and even experienced developers can experience some difficulties with this useful JavaScript feature. Thus, we recommend web developers who are new to working with promises to read this article. The author of this material shares his knowledge on the most common mistakes related to utilizing promises and explains how to avoid them.
Customization of DHTMLX components
Thousands of companies around the world already use DHTMLX JavaScript libraries in their projects, and the number of our customers is constantly growing. Our products are valued by web-developers and end-users for comprehensive feature sets that are regularly updated with requested additions compatible with various technologies, and enhanced customization abilities. Our libraries are complemented with all-covering documentation and have a short learning curve, thus developers won’t need much time to master our components.
But when our customers require any assistance in using DHTMLX, whether in adding new features or integrating our solutions in apps, we are ready to help. Our custom software development company named XB Software provides a variety of services related to DHTMLX solutions. In this article, you can find four real cases of how DHTMLX Gantt and DHTMLX Scheduler can be integrated into project management applications by the XB Software team.
Understanding Functional Components vs. Class Components in React
React is one of the most widely used JavaScript frameworks that provides web developers with a variety of effective components for building user interfaces of any kind. React code consists of elements named components. There are two approaches to defining React components. One is based on utilizing a function, the other relies on a class. What is the difference between functional and class components? When is it better to use a specific type of component over the other one? If you want to create web apps using React, you need to know the answers to these key questions. Here is a good article devoted to the subject.
In summary, August has become quite productive for development teams of TypeScript, Angular, React, and Rome, as they provided valuable updates to web developers who use these JavaScript technologies in their projects. You have also learned some helpful tips on how to make your API more productive and enhanced your insights into other JavaScript-related topics. Thanks for reading and see you in September.