The Internals of Deno
  • The Internals of Deno
  • Audience
  • Reviews
  • Translations
  • Formats
  • Contents
  • Chapter 1 - INTRODUCTION
    • 1.0 Cover page
    • 1.1 Introduction
    • 1.2 History of Deno
    • 1.3 About Deno
    • 1.4 Releases
    • 1.5 The Deno Company
    • 1.6 Deno's source
    • 1.7 What's next
  • Chapter 2 - ARCHITECTURE
    • 2.0 Cover page
    • 2.1 Architecture
    • 2.2 Overall architecture
    • 2.3 Programming Languages
    • 2.4 Deno components
    • 2.5 OPs
    • 2.6 TSC/SWC
    • 2.7 Rusty_v8
    • 2.8 Tokio
    • 2.9 V8
    • 2.10 What's next
  • CHAPTER 3 - THREADING MODEL
    • 3.0 Cover page
    • 3.1 Threading model
    • 3.2 Default threading model
    • 3.3 Asynchronous green threads
    • 3.4 What's next
  • CHAPTER 4 - BRIDGE
    • 4.0 Cover page
    • 4.1 The bridge
    • 4.2 Print
    • 4.3 Encode and decode
    • 4.4 What's next
  • CHAPTER 5 - FOUNDATIONS
    • 5.0 Cover page
    • 5.1 Hello world program
    • 5.2 Basic hello world
    • 5.3 Main program of Deno
    • 5.4 Module Specifier
    • 5.5 CLI Factory
    • 5.6 Permissions
    • 5.7 Main Worker
    • 5.8 JS Runtime
    • 5.9 Run main module
    • 5.10 Load module
    • 5.11 Recursive module loading
    • 5.12 Module graphs
    • 5.13 File fetching
    • 5.14 Transpile
    • 5.15 Register / compile module
    • 5.16 Instantiate module
    • 5.17 Evaluate module
    • 5.18 What's next
  • CHAPTER 6 - IMPORTS AND OPS
    • 6.0 Cover page
    • 6.1 Imports and ops
    • 6.2 Hello world program v2
    • 6.3 Module graph with imports
    • 6.4 Transpile
    • 6.5 Registration and instantiation
    • 6.6 Registration of ops
    • 6.7 Evaluate module
    • 6.8 Sync OPs
    • 6.9 Debug logs
    • 6.10 What's next
  • CHAPTER 7 - LOCAL AND SESSION STORAGE
    • 7.0 Cover page
    • 7.1 Introduction
    • 7.2 Local storage
    • 7.3 Session storage
    • 7.4 What's next
  • AFTERWORD
    • Afterword
Powered by GitBook
On this page
  1. Chapter 1 - INTRODUCTION

1.1 Introduction

Previous1.0 Cover pageNext1.2 History of Deno

Last updated 10 months ago

Deno is a secure runtime environment designed specifically for executing JavaScript and TypeScript code. It was released nearly a decade after the initial release of Node.js, building on the foundations laid by its predecessor.

Node.js, a widely adopted runtime for JavaScript, enables developers to utilize JavaScript on the server-side, contributing to its popularity. JavaScript, a programming language with a rich history, remains the most extensively used language globally.

Node.js has a vibrant community, offering a wide range of robust tools and libraries, which facilitate the development of web applications. Its adaptability, user-friendly nature, and community support have contributed to its widespread adoption.

Deno, developed by Ryan Dahl, the creator of Node.js, shares similarities with its predecessor but also introduces distinct features. Both serve as server-side runtimes, executing TypeScript and JavaScript (Node.js supports TypeScript through NPM packages). Deno is often regarded as the next generation of runtime environments, building on the experience and knowledge gained from Node.js. While Node.js has established itself in the industry, Deno, still in its early stages (four years old as of August 2024, with 45 releases from version 1.0 to 1.45), has yet to reach maturity. Deno aims to address the limitations and challenges faced by Node.js, providing a modern and secure alternative for developers.

Before exploring Deno's internals, it is essential to understand its background and the motivations behind its creation. This includes examining the limitations of Node.js and how Deno addresses these drawbacks.

This chapter provides a historical context and inspiration behind Deno's development, paving the way for a deeper understanding of its architecture in the subsequent chapters.

Chapter Contents

1.2 History of Deno
1.3 About Deno
1.4 Releases
1.7 What's next