Open source software is a significant part of today’s tech world. For a decade now, GitHub has been gathering the main trends from the open source world and sharing them with us via special Octoverse reports. It is time to run through the main findings of the Octoverse 2022 edition.
The report also includes some interesting numbers related to the current impact of open source and GitHub in particular. For example, GitHub now includes 94M developers and more than 90% of Fortune 100 companies use GitHub. The most popular open source projects (based on the number of contributors) are VS Code, Home Assistant, and Flutter. Find more interesting insights from GitHub by reading the full report.
First of all, I should mention standalone APIs. After being available in the “Developer Preview” mode for half a year, this highly anticipated feature has become stable and ready for production usage. Standalone APIs allow creating Angular apps without the need to apply NgModules.
One more helpful feature provided in this release is the directive composition API that brings in an effective way of reusing code. The Angular image directive has been known to the public since v14, but now it also has a stable status and can be used right in your Angular component or NgModule for optimizing the loading of images. Check out the release article to learn more about these features and other improvements included in Angular 15.
DHTMLX Event Calendar is a recent addition to the company’s product line of tools for time management apps that has recently been updated to version 1.1. The top features of this minor update are two new customizable view modes for displaying scheduled activities - Year and Agenda. From now on, any grid cell in the available calendar view modes can be highlighted with the help of a custom CSS selector. The editor of the calendar component received multi-select and radio types of controls.
Over the past few years, Rome has become associated in the web development community not only with the capital of Italy but also with a new toolchain possessing a wide range of functionalities. Ideally, it is expected to become a suitable, all-in-one replacement for popular front-end tools such as a compiler, bundler, testing framework, etc. Last year, it was decided to rewrite this tool in Rust. And this month, the first stable release of Rome has finally become available as v10 (which is a bit odd).
Currently, Rome includes just two tools, but as the old saying goes: "Rome wasn't built in a day". I will certainly keep an eye on the further development of this ambitious project.
TypeScript is steadily gaining popularity among web developers and largely thanks to regular updates with requested features. So let us take a closer look at the newest TypeScript 4.9, the last minor update before TS 5.0.
The most relevant feature of v4.9 is the satisfies operator. The main purpose of this operator is to make sure that some expression matches a particular type and at the same time not change the resulting type of this expression. There is the in operator for improved type narrowing. Auto-accessors in classes are another useful addition to the TypeScript feature set. Apart from that, we should expect notable performance improvements. Read the release article to get acquainted with TypeScript 4.9 in more detail.
Ryan Dahl and his team continue working hard on their project named Deno designed to become a suitable alternative to Node.js. The recent minor update (v1.28) aims to help this promising runtime to become much better in npm compatibility. It is a huge improvement since many web developers consider npm to be a fundamental tool in their work.
Starting from v1.28, developers can import in Deno more than 1.3 million npm modules and work safely with their favorite web technologies such as Mongoose, MySQL, JS frameworks, etc. The Deno team promises to regularly publish useful materials to assist developers in using npm modules with Deno more effectively. The complete information on Deno 1.28 is provided in the release article.
If you are not new to web programming, you are certainly familiar with the DOM (Document Object Model) concept. It is a tree-like representation of the document consisting of multiple elements (nodes) generated by the browser to display to end-users. At the same time, it is important to know how to navigate (or traverse) the DOM tree. Many developers are used to doing it via document.querySelector() and document.getElementById() methods. But there are other ways to access required DOM elements more effectively. You can learn about them in this article.
When working with web components, you’ll certainly have to deal with encapsulation. The shadow DOM API is a crucial part of this process. It helps attach a hidden separated DOM to an element. However, the use of the shadow DOM may lead to problems with some important practices applied in web development such as ARIA, a well-known accessibility standard. If you want to delve deeper into this topic, read this great article from Nolan Lawson.
As has been mentioned in the first part of this news digest, now you can easily import popular npm packages in Deno, including popular frontend frameworks. The Deno team has already prepared a new blog post dedicated to the topic of utilizing Express, React, and Vue in Deno. This "How To" guide includes detailed explanations and code examples to help you get started with Deno and JS frameworks faster.
Thanks for reading this article and see you soon!