In this article, I've rounded up some of
the best resources and tutorials for the Dart programming language as of 2022.
Whether you're a novice developer trying to
break into the tech industry, an experienced developer checking out a new
language, or even someone just hacking away, learning a new programming
language can be daunting. But as you go through this journey, you become a
better developer with new experiences, new ideas and learning new ways to solve
problems. It's almost like a Czech proverb:
“You live a new life for every language you speak. If you only know one language, you live only once.” – Czech Proverb
So, what is Dart? What can I do with it?
Why learn Dart? I encourage you to read?
Introduction
I'll show you the list of resources in 3
core sections: Beginner, Intermediate, Advanced, and I'll try to keep it short
and concise. Please let me know if any of the links don't work anymore, or if
anything is outdated etc. I will update soon. You may need to have this
article handy for the next few days, so I recommend bookmarking the article so
you can come back and access the link when needed.
Beginner
Look forward to spending a day or two on
this section. With these links, you'll have a good overview of the Dart
programming language, and hopefully you'll be fairly comfortable in Dart.
0. Take a dart language tour
This should be the first link you should
visit to learn Dart, the best place to get an overview of the language.
- Visit Dart Language
- Visit all major Dart language features.dart.dev
Next, you should try out the Dart language
by writing some hello world programs, right? Unlike many other languages, Dart
doesn't require you to install a bunch of SDKs, plugins, and set up a local
development environment for testing. Dart provides a very nice, intuitive and
easy-to-use web interface so you can get started without any hassle. They call
it Dartpad.
DartPad
Edit descriptiondartpad.dartlang.org
You can try out snippets in Dartpad's
language tour and start using Dart right away. You should keep the Dartpad
handy as you will probably be using it a lot for the next stage or even longer.
Ok, enough reading and trying the code, now
let's sit down and watch some videos. Wow. After all, reading lengthy guides is
boring anyway.
Video Time
If you are an absolute beginner, ie just starting to program, then you should go through this playlist:
Tensor, who created the playlist, was very generous with a good first tutorial on the Dart language as well as general programming core concepts.
Here's another video I found, it's a bit old and outdated, but you can still watch this video to get some basics:
You may choose to skip this video, but be
sure to go to the next section. Now we're going from beginner stuff to
intermediate level stuff.
Intermediate
Grab a cup of tea or coffee, a pen/pencil/paper or whatever you use to take notes and let's go. You may need to do this in the next few days:
This playlist from the Smartherd team is an
amazing resource. I recommend it as the initial learner-friendly Dart tutorial.
You'll learn all the basics of Dart and how it can be applied to real-world
scenarios such as Flutter applications. It's a long playlist, but definitely
worth checking out. Jump over your own peril?
I think by now, you may have some questions of your own, or you'd like to learn more about the Dart language itself, how it works, why the syntax is the way it is, etc. If so, it's crucial to look at the Dart FAQ section:
Darts FAQ
You have questions about Dart, we have answers.dart.dev
Spend an hour or two in the FAQ, then move
on to the juicy "Advanced" section.
Advanced
If you're reading this article and watching all the tutorials, please read the guide carefully, and follow the links provided above, by this time you'll probably exceed the week of study time I promised in the title. But trust me, you are now ready to start a real Dart application.
"Talk is cheap. Tell me the code."
– Linus Torvalds
However, becoming an expert in any field is a long and tedious process. And you can't just become an expert by watching tutorials or following a bunch of blog posts.
To master the language, you have to learn the ins and outs of the language, understand the quirks, and learn to be productive with the language.
For this, you have to work on the project
and stay informed with the latest news/updates/bug fixes etc. To help you get
started, you can do the following:
- Contribute to open source Dart projects on GitHub
- Check out popular Dart projects: https://github.com/trending/dart
- Create a command line application: https://dart.dev/tutorials/server/get-started
- Create a web application: https://dart.dev/tools/dart2js
- Continue learning Flutter to build mobile apps
A great place to have cool Flutter
tips/tricks/tutorials updated every day is Dart Lang's very own publication on
Medium.
Dart
Dart is a client-side optimized language for fast applications on any platform. For more information, visit https://dart.dev.medium.com
A good way to understand the internals of a
language is to understand how it was designed/developed/maintained in the first
place. Feel free to dig into the source code of the Dart language itself:
https://github.com/dart-lang/sdk
Next step
Some relevant Twitter handles to follow:
@dart_lang: By the people behind Dart
themselves.
@googledevs: Provided by Google.
@angulardart: For Angular Dart.
@hackernoon: For Dart related posts.
@logicallogics: Be sure to follow me?
Have questions about Dart, or are stuck on
something? Feel free to ask the amazing community on Stack Overflow. Or, better
yet, if you feel confident enough in the Dart language, you can answer some
questions. Here is a link to help you get started.
Latest 'Dart' question
Stack Overflow | stackoverflow.com, the
world's largest online community for developers
In Conclusion
Although Google has made the syntax simple and straightforward, it still takes some time to get the language right, including all the development settings, tools, frameworks/libraries and accompanying details.
If you do that (and I don't mean just browsing the article, but actually following it), then congratulations, you're done. You've learned a new language, you've completed the journey, you've done everything you need to start building applications in Dart.
You are now a Dart developer. Let it sink
in. Pat the back.