Learn Dart In A Week With These Free Resources

Written by nafis.fuad | Published 2019/06/08
Tech Story Tags: programming | flutter | dart | software-development

TLDRvia the TL;DR App

In this article, I sum up some of the best resources and tutorials for the Dart programming language as of 2019.

Whether you’re a newbie dev trying to get into the tech industry, an experienced dev checking out new languages, or even someone just hacking around, learning a new programming language can be daunting. But when you go through that journey, you come out as a better developer with new experiences, new ideas and learn new approaches to solving problems. It’s almost like that Czech proverb:

“You live a new life for every language you speak. If you know only one language, you live only once.” — Czech proverb

So, what is Dart? What can I so with it? Why learn Dart? I encourage you to read 👉 my last article where I discussed the various amazing aspects of the Dart language, and how you can be pretty productive with it in just a few days. If the article was not enough to convince you to learn Dart, then here’s a list of other resources you should visit:

Intro

I’ll present you the resources list in 3 core sections: Beginner, Intermediate, Advanced, and I’ll try to keep it short, concise and simple. Please let me know if any of the links are not working anymore, or anything gets outdated, etc. I’ll try to be prompt in updating 😉. You might need to keep this article handy for the next few days, so I suggest you bookmark the article to come back and visit the links whenever you require.

Beginner

Please expect to spend a day or two in this section. Following these links, you’ll get a good overview of the Dart programming language, and hopefully, you’ll get pretty comfortable in Dart.

0. Take the Dart Language Tour

This should be the first link you should visit for learning Dart, it’s the best place to get a good overview of the language.

A tour of the Dart language

Next, you should try out the Dart Language by coding some hello worldprograms, right? Unlike many other languages, Dart doesn’t require you to install a bunch of SDKs, plugins, and set up a local dev environment just to test it out. Dart provides a very nice, intuitive and easy-to-use web interface so that you can get started with zero effort. They call it Dartpad.

DartPad

You can try out snippets from the language tour in the Dartpad and instantly get started with Dart. You should keep the Dartpad handy, cuz you might need it often in your next stages, and beyond. 😸

Okay, enough reading and trying out code, now let’s sit back and watch some videos. Woooh 👋👋👋. After all, it’s boring to read lengthy guides anyway.

*Videos Time*

If you’re an absolute beginner, that is, just getting started in programming, then you should go through this playlist:

<a href="https://medium.com/media/a327ba8159668c2f690a30d79e7c8561/href">https://medium.com/media/a327ba8159668c2f690a30d79e7c8561/href</a>

Tensor, the guy who created the playlist, quite generously gave a good first tutorial on the Dart language along with some core concepts of programming in general.

Here’s another video that I found, it’s a bit old and a bit outdated, but you can still watch this one to get some basics down:

<a href="https://medium.com/media/bbaf2ed9ed1127879b05ff7847d6c537/href">https://medium.com/media/bbaf2ed9ed1127879b05ff7847d6c537/href</a>

You can choose to skip this video, but be sure to move on to the next section. Now we’re going to transition from beginner stuff to intermediate level stuff.👇👇👇

Intermediate

Grab a cup of tea or coffee, and a pen/pencil/paper or whatever you use for taking notes, and get started. You might need to spend the next few days going through this one:

<a href="https://medium.com/media/9c33b63297904f267b37170ee89a22b1/href">https://medium.com/media/9c33b63297904f267b37170ee89a22b1/href</a>

This playlist from Team Smartherd is an amazing resource. I’d recommend it as the most beginner friendly Dart tutorial out there. You‘ll learn all the basics of Dart and how that applies to real-world scenarios, like in a Flutter application. It’s one long playlist, but definitely worth going through. Skip at your own peril 🙏

I think by now, you probably have a few questions of your own, or you want to know a bit more about the Dart language itself, how it works, why the syntax is the way it is, and so on. If so, then it’s crucial to look into the Dart FAQ section:

Dart FAQ

Spend an hour or two in the FAQ and then move on to the juicy “Advanced” section.

Advanced

If you’re following the article and have watched all the tutorials, read through the guides, and gone through the links provided above, then by this time, you might be way over the one week learning time that I promised in the title. But trust me, you’re now ready to work on real Dart applications.

“Talk is cheap. Show me the code.”― Linus Torvalds

However, becoming an expert in any field is a lengthy, tedious process. And you can’t become an expert by just watching tutorials, or following along a bunch of blog posts.

To master the language, you’ve got to learn the nitty gritty details of the language, be aware of the quirks, also, learn to be productive in that language.

For that, you’ve got to work on projects and keep yourself updated with the latest news/updates/bug fixes, etc. To get you started, here’re a few things you can do:

  1. Contribute to Open Source Dart projects on GitHub
  2. Look into trending Dart projects: https://github.com/trending/dart
  3. Create a command line application: https://dart.dev/tutorials/server/get-started
  4. Create a web application: https://dart.dev/tools/dart2js
  5. Keep going on and learn Flutter to build mobile applications!

A great place to keep yourself updated with some cool Flutter tips/tricks/tutorials on a daily basis is none other than Dart Lang’s very own publication here on Medium.

Dart

A great way to learn about the internals of a language is to see how it’s designed/developed/maintained in the first place. Feel free to dive deep into the source code of the Dart Language itself: https://github.com/dart-lang/sdk

Next Steps

Some relevant Twitter handles to follow around:

Got any questions about Dart, or got stuck on something? Feel free to ask the amazing community on Stack Overflow. Or, even better, if you’re confident enough in the Dart language, you might as well answer some questions there. Here’s a link to get you started.

Newest 'dart' Questions

Conclusion

Despite the fact that Google made the syntax simple and clear, it still does take some time to master the language properly with all the dev setup, tooling, frameworks/libraries and specifics that come with it.

If you made it this far (I mean not just skimming through the article, but actually following it 😄), then congrats, sis, you’ve done it. 🎉 🎉 🎉 You’ve learned a new language, you’ve gone through the journey, you’ve done all it takes to start building applications with Dart.

You’re a Dart developer now. Let that sink in. Pat in the back.

Minions clapping and cheering for you

Outro

Would you like to add more to the list? Let me know in the comments.

You can follow me around on Medium, Linkedin and Twitter to get notified whenever I publish a new post. If any of the above links don’t work, or get out of date, or get removed, just let me know in the comments section below, or reach out to me via Twitter. You can also follow me on Github.

NOTE: If anyone wants to translate this article into any other language, s/he is free to do so. While crediting is not strictly required, it’ll make me feel really good if you do so.

Lastly, I’m extremely sorry for the delay in publishing this one so late because I got stuck in something. 😜 And, a huge shout out to all those who‘ve been eagerly waiting for this article since the first one got published.

Who the heck am I, and what do I do?

Hi, I’m Nafis Fuad. I’m a Full Stack Developer and creative individual who designs + develops web & mobile apps. When I’m not coding, I write about tech, entrepreneurship, business, productivity,etc. For development, I generally use React, Vue on the frontend, and Node.js, Express and GraphQl for backends. Had been using React Native for mobile apps, until I fell in love with Flutter. If you want to work with me, or just want to say hello, don’t hesitate to shoot me an email or to drop a line here


Published by HackerNoon on 2019/06/08