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 courseDeno 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 Setup4:25
- Writing a First Deno Program4:32
- What can you Build with Deno?2:09
- Understanding Deno's Ecosystem7:07
- Deno's Current Status4:16
- Course Outline - What's Inside the Course?3:39
- How to Get the Most out of this Course3:14
- Useful Resources & Links1:00
Section 2Optional: JavaScript Refresher & TypeScript Introduction
- JavaScript Refresher: IntroductionPremium1:29
- What are Promises?Premium11:20
- Understanding Async AwaitPremium6:46
- Working with IteratorsPremium12:21
- Async IteratorsPremium7:35
- TypeScript Introduction: What is TypeScript?Premium6:02
- Setting Up TypeScriptPremium4:09
- Assigning TypesPremium3:29
- Understanding Type Inference & Casting ConversionPremium6:10
- TypeScript ConfigurationsPremium5:01
- Understanding Union TypesPremium4:23
- Working with Object & Array TypesPremium6:17
- Type Alias & InterfacesPremium3:22
- Understanding Generic TypesPremium5:09
- SummaryPremium0:34
- Useful Resources & LinksPremium1:00
Section 3Understanding Core APIs
- Module IntroductionPremium0:43
- Deno's Philosophy & Browser CompatibilityPremium2:53
- Writing Some Deno Core CodePremium5:26
- Working with PermissionsPremium3:23
- Deno Visual Studio Code ExtensionPremium2:42
- More About Core APIsPremium7:51
- Time to Practice - ProblemPremium1:13
- Time to Practice - SolutionPremium7:12
- Understanding the Deno Program LifecyclePremium7:16
- Wrap UpPremium1:16
- Useful Resources & LinksPremium1:00
Section 4Working with the Standard Library & Creating our First Web Server
- Module IntroductionPremium1:07
- Introducing the Standard LibraryPremium2:01
- How the Web WorksPremium2:15
- Importing Standard Library ModulesPremium7:04
- A First Web Server!Premium7:11
- Understanding the Import SyntaxPremium5:59
- Comparing Deno & Node.jsPremium4:36
- Manipulating Response Body & HeadersPremium5:16
- Parsing Request MetadataPremium7:27
- Parsing Request DataPremium9:21
- Wrap UpPremium1:53
- Useful Resources & LinksPremium1:00
Section 5Improving our Development Workflow & Debugging Deno
- Module IntroductionPremium0:52
- Using the IDEPremium2:46
- Using TypeScriptPremium5:05
- Dealing with Error MessagesPremium4:03
- Understanding Try CatchPremium3:41
- Debugging with Breakpoints & the DebuggerPremium10:28
- Working with DenonPremium6:52
- Using Import MapsPremium4:35
- Wrap UpPremium1:05
- Useful Resources & LinksPremium1:00
Section 6Working with "Oak" & Dynamic Templates
- Module IntroductionPremium2:18
- Understanding Different Kinds of Web AppsPremium10:18
- Introducing the Oak FrameworkPremium11:13
- Understanding Multiple Middleware FunctionsPremium4:06
- Adding a Router & Parsing Request BodiesPremium11:12
- A First SummaryPremium2:46
- Introducing Templating EnginesPremium2:39
- Using the EJS Templating EnginePremium8:17
- Static ResourcesPremium7:27
- Serving Static Resources SecurelyPremium1:00
- Rendering Lists of DataPremium8:29
- Adding Basic Input ValidationPremium2:34
- Handling "Not Found" ErrorsPremium7:41
- Implementing a Different Folder StructurePremium6:17
- Useful Resources & LinksPremium1:00
Section 7Understanding CRUD Operations & the MVC Architecture
- Module IntroductionPremium0:44
- Create, Read, Update, Delete (CRUD)Premium5:13
- Single Read & Dynamic Path SegmentsPremium11:35
- Deleting DataPremium5:31
- Updating DataPremium6:12
- Introducing the MVC PatternPremium2:47
- Adding a ModelPremium10:11
- Understanding ControllersPremium10:40
- Wrap UpPremium1:25
- Useful Resources & LinksPremium1:00
Section 8Working with Databases
- Module IntroductionPremium1:38
- Databases: What & How?Premium6:24
- How Does Deno Connect to MongoDB?Premium4:01
- Setting Up MongoDBPremium2:51
- Connecting Deno to MongoDBPremium10:29
- Inserting & Using Imports CorrectlyPremium7:33
- Finding & Working with IDsPremium8:14
- Updating & Deleting Data in the DatabasePremium5:52
- Handling ErrorsPremium10:08
- Useful Resources & LinksPremium1:00
Section 9Building REST APIs with Deno
- Module IntroductionPremium1:45
- What are REST APIs & HTTP Methods?Premium7:31
- Designing the APIPremium3:07
- Understanding the JSON FormatPremium2:26
- Defining Routes & ControllersPremium6:28
- Setting Up the Database ConnectionPremium4:57
- Adding the Create & Find Logic in the DatabasePremium8:02
- Connecting the ControllerPremium6:17
- Testing the APIPremium4:29
- Updating DataPremium8:15
- Deleting DataPremium3:20
- Adding a FrontendPremium6:08
- Cross-Origin Resource Sharing (CORS)Premium8:32
- Useful Resources & LinksPremium1:00
Section 10Course Roundup & Next Steps
- Module IntroductionPremium0:48
- Working with Node.jsPremium2:59
- Deno vs NodePremium11:38
- What Should you Learn?Premium4:12
- How to Continue?Premium1:54
- Useful Resources & LinksPremium1:00
Course instructor
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.