JavaScript News, Updates, and Tutorials: February 2023 Edition
Tags: webdev, javascript, news, html
Published: 2023-03-02 13:17:55

Hello everyone! I’m going back to highlighting the most notable releases and events in the JavaScript world. This time, you will get acquainted with aims of the Interop 2023 project, state of JavaScript apps security, the latest releases from DHTMLX, plans of the Vue team on the Volar.js project, and consequences of Gatsby Inc. takeover by Netlify. I also collected a pack of informative articles to help increase your knowledge in different areas of JavaScript and web development.

Let's get to it!

##News and Updates
###Introducing Interop 2023
![Interop 2023 project](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qjg6fmvxtzr936xxyyyo.png)
The Interop project is a joint effort of all major browser vendors (Google, Mozilla, Apple) and other contributing companies to improve interoperability across browsers in the main technical areas that really matter for developers and end-users. Measures taken under this initiative last year proved effective. Between January and December 2022, the number of web platform tests that passed in three major browsers (Chrome/Edge, Safari, Firefox) increased from 49% to 83%. Therefore, it is not surprising that tech giants plan to continue this kind of collaboration in 2023.

This year, Interop will be mainly aimed at technologies that are already specified in web standards and investigating areas where interoperability is lacking. Focus areas will include various CSS features, ergonomics of building web apps,  Web Components, Canvas API, WebCodecs API, etc. The full list of focus areas can be found on this [GitHub page](https://github.com/web-platform-tests/interop/blob/main/2023/README.md#focus-areas). Those who want to stay up to date with progress of Interop 2023, here is a [special dashboard](https://wpt.fyi/interop-2023) dedicated to the project.

###JavaScript Shows Good Results in New Security Report 
![Takeaways from State of Software Security report](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gx53cc6ww1674nvqbgym.png)
State of Software Security reports delivered by Veracode provide remarkable insights into various security aspects of software written in various programming languages, including JavaScript. The latest edition shows that JavaScript apps scanned on the company’s platform on average have fewer vulnerabilities and faster resolution time  than Java and .NET solutions.  It is also said that 4 out of 5 Java and .NET apps have at least 1 flaw, while only over half of JS-based apps have 1 or more flaws. Apart from that, JavaScript apps have half as many major issues as compared to Java and .NET. 

The report also includes some suggestions on how to deal with security threats more effectively. They include prioritizing automation, providing security training for programmers, and introducing app lifecycle management. Visit the [Veracode blog](https://www.veracode.com/blog/research/3-key-takeaways-state-software-security-2023-report) to learn other key takeaways from this report.

###Meet New Major Releases from DHTMLX
In February, the DHTMLX company, one of widely known providers of business-related UI components, presented the first two releases in 2023. Here I’m talking about major updates of the DHTMLX UI widgets (Suite) library and Event Calendar component.
![New versions of DHTMLX Suite and Event Calendar](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pwljuwafvvf6bjbt3sn6.png)
The [DHTMLX Suite 8.0](https://dhtmlx.com/blog/dhtmlx-suite-8-0/) mainly focuses on expanding your styling capabilities and enriching the most popular widgets of the library with top-requested features. In v8.0, you’ll find 4 built-in themes, including two high contrast ones, and a theme configurator tool that will help to adjust any UI element built with DHTMLX to the design pattern of your app. The Chart widget received a new visualization option - a calendar heatmap chart (compatible with DHTMLX Gantt, Scheduler, and Kanban) and the ability to export to PDF/PNG. The Grid widget now allows you to drag and drop multiple rows, set time in the DatePicker editor, and make use of new freezing possibilities in rows and columns. In addition, the Suite library  now supports all accessibility standards.

The [new version of DHTMLX Event Calendar](https://dhtmlx.com/blog/dhtmlx-event-calendar-2-0/) is shipped with a range of new features designed for effective event management. Starting from v2.0, you’ll have an opportunity to schedule events, assign them to resources (employees, equipment, etc.), and store unassigned activities in the new Timeline view mode. Now you can easily plan recurring events in any calendar mode using flexible recurrence settings. It also became possible to specify custom view modes with your own settings in the toolbar. The list of other noteworthy features includes new controls for switching between view modes, the ability to dim past events, current time marker, and auto scrolling for drag-and-drop operations.

###Vue Team Shares Plans on Volar.js Project
![Logos of Vue.js and Volar.js](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7zqov80oiuhmnpsrkryb.png)
If you are a Vue programmer or just an admirer of web technologies, you’ve probably heard about Volar known as the official Vue.js VSCode extension. The codebase of this tool comprises some parts common to Vue such as processing of embedded programming languages, code for handling interaction with LSP, etc. Interestingly, all these peculiarities are now combined into a framework-agnostic set of tools named as Volar.js.

Currently, Volar.js is a separate project aimed to support any file format that involves embedded languages such as Vue, Astro, Svelte, Angular. Moreover, it allows implementing regular single-language LSP servers (TypeScript, CSS, HTML). A lot of effort is being put into optimizing the performance of Volar.js. But it seems that this is only the beginning. The Volar.js team plans to work and explore in some major directions this year. For instance, it can be expected that Volar.js will support Monaco Editor, IDEs other than VSCode (Vim, Sublime, Atom, etc.), monoserver, Rules API, Script API. Apart from that, Volar.js may start using the Bun runtime, thereby contributing to significant performance improvements. Learn more details about the future of Volar.js in this [blog post](https://blog.vuejs.org/posts/volar-a-new-beginning.html).

###Gatsby Inc. Becomes a Part of Netlify
![Netlify purchases Gatsby Inc.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zdbkhud69wj7y3ntnz74.png)
Wonder how to make one of your key competitors an asset to your business? Just acquire the competitor. That is the way chosen by Netlify towards Gatsby Inc. Netlify is a cloud computing company known for its dev platform closely tied to the Jamstack ecosystem, while Gatsby is considered by many as one of the most popular Jamstack frameworks. 

This deal will certainly make Netlify one of the strongest players in the Jamstack ecosystem. But what does it mean for Gatsby? It is said that Gatsby as a framework will continue to evolve and grow. If you want to learn more details about this deal, check out this [blog post](https://www.gatsbyjs.com/blog/gatsby-is-joining-netlify/).

##Useful Tips and Articles
###5 Ways to Improve your Coding Skills with ChatGTP
In recent months, the tech world has been buzzing about a new AI chatbot named ChatGTP. This sophisticated tool immediately caused a huge wave of hype and discussions on the internet with detailed responses to questions across many domains of knowledge. And the great thing is that ChatGPT can help in improving coding skills. 

For instance, developers can use this tool for generating and explaining coding snippets, conducting coding research, tackling various issues with code, and collaborating with other developers. Learn more details about these use case scenarios in this [article](https://cointelegraph.com/news/how-to-improve-your-coding-skills-using-chatgpt).

###Destructuring Arrays and Objects in JavaScript
Modern JavaScript offers a lot of great features that makes it possible for web developers to write higher-quality code. One of them is array and object destructuring. This feature is related to the process of unpacking values from an array or object. It helps to get values from arrays or objects in a more concise manner. The author of this [article](https://www.makeuseof.com/javascript-destructure-arrays-objects-how/) explains how to destructure arrays and objects using clear examples.

###Getting Deeper Insight into Well-Known Symbols
When it comes to implementing and customizing the behavior of a specific predefined JS operation on objects of a particular class, you should use well-known symbols. In the JavaScript environment, these are static properties of the _Symbol_ class. Judging by the name, all developers should be familiar with these symbols, but not everyone can mention at least three of them. If the same is true for you, read this [article](https://h3manth.com/posts/Well-known-symbols/) to fill the knowledge gap.

###New Recommendations on Links from Google
When working on a web project, you should pay considerable attention to building links since it can affect your SEO rankings. Links serve as indicators for Google crawlers that you have a quality resource worthy of citation. That is why it is advisable to follow the best practices in this direction. Not long ago, Google expanded its link building guidelines with new recommendations. You can get acquainted with them in this [section](https://developers.google.com/search/docs/crawling-indexing/links-crawlable#crawlable-links) of Google documentation.

###Improving Performance of CSS Selectors
If you want to make the most of your app in terms of performance, you should not forget about CSS, more specifically about selectors. It is a fact that some CSS selectors are faster than others. This [article](https://blogs.windows.com/msedgedev/2023/01/17/the-truth-about-css-selector-performance/) provides relevant information on the topic and tips how to improve some of CSS selector to get some performance gains.