Dart
Published: 2022-04-03 08:56:45




Dart is a general-purpose, high-level modern programming language which was originally developed by Google.Dart is a dynamic, class-based, object-oriented programming language with closure and lexical scope.
Dart is an open-source programming language which is widely used to develop the mobile application, modern web-applications, desktop application, and the Internet of Things (IoT) using the Flutter framework.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l6lrf9wytau454e6sq8k.png)

It is a compiled language and supports two types of compilation techniques.
 
**AOT (Ahead of Time)** - It converts the Dart code in the optimized JavaScript code with the help of the dar2js compiler and runs on all modern web-browsers. It compiles the code at build time.
**JIT (Just-In-Time)** - It converts the byte code in the machine code (native code), but only code that is necessary.


**#Why Dart?**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7gsekhjcsjxwqeo27689.png)
→Dart is a platform-independent language .
→It is an open-source language, which means it is available free for everyone.
→Dart comes with the dar2js compiler which transmits the Dart code into JavaScript code that runs on all modern web browsers.
→The stand-alone Dart VM permits Dart code to run in a command-line interface environment.


**#Dart features:-**

Dart is an open-source object-oriented programming language.
Dart is a new programming language that includes a wide range of programming features like interfaces, collections, classes, and dynamic and optional typing.
It is designed for both the server and the browser.


1. Open source
2. Platform independent 
3. Object oriented programming language
4. Concurrency 
5. Extensive libraries
6. Easy to learn 
7. Flexible Compilation
8. Type safe
9. Browser support
10. Community

**#Installation Part:-**
        You can use a package manager to easily install and update a stable channel Dart SDK. Alternatively, you can build the SDK from source, grab a Dart Docker image, or install from any release channel by downloading the SDK as a zip file.

 Dart can be installed on Windows, Linux and macOS. 


**Installation of dart on Windows:-** You can install Dart SDK using Chocolatey.

These commands require administrator rights. Here’s one way to open command prompt window that has admin rights:

Press windows+R to open the run window.
Type cmd in the box.
Press Ctrl+Shift+Enter

To install Dart SDK 

```
- c:/> choco install dart-sdk
```
To upgrade Dart SDK

```
- c:/> choco upgrade dart-sdk
```

 

You can change the location of the SDK file to the desired location you want.




**Dart roadmap:-**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f1fk14c224v32ipgif4q.png)
                   Dart is a programming language that is similar to C and Java. It covers the fundamentals of object-oriented programming.Everything in dart is regarded as an object.
In essence, an object is a collection of data and methods.Objects communicate with one another using methods.
To learn any programming language, start with the fundamentals such as data types, loops, and functions. Further  go with object-oriented principles, and then the advanced topics.


The essentials of dart comprise the features and concepts listed below:-

- Dart Basics:-
1. Dart first program
2. Dart basic syntax
3. Dart comments
4. Dart keywords
5. Dart data types
6. Dart variables
7. Dart operators

- Dart data types:-

1. Dart constants 
2. Dart numbers
3. Dart strings
4. Dart Lists 
5. Dart sets  
6. Dart maps	
7. Dart symbols
8. Dart runes
9. Dart Enumeration

- Control Flow Statement 

1. Dart if statement
2. If else Statement	
3. If else-if statement
4. Switch case Statement
5. Dart Loops
6. Dart For..in Loop
7. Dart while Loop
8. Dart do While Loop
9. Dart Boolean

 

- Dart Function 
 

1.   Anonymous Function
2.    Main() Function
3.    Dart Recursion

-  Object-Oriented
   

1. Object-Oriented concepts
2.    Classes & Object
3.    Dart constant
4.    Dart this keyword
5.    Dart static keyword
6.    Dart super keyword
7.    Dart Inheritance
8.    Super Constructor
9.    Dart method
10.    Method Overriding
11.    Getters & Setters
12.    Abstract Classes
13.    Dart Interface                                      

 

- Dart Advance topics 
  

1. Dart Exception
2.   Dart Typedef
3.   Dart Metadata
4.   Dart collection
5.   Dart generics
6.   Dart Packages
7.   Dart libraries
8.   Dart Generator
9.   Dart Callable Classes
10.   Dart Isolates
11.   Dart Async
12.   Dart Concurrency
13.   Dart Unit Testing
14.   Dart HTML DOM