This app starts with an introduction to the Dart IDE, after which you will take a look at the various components of the Dart programming language. You will look at types and variables, and get to know the significance of collections and arrays in Dart. Once you've familiarized yourself with the initial components of Dart, you will see how flow of control and looping can be achieved by using if, else, and conditional expressions. Moving on to functions and objects, you will dig deeper into the concepts of object oriented programming to gauge the importance of constructors in Dart. You will then discover more about inheritance and mixins, seeing how they contain methods for use by other classes. Then you will learn about reflection and dart concurrency like isolates, streams and more. You will also learn about client side dart like using dart for web development. Then we will move forward to dart testing like unit testing etc. Dart is a new, innovative language which is poised to take the web by storm. For client side web app development, Dart has many advantages over JavaScript. These include but are not limited to improved speed, enforcement of programmatic structure, and improved facilities for software reuse. Best of all, Dart is automatically converted to JavaScript so that it works with all web browsers. Dart is a fresh start, without the baggage of the last two decades of the web. Why start learning to program with yesterday's technology? Altogether, this course provides you the power to create powerful applications with Dart, without worrying about your knowledge leading to you having to make compromises to the end product!