1.1 Introduction

Deno stands as a secure runtime designed for executing JavaScript and TypeScript. This innovative runtime emerged nearly 9 years after the initial release of Node.js, an immensely popular runtime for JavaScript. Node.js, acting as a JavaScript runtime, empowers developers to employ JavaScript on the server-side, which has been a key factor in its widespread adoption. JavaScript, a programming language with extensive history, holds the distinction of being the most extensively used language across the globe.
Moreover, Node.js boasts a vibrant and engaged community, offering a wealth of robust tools and libraries like Express.js and Socket.io, which streamline the creation of web applications. This runtime also aligns well with real-time applications and the burgeoning microservices architecture that characterizes contemporary web development trends. In essence, Node.js has achieved its popularity due to its adaptability, user-friendly nature, and the unwavering support from its community.
Deno 1.0 made its debut in May 2020, crafted and brought to life by Ryan Dahl, the very mind behind the inception of Node.js. While Deno and Node.js share certain parallels, they also exhibit distinctive features. Both serve as server-side runtimes, accommodating the execution of TypeScript & JavaScript in the case of Deno and both JavaScript in the case of Node.js (Node.js does support TypeScript through NPM packages, but not out of the box). Comparing Deno and Node.js is inevitable, with Deno often seen as the evolutionary successor to Node.js. However, Deno embraces modern technologies, setting it apart.
While Node.js has solidified its place and enjoys trust across major corporations and startups, Deno remains relatively youthful in its existence. As of this writing, Deno has reached three years of age (as of August 2023) and has undergone 36 releases, spanning from version 1.0 to 1.36. Yet, it must traverse a considerable path before emerging as a substantial contender to Node.js.
In many ways, Deno can be perceived as the next-generation counterpart to Node.js. Before delving into the inner workings of Deno, it's beneficial to establish a foundational understanding of its background. We will explore questions such as the driving need that gave rise to Deno, the challenges faced by Node.js, and how Deno effectively tackles these drawbacks. This journey commences by delving into the history and inspiration behind Deno. Following this introduction, the subsequent chapter will dive into the intricate architecture that defines Deno.

Chapter Contents