Hello and welcome to my latest overview of fresh JavaScript news and updates. Today we will talk about novelties in JavaScript runtime environments, updates of popular DHTMLX libraries, a new JavaScript-based variation of the Rowhammer attack, and finish with a set of useful JavaScript tips.
Let's get started.
New Tools and Updates
What’s New in Node.js 16
JavaScript gained great popularity among developers thanks in large part to Node.js. This runtime environment enables you to compose JavaScript code on the server-side, making this programming language suitable for full-stack web development. And now Node.js is available in version 16.
This major release offers a range of novelties and enhancements to the existing feature set of Node.js. It is the first Node.js version that provides prebuilt binaries for Apple Silicon - processors for Apple products. It also comes with a new V8 JavaScript engine v9.0, ensuring better performance characteristics. Developers now can take advantage of other useful features such as Timers Promises API and RegExp Match indices. The release also includes some deprecations. To know more about this big update, read this article.
Deno Continues to Grow and Gets Incorporated
Deno is a relatively new technology that received a very warm welcome from the development community. This fully secure runtime environment has been known to the public only for a year, but the GitHub statistics says that thousands of developers already showed interest in this project and contributed to its improvement. There are also two recent bits of news related to Deno.
The development team led by Ryn Dahl provides regular Deno updates and the latest one (v1.9) has been rolled out this month. This version brings in numerous new features, performance enhancements, and bug fixes. The list of modifications includes native HTTP/2 web server, faster calls into Rust with serde_v8, import completions in the LSP, and many other useful things.
The second big news is that Deno is also establishing a company with the help of attracted seed investments. Becoming a legal entity means that further development and maintenance of Deno will be performed more effectively by the team of hired full-time engineers. At the same time, Deno officials pointed out that they have no intention to directly monetize the project and it will remain free for web developers. More information on the topic can be found in the Deno blog.
DHTMLX Diagram Updated to Version 3.1
DHTMLX Diagram is a useful JavaScript library that enables you to handle data visualization issues during the development process. Unlike many other diagramming components, this tool allows building various types of diagrams not only using a traditional coding approach but also with the Diagram editor. With the release of version 3.1, DHTMLX Diagram became even more powerful and developer-friendly.
The key feature of this update is a new diagram type – mind map. It provides a graphical way to present complex ideas and concepts with the help of predefined or custom shapes. You can even create 100% custom mind maps using straightforward HTML templates. There is also a new diagram editor designed specifically for more convenient work with mind maps. Newly added event handlers allow specifying how end-users will interact with custom shapes. DHTMLX Diagram now also supports TypeScript to help developers write quality code much faster. If you want to learn more details on this update, check out the release article.
DHTMLX Gantt 7.1: New Project Management Capabilities
DHTMLX Gantt is one of the most popular choices among front-end developers when it comes to implementing Gantt chart functionality in software solutions. For instance, it is a core element of GanttPRO - a widely used software solution for project planning. The new version of this JavaScript library comes with a set of new features for more productive project management.
Starting with v7.1, DHTMLX Gantt allows allocating project tasks on a part-time basis, thereby utilizing them more efficiently for handling complex projects. All important project dates can be shown in summaries including rollup tasks and milestones. Another new feature is the ability to set working schedules for specific time periods within one working calendar. If needed, you can also alter the height of any Gantt chart row for more convenient interaction with data by simple drag and drop. Find more information on these features and other improvements in the DHTMLX blog.
New Rowhammer Attack Uses JavaScript Exploit to Affect DDR4 Memory
Rowhammer is a class of attacks that has been used by malicious users for committing cybercrimes since 2014. It does not rely on any software bugs or phishing methods but rather focuses on abusing the properties of the computer memory. In response, hardware developers started equipping modern memory modules with a special in-memory defense named Target Row Refresh (TRR). But this protective measure has proved ineffective with the appearance of a new threat.
The group of security specialists from Vrije University in Amsterdam and ETH Zurich has recently unveiled a new variation of the Rowhammer attack named SMASH. This technique can be utilized to hack modern DDR4 RAM cards evading TRR. It is triggered with the help of a JavaScript exploit that helps to compromise the user’s browser. Experts assume that it will be a challenging task to deliver reliable protection against SMASH.
Useful Tips and Articles
Top JavaScript Experts to Follow on Twitter
No matter whether you are a newcomer to the JavaScript world or a highly skilled web programmer, you most likely make use of various online resources such as youtube channels, podcasts, forums, etc. dedicated to web development. I personally also enjoy using various social networks that suit well for exchanging views on different development trends or coding issues. Twitter, for instance, is used by many influencers to share various tips and tricks with a wide audience. If you want to learn something interesting about JavaScript on Twitter every day, here is the list of JavaScript experts to follow.
How to Strengthen JavaScript Performance with GPU.js
Performance is one of the main concerns for web developers when building data-intensive applications. There are many ways to improve JavaScript performance, but many of them imply complex code optimizations. But have you ever considered the possibility of relying on a GPU (graphical processing unit) for performing complex computations instead of a CPU, and thus facilitating the better performance of JavaScript apps? This idea lies at the core of GPU.js. It is a JS acceleration library intended for general-purpose programming on GPUs. More details on the benefits of using GPU.js in complex web apps are provided in this article.
Using Chrome DevTools for JavaScript Debugging
Debugging is a vital part of the development process, as it allows you to detect various syntax and logical errors in your code. The console.log() method is probably the first thing that comes to mind when it comes to checking JavaScript code in the browser. But all major browsers also contain built-in tools that help you to test and debug your code more efficiently. I, like many of you, prefer to use the Google Chrome browser, but until recently I, unfortunately, did not devote due attention to the debugging capabilities of its built-in developer tools (also known as DevTools). If it’s the same with you, this article will help you to see the true value of DevTools for JavaScript debugging.
Popular JS Libraries for Data Management
It is hard to imagine any modern web application without a data grid or more complex tree grid. These important UI elements serve for organizing big data in a tabular format and enable end-users to conveniently interact with it. Therefore, many programmers choose to use feature-packed JS libraries or UI widgets for implementing this functionality instead of building it from scratch. This article highlights the most popular JavaScript grid components and their main peculiarities.
Handling Text in Modern JavaScript
A string is a basic data type in JavaScript utilized for storing and manipulating textual data. Understanding strings and their core principles is a must for any JavaScript developer. It is great to be able to create and concatenate strings, but there are also many other useful techniques for working with them such as sorting strings, comparing strings, splitting a string, and more. This article will allow you to dig deeper into JavaScript strings and learn everything you should know about them with the help of multiple code samples.
That's all that I wanted to share with you this month. Take care and stay tuned for more JavaScript news in May.