Learning Dart: Become more productive with Dart
4.7 (5 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
66 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learning Dart: Become more productive with Dart to your Wishlist.

Add to Wishlist

Learning Dart: Become more productive with Dart

Program applications with Dart 1.0, a language specifically designed to produce better-structured, high-performance app
4.7 (5 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
66 students enrolled
Created by Packt Publishing
Last updated 5/2016
Curiosity Sale
Current price: $10 Original price: $75 Discount: 87% off
30-Day Money-Back Guarantee
  • 2 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • See how to set up the Dart SDK and bootstrap your Dart project
  • Store your data with MongoDB, one of the most popular NoSQL databases, and access your MongoDB databases from Dart
  • Get to know the advanced language features of Dart such as mixins, the null-aware operator, and the factory constructor
  • Unit test your code and apply continuous integration tools for Dart
  • Use the power of object-oriented programming to process and store data
  • Find out how to manage dependencies on other software packages in the eco system with pub
  • Get to know the basics of Angular 2, a frontend framework developed by Google
View Curriculum
  • Some minor experience with a text editor and running command line tools is assumed.

Dart is a new open source programming language for the web. Developed by Google, Dart is gaining popularity and has a steadily growing community. It is a single language for both client and server that can be used to build large-scale web, server, and mobile applications. Stop solving new challenges with the same old tools—let Dart show you a whole new way!

This course, by looking at the language features and beyond, gives you the knowledge to create the next great web application that your users need. Ever wondered how to write a great application, like Slack, Gmail, Facebook, Pinterest, Twitter, and so on? This course will guide you into the wonderful world of web development with the dartlang programming language. Throughout the course, you will get a more mature sense of how to build a great application and see all the facets that are needed to reach that goal.

This course takes us from basic programming knowledge to understanding how to manage and build a full-stack web application. We will cover the important language features of Dart with some advanced features such as mixins and the null aware operator. Later on, you'll see how to use unit tests, work with browser APIs, and set up of a web server. Finally, we will take a look at Angular 2, a great front-end framework also built by the employers of Google.

This course provides you with everything you need to know to start or enhance your career in web development.

About The Author

Joris Hermans is a Senior Software Developer with more than 10 years in programming for the web. He has worked for an online directory company who create web applications that get traffic hits of more than a million page views a week. He has a lot of experience in building large-scale web applications. He is also a proud member of the dartlang community and therefore he created a lot of open source packages in dartlang, one of which is dart force, a real-time web framework. 

Who is the target audience?
  • This video course is targeted for developers who want to learn Dart programming. It is also aimed for senior undergrad and first year grad students beginning in the field of programming.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
29 Lectures
Setting Up Our Environment
4 Lectures 15:26

This video provides an overview of the entire course.

Preview 06:03

What can you do without the necessary tools? How can you start programming without having the installation of the language itself? This video will explain how to install Dart and the IDE to develop your application with Dart. 

Installing Dart

Before we can dive into programming with the Dart programming language, we need to understand the command-line tools and possibilities that assist us in crafting a Dart application. 

Basic Dart Command-line Commands

When you want to start off with your application, you will want to have a baseline as a starting point. With Dart, we have tools such as stagehand to help us with providing options to create a Dart web application. 

Creating a Basic Web Application
Basics of Our Dart Application
3 Lectures 09:26

The user doesn’t know how to program in Dart. How can we adapt our application with custom logic? So, we will start teaching them the basics with the creation of a function and reacting upon some actions that a user does in the HTML page. 

Preview 03:32

We want to style our application and also change some of the style within our Dart code. This video will show where to change the style sheets in our application and how to change them programmatically. 

Adding Some Styles to Our Web Application

We want to respond to commands and go over all the options. The viewer needs to get a better view on what we are going to build. We will show the viewer how they can respond to commands with the if statement and the switch statement in Dart. 

Navigating Through Our MUD World
Learning OOP in Dart
4 Lectures 13:22

In many languages, you can structure your code according to certain paradigms. Dart is an object-oriented programming language. In this video, we will learn how to write multiple classes and how to inherit from another class. 

Preview 03:46

In this video, we will explore how inheritance works in Dart. The main and important part is the abstract class principle. 


Our classes and files are all defined in the main.dart file. When our code grows in size, our file will grow too. We can overcome this and make it more maintainable by implementing a library and putting all the different classes in separate files. 

Implementing a Library

The field variables need to be set, but they must also be manipulated before they will be set. With a setter, we can accomplish this. With a getter, we can alternate our value before sending it to the asked object. 

Getters and Setters
Advanced Dart Language Features
4 Lectures 15:21

When you want to create an object of some kind but don’t know what kind of object it should be because you want to create it around a certain context, you can use a Factory constructor. Dart has the native Factory pattern. This is what we are going to teach our viewers in this video. 

Preview 04:18

You, as a developer, want to provide in your library the possibility to add parameters that are not required to fill in. In Dart, you have some options. We will show all the options to accomplish this. 

Optional Versus Formal Parameters

Sometimes, in code, we need to write check expressions to see when an object is null. This gives us a lot boilerplate code. With null-aware operators, we can reduce the amount of code to work with, using references that are potentially null. 

null-aware Operators

When you want to enhance the class with new functionality, you can extend from a base class, but if you also have other functionality enhancements, this is not possible anymore. That is when mixins come into place. 

Testing Our Code
3 Lectures 11:29

When you write software, it is important to test your code in an automated way. How can we do this in Dart? This is what this video is all about. 

Preview 04:33

What if you want to test an implementation that needs to interact with the browser? With a normal unit test, as in the previous chapter, this is not possible. 

Browser Testing

When you are writing code, you don’t know if you break something. But with these continuous integration tools, your tests are executed every time you commit your code to a code repository. 

Continuous Integration Tools for Dart
Managing Our World
3 Lectures 16:50

We, as a user, want to interact with a server, because we want to configure our application without changing our code. The first step for this is creating a REST API. In this video, we are going to describe how you can create a REST API in Dart. 

Preview 05:47

When we want to have an initial state of our application, we want some data to be already in our system. This video will explain how to look at MongoDB data and how to write an initial data script. 

Adding Data to MongoDB

We now have our API, but how can we use it in our game? What are the tools within rpc for making this connection with our API method? All this will be covered in this video. 

Client-side Request to Our API
Browser Features
4 Lectures 15:21

At the time of leaving our page, we don’t have any way to save the state of our game. So when we open our browser again, we need to go to the same location where we left. We can do this with localstorage. 

Preview 04:56

When you want to add some sounds to your web application, how are you going to do that? This video will explain. 

Adding Sound

When we want to leave our page and load our game settings in another browser, we can save our game settings in a text file. This can be done by writing its content in a blob. 

Saving a Game into a File

The previous game setting needs to be loaded when we want to visit another browser. This video will explain how to load a file into a browser. 

Loading a Game File
Using a Frontend Framework
2 Lectures 11:58

In the past, we used the low-level browser APIs and packages in Dart. This leads to a lot of boilerplate code. When we use a framework, we can write reusable components and code that only matters to us. 

Preview 05:45

In this video, we will explore the most important parts of Angular 2 and how can we use it to our advantage. 

Angular 2 Building Blocks
Troubleshooting and References
2 Lectures 08:59

When an application is very slow, and you want to know why some of this web application takes too much memory, you need to profile the application to find the root case. This video will give an introduction to the tool that can help you with this. 

Preview 04:41

What can the viewer do after this course? How can they learn and move forward? Some nice tools and websites will be shown to help them further. 

About the Instructor
Packt Publishing
3.9 Average rating
7,282 Reviews
52,051 Students
616 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.