Deno JavaScript Platform Release 1.16

The Deno 1.16 JavaScript platform was released, designed for standalone execution (without using a browser) of applications written in JavaScript and TypeScript. The project is developed by Node.js author Ryan Dahl. The platform code is written in the Rust programming language and is distributed under the MIT license. Ready-made builds are prepared for Linux, Windows and macOS.

The project is similar to the Node.js platform and, like it, uses the V8 JavaScript engine, however, according to the author of Node.js, it corrects a number of architectural flaws of its predecessor and differs from it in the following nuances:

  • Using Rust as the main language, which, according to the developers, reduces the risk of vulnerabilities associated with low-level memory management (buffer overflow, use-after-free, etc.);
  • Deno does not use the npm package manager and package.json, prompting the user to install modules by specifying a URL or path to the module to be installed. However, the project offers several utilities to simplify work with third-party modules;
  • Applications run separately in sandboxes and do not have access to the network, environment variables and file system, without explicitly granted permissions;
  • The architecture provides the ability to create universal web applications that can work both in the Deno system and in a regular browser;
  • Using "ES Modules" and lacking require() support;
  • Any errors in a web application not handled by the programmer lead to its forced termination;
  • TypeScript support in addition to JavaScript;
  • The full size of the ready-to-use platform is 84 MB (in a zip archive - 31 MB) in the form of a single executable file;
  • The kit offers a system for resolving dependencies and formatting code;
  • Focus on high-performance applications.

Dino processes requests in a non-blocking manner using the Tokio platform, designed for building high-performance applications based on event-driven architecture. It’s also interesting that Deno’s built-in HTTP server is implemented in TypeScript on top of native TCP sockets, which has a positive effect on the performance of network operations.

The new version notes:

  • Performance optimization (4 patches);
  • Fixed more than 15 errors, in particular, the TLS client now supports HTTP/2, the encoding subsystem supports additional encoding marks, etc.;
  • More than two dozen innovations, of which we can note the stabilization of the previously test subsystems Deno.startTls and Deno.TestDefinition.permissions, updating the V8 JS engine to version 9.7 and support for React 17 JSX transformations.

Source: opennet.ru

Add a comment