What Is Deno?

Deno is a modern, secure runtime for JavaScript and TypeScript built on V8 and Rust. Created by Ryan Dahl — the original creator of Node.js — Deno was designed to address many of the architectural regrets that came with Node. It ships with TypeScript support out of the box, a secure permission model, and a standard library that doesn't rely on npm.

Installing Deno

Getting Deno up and running takes less than a minute. Choose the method that matches your operating system:

macOS / Linux

curl -fsSL https://deno.land/install.sh | sh

Windows (PowerShell)

irm https://deno.land/install.ps1 | iex

Via Homebrew (macOS)

brew install deno

After installation, verify it worked by running:

deno --version

You should see output showing the Deno version, V8 version, and TypeScript version bundled with it.

Your First Deno Program

Create a file called hello.ts and add the following:

const name: string = "Deno";
console.log(`Hello from ${name}!`);

Run it with:

deno run hello.ts

Notice that you didn't need to compile anything, install dependencies, or configure a bundler. Deno handles TypeScript natively.

Core Concepts You Need to Know

1. No node_modules, No package.json

Deno imports modules directly via URLs. Instead of npm install, you reference a module in your code:

import { serve } from "https://deno.land/std/http/server.ts";

Modules are cached locally after the first download, so subsequent runs are fast and offline-friendly.

2. Secure by Default

Deno programs cannot access the file system, network, or environment variables unless you explicitly grant permission. For example, to allow network access:

deno run --allow-net server.ts

3. Built-in TypeScript

No tsconfig.json required for basic usage. Write .ts files and Deno compiles them on the fly.

4. Standard Library

Deno ships with a curated standard library at deno.land/std covering HTTP, file system, testing, formatting, and more — all reviewed by the Deno team.

Useful Built-in Tools

  • deno fmt — Formats your code automatically (like Prettier, built in)
  • deno lint — Lints your TypeScript/JavaScript code
  • deno test — Runs your test suite without extra libraries
  • deno compile — Bundles your app into a standalone executable
  • deno repl — Opens an interactive TypeScript/JavaScript shell

What to Learn Next

  1. Explore the Deno standard library modules for common tasks
  2. Build a simple HTTP server using the built-in Deno.serve() API
  3. Understand permissions in depth — they're central to Deno's security model
  4. Try Fresh or Oak if you want to build web applications

Deno has a well-written official manual at docs.deno.com that's worth bookmarking as you progress. The learning curve is gentle if you already know JavaScript or TypeScript — and rewarding from day one.