W3docs

Deno - The Complete Introduction

Learn everything you need to work with Deno, the brand-new JavaScript runtime created by Node.js founder Ryan Dahl

Start course

Deno could be the next big thing - and this courses teaches it from the ground up, with real applications and practical examples!

Deno.js is a JavaScript runtime - just like Node.js is - created by the creator of Node.js.

Wait ... what?

The creator of NodeJS found that Node suffers from certain problems - or that it at least could be better than it is. And Deno is the result of that thought process: It's "a better Node".

You can build the same kinds of apps as you can with Node but you benefit from additional strengths that are built-into Deno:

  • Secure by default because of Deno's permission system
  • Deno embraces modern JavaScript features like async iterators, promises & more
  • Support for both JavaScript as well as TypeScript - out of the box, without any extra compiler
  • ES Module Support & URL Imports instead of local node_modules management

This course teaches Deno from the ground up, without any prior experience about Node being assumed. Such experience will help but it's not required!

We'll dive into Deno and we'll build multiple apps to see how you can use Deno to build real web applications.

In detail, here's what's included in the course:

  • What is Deno and Why is it interesting?
  • Practical Examples & Demo Apps
  • Core Concepts of Deno
  • Working with the Runtime APIs
  • Exploring the Deno Standard Library
  • Creating a Web Server with Deno
  • Using Third Party Modules
  • Working with the Oak Framework to create Web Servers with Ease
  • How to connect Deno to a Database (MongoDB)
  • Rendering server-side HTML with Templating Engines & Deno
  • Building a REST API with Deno
  • A Detailed Comparison of Deno & Node
  • A Look into the Future of Deno & Whether you should use Deno right now

Everything is included in this course already - you can go through all those concepts right after enrolling!

Deno is very new!

It has great chances of becoming an important technology but of course it's too early to tell right now.

However, what you learn in this course will also help you with Node development AND it will help you judge whether Deno is the right choice for you or if you maybe want to focus on Node first.

Everything is possible with this course since it's created such that it teaches you core fundamentals that apply to both Node and Deno.

Deno knowledge will always be helpful and right now you got the chance of being one of the first to understand this brand-new technology!

Course content

Section 1Getting Started

  • Welcome to this Course!
    1:34
  • What is Deno?
    9:35
  • Deno Setup
    4:25
  • Writing a First Deno Program
    4:32
  • What can you Build with Deno?
    2:09
  • Understanding Deno's Ecosystem
    7:07
  • Deno's Current Status
    4:16
  • Course Outline - What's Inside the Course?
    3:39
  • How to Get the Most out of this Course
    3:14
  • Useful Resources & Links
    1:00

Section 2Optional: JavaScript Refresher & TypeScript Introduction

  • JavaScript Refresher: IntroductionPremium
    1:29
  • What are Promises?Premium
    11:20
  • Understanding Async AwaitPremium
    6:46
  • Working with IteratorsPremium
    12:21
  • Async IteratorsPremium
    7:35
  • TypeScript Introduction: What is TypeScript?Premium
    6:02
  • Setting Up TypeScriptPremium
    4:09
  • Assigning TypesPremium
    3:29
  • Understanding Type Inference & Casting ConversionPremium
    6:10
  • TypeScript ConfigurationsPremium
    5:01
  • Understanding Union TypesPremium
    4:23
  • Working with Object & Array TypesPremium
    6:17
  • Type Alias & InterfacesPremium
    3:22
  • Understanding Generic TypesPremium
    5:09
  • SummaryPremium
    0:34
  • Useful Resources & LinksPremium
    1:00

Section 3Understanding Core APIs

  • Module IntroductionPremium
    0:43
  • Deno's Philosophy & Browser CompatibilityPremium
    2:53
  • Writing Some Deno Core CodePremium
    5:26
  • Working with PermissionsPremium
    3:23
  • Deno Visual Studio Code ExtensionPremium
    2:42
  • More About Core APIsPremium
    7:51
  • Time to Practice - ProblemPremium
    1:13
  • Time to Practice - SolutionPremium
    7:12
  • Understanding the Deno Program LifecyclePremium
    7:16
  • Wrap UpPremium
    1:16
  • Useful Resources & LinksPremium
    1:00

Section 4Working with the Standard Library & Creating our First Web Server

  • Module IntroductionPremium
    1:07
  • Introducing the Standard LibraryPremium
    2:01
  • How the Web WorksPremium
    2:15
  • Importing Standard Library ModulesPremium
    7:04
  • A First Web Server!Premium
    7:11
  • Understanding the Import SyntaxPremium
    5:59
  • Comparing Deno & Node.jsPremium
    4:36
  • Manipulating Response Body & HeadersPremium
    5:16
  • Parsing Request MetadataPremium
    7:27
  • Parsing Request DataPremium
    9:21
  • Wrap UpPremium
    1:53
  • Useful Resources & LinksPremium
    1:00

Section 5Improving our Development Workflow & Debugging Deno

  • Module IntroductionPremium
    0:52
  • Using the IDEPremium
    2:46
  • Using TypeScriptPremium
    5:05
  • Dealing with Error MessagesPremium
    4:03
  • Understanding Try CatchPremium
    3:41
  • Debugging with Breakpoints & the DebuggerPremium
    10:28
  • Working with DenonPremium
    6:52
  • Using Import MapsPremium
    4:35
  • Wrap UpPremium
    1:05
  • Useful Resources & LinksPremium
    1:00

Section 6Working with "Oak" & Dynamic Templates

  • Module IntroductionPremium
    2:18
  • Understanding Different Kinds of Web AppsPremium
    10:18
  • Introducing the Oak FrameworkPremium
    11:13
  • Understanding Multiple Middleware FunctionsPremium
    4:06
  • Adding a Router & Parsing Request BodiesPremium
    11:12
  • A First SummaryPremium
    2:46
  • Introducing Templating EnginesPremium
    2:39
  • Using the EJS Templating EnginePremium
    8:17
  • Static ResourcesPremium
    7:27
  • Serving Static Resources SecurelyPremium
    1:00
  • Rendering Lists of DataPremium
    8:29
  • Adding Basic Input ValidationPremium
    2:34
  • Handling "Not Found" ErrorsPremium
    7:41
  • Implementing a Different Folder StructurePremium
    6:17
  • Useful Resources & LinksPremium
    1:00

Section 7Understanding CRUD Operations & the MVC Architecture

  • Module IntroductionPremium
    0:44
  • Create, Read, Update, Delete (CRUD)Premium
    5:13
  • Single Read & Dynamic Path SegmentsPremium
    11:35
  • Deleting DataPremium
    5:31
  • Updating DataPremium
    6:12
  • Introducing the MVC PatternPremium
    2:47
  • Adding a ModelPremium
    10:11
  • Understanding ControllersPremium
    10:40
  • Wrap UpPremium
    1:25
  • Useful Resources & LinksPremium
    1:00

Section 8Working with Databases

  • Module IntroductionPremium
    1:38
  • Databases: What & How?Premium
    6:24
  • How Does Deno Connect to MongoDB?Premium
    4:01
  • Setting Up MongoDBPremium
    2:51
  • Connecting Deno to MongoDBPremium
    10:29
  • Inserting & Using Imports CorrectlyPremium
    7:33
  • Finding & Working with IDsPremium
    8:14
  • Updating & Deleting Data in the DatabasePremium
    5:52
  • Handling ErrorsPremium
    10:08
  • Useful Resources & LinksPremium
    1:00

Section 9Building REST APIs with Deno

  • Module IntroductionPremium
    1:45
  • What are REST APIs & HTTP Methods?Premium
    7:31
  • Designing the APIPremium
    3:07
  • Understanding the JSON FormatPremium
    2:26
  • Defining Routes & ControllersPremium
    6:28
  • Setting Up the Database ConnectionPremium
    4:57
  • Adding the Create & Find Logic in the DatabasePremium
    8:02
  • Connecting the ControllerPremium
    6:17
  • Testing the APIPremium
    4:29
  • Updating DataPremium
    8:15
  • Deleting DataPremium
    3:20
  • Adding a FrontendPremium
    6:08
  • Cross-Origin Resource Sharing (CORS)Premium
    8:32
  • Useful Resources & LinksPremium
    1:00

Section 10Course Roundup & Next Steps

  • Module IntroductionPremium
    0:48
  • Working with Node.jsPremium
    2:59
  • Deno vs NodePremium
    11:38
  • What Should you Learn?Premium
    4:12
  • How to Continue?Premium
    1:54
  • Useful Resources & LinksPremium
    1:00

Course instructor

Photo of Maximilian Schwarzmüller

Maximilian Schwarzmüller

As a self-taught professional I really know the hard parts and the difficult topics when learning new or improving on already-known languages. This background and experience enable me to focus on the most relevant key concepts and topics. My track record of many 5-star rated courses, more than 1,000,000 students worldwide as well as a successful YouTube channel is the best proof for that.

The most rewarding experience for me is to see how people find new, better jobs, build awesome web applications, work on amazing projects or simply enjoy their hobby with the help of my content. That's why, together with Manuel Lorenz, I founded Academind to offer the best possible learning experience and to share the pleasure of learning with our students.