JavaScript News and Updates of August 2021
Tags: javascript, webdev, news, html
Published: 2021-08-26 14:43:28

Hello to all front-end enthusiasts! I’m back with a fresh portion of news and updates related to JavaScript that came out in August. This time, you will learn about the latest programming trends from Stack Overflow, AI technology converting natural language into code, upcoming releases from DHTMLX, features added to Vue.js, and a new secure mode in Microsoft Edge. As a cherry on top, I’ll share with you a range of useful articles for deepening your JavaScript knowledge.

## New Tools and Updates
### Key Takeaways from the Latest Stack Overflow Developer Survey

![Stack Overflow Developer Survey](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/liim5clv56l1qrnwanef.jpg)

Stack Overflow is mainly known as the largest question-answer online platform allowing programmers to collaborate and solve any kind of coding issues. But the Stack Overflow team also annually conducts a major survey called “Developer Survey”, involving tens of thousands of professional developers from all over the globe, to learn the latest programming trends. The 2021 edition of this survey has been published this month and I would like to review the most curious results.

The survey embraces a lot of aspects, but I’m going to focus on the section outlining the tools and technologies that are currently popular among developers. In programming languages, there are no surprises, as almost 65% of responders named JavaScript as the most commonly used coding language. The picture is different in the category of the most wanted languages, where JavaScript is only the third (14%) behind Python (19%) and TypeScript (15%). React is the most popular and desired web framework, while Svelte is the most loved one. Find more interesting insights from the full [2021 Developer Survey] (https://insights.stackoverflow.com/survey/2021).

#### New OpenAI’s Tool Translates English into Programming Code

![Codex tool logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/10ot38nm21opthdprym9.PNG)

Have you ever wanted to generate code using just plain English? It may seem crazy but the American company OpenAI is really close to making it possible. Backed by Microsoft, the OpenAI team has recently presented its new code generation tool named Codex. Designed as a programming model powering the GitHub Copilot service, it automatically translates a human language into working computer code.

Codex is better suited for Python, but can also be used with other popular programming languages such as JavaScript, Go, PHP, Ruby, etc. This tool is expected to help developers with various programming tasks such as transpilation, code refactoring, and more. Using Codex, you can even create a simple [computer game] (https://www.youtube.com/watch?v=Zm9B-DvwOgw). The project is currently in private beta and OpenAI hopes to advance it with the help of the developer community. If you want to learn more about this promising tool and sign up for a free trial period, read the [release article] (https://openai.com/blog/openai-codex/).

#### Upcoming Releases from DHTMLX

![DHTMLX Updates](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tck36ny1c588ony6v7ew.png)

DHTMLX is a well-known provider of JavaScript UI libraries and widgets helping web developers to implement various functionalities much faster. I have recently acquired credible information that the company is planning two big releases in the near future.

A reliable source from the company informed me that very soon the DHTMLX product portfolio will be complemented with a new component - [JavaScript Kanban] (https://dhtmlx.com/docs/products/dhtmlxKanban/). This tool will be equipped with all features that are commonly expected from a Kanban board. For instance, it will allow users to easily create and manage project tasks with drag and drop, track their deadlines, set task priority, add columns and swimlanes, and much more. The touch support will give you an opportunity to create a Kanban board that can be conveniently operated via various touch devices. But the real beauty of the Kanban library is that you will be able to integrate it with other DHTMLX components such as the JS Gantt chart and Scheduler event calendar or even third-party tools for building powerful project management solutions.

Another great news is that the DHTMLX development team finalizes the preparation of a major update for its [JavaScript diagramming library] (https://dhtmlx.com/docs/products/dhtmlxDiagram/). It enables you to create various types of diagrams for visualizing data of any complexity. The main peculiarity of the upcoming release (v4.0) is the appearance of swimlanes. These are visual elements utilized for clearly depicting complex business processes with multiple stages and participants involved in their implementation. So if you don’t want to miss these releases, follow the news in the [DHTMLX blog] (https://dhtmlx.com/blog/).

#### New Mode in Microsoft Edge Neutralizes a Source of JS Vulnerabilities

![SDSM mode](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/scs2a81i0ttb9qzocj38.jpg)

Microsoft Edge relies on the V8 JavaScript engine for providing outstanding browser performance for its users. But there is a serious security flipside. The thing is that malicious users frequently target the JIT function of the JS engine for hacking the browser. The Microsoft security team designed a new mode with a bit provocative name “Super Duper Secure Mode” (or simply SDSM) for improving the browser protection against this kind of attack.

This mode will disable the JIT function and allow using special security mechanisms (CET and ACG). But what about the browser speed without this performance-enhancing function? The SDSM development team assures that in practice users will hardly notice any performance deterioration. The SDSM is currently an experimental feature, but the developers want to make it “smarter”. It is planned that in the future the mode will automatically estimate risks and kick in only on suspicious websites. Check out this [post] (https://microsoftedge.github.io/edgevr/posts/Super-Duper-Secure-Mode/) to know more about this mode.

#### What’s New in Vue.js 3.2

![Vue.js logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cvmcmddclj0ad2b1g3l5.jpg)

For years, Vue.js has been one of the most widely used frameworks for front-end development. Web developers really love Vue.js for its simplicity, high performance, solid tooling system, and well-written documentation. It is trusted by big companies such as Facebook, Netflix, Nintendo, Alibaba, and many others.  This month, this popular JavaScript framework has been updated to version 3.2. The release includes a range of important novelties.

The development team led by Evan You introduced several considerable performance enhancements to the reactivity system of the framework. From now on, Vue developers can build native custom elements with the help of Vue component APIs thanks to a new *defineCustomElement* method. A couple of helpful features for SFC  received stable status in v3.2. To get more information about this release, visit the Vue.js [blog](https://blog.vuejs.org/posts/vue-3.2.html).

## Useful Tips and Articles
### How to Avoid Risks of Using Third-Party Scripts  in your Project
Nowadays, it has become a common practice for web developers to integrate third-party JavaScript code into their projects. The software market is full of helper libraries, analytics & metrics scripts, advertising iframes, and many other useful tools that can make the life of a developer much easier. They help to make a web application more dynamic and interactive without devoting much time and effort. But at the same time, it should be taken into account that the excessive use of third-party scripts may cause serious performance issues. This [article] (https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript) includes many useful tips on how to identify and solve problems related to third-party script loading.

#### What is the Secret of V8 JS Engine Performance?
The use of the V8 JS engine in popular web browsers, runtime environments (Node.js, Deno), frameworks, and other technologies contributes to the long-lasting popularity of JavaScript. It ensures a high speed of JavaScript execution by directly translating JS code into machine code. So what is behind the impressive performance of the V8? It takes advantage of the Just In Time (JIT) compilation, abstract syntax trees, hidden classes, and other tools. In this [material] (https://blog.bitsrc.io/secret-behind-javascript-performance-v8-hidden-classes-ba4d0ebfb89d), you will become familiar with the architecture of the V8 engine architecture and interesting performance-related details about the V8 JavaScript engine.

#### Properties and Attributes in Custom Elements
Creating custom elements is an essential capability of Web components that enables you to generate new HTML elements. But if you are working on a vanilla custom element, you can face difficulties when dealing with properties and attributes. The problem lies in the custom element upgrade process. This kind of issue is usually solved automatically when using frameworks, but if you prefer not to, find a workaround in this [article] (https://nolanlawson.com/2021/08/03/handling-properties-in-custom-element-upgrades/).

#### Using Helper Functions in JavaScript Iteration
With the arrival of ES6, JavaScript received a new way for traversing data known as iteration. The iteration protocol includes two main entities - iterables and iterators. Iterables are objects that serve as containers for storing data, while iterators pull data contained in iterables in a one-at-a-time fashion. But currently, JavaScript does not support many iteration-based algorithms and it can be a problem. That’s where helper functions come in handy. Dr. Axel Rauschmayer, the author of multiple books on JavaScript, shares four scenarios of implementing helper functions in JavaScript iteration in this informative [article] (https://2ality.com/2021/08/iteration-helpers.html).

#### Matching Strings with Regular Expressions in JavaScript
Implementing validation for emails or user inputs is a common web development task, implying the need to match strings. It can be a challenging task, but fortunately, there are many pattern-matching tools and approaches that help to do it right. The question is which one to choose. Using regular expressions is probably the most reliable option for this purpose. These are special patterns intended for matching character combinations in strings. In this [article] (https://stackabuse.com/guide-to-regular-expressions-and-matching-strings-in-javascript/), you will learn how to create regular expressions and become familiar with some methods utilized with them.

We will continue learning new stuff from the JavaScript world in September. Stay tuned.