Dart: what is it and why Flutter uses Dart?

dart flutter

What is William Shakespeare famous for? His literature works. To put it another way, his ways of using and combining language is brilliant. A little off topic, but it’s to show you the importance of language to a well-known work. Likewise, to have a successful Flutter app, you need to have Dart. Think about it, isn’t it correct?

Today, AHT devoted team would love to introduce the awesomeness of Dart by answering these 4 questions:

  • What is Dart?
  • What are its components?
  • Who is using Dart? (sneak peak: there’s one that everybody knows)
  • Why does Flutter use it?

Let’s get started!

What is Dart?

Dart is an open-source programming language like Python, JavaScript and PHP and was developed by Google in 2011. What’s more, the latest version in time of this article was 2.8.4 in June 2020.

Although Dart is not as popular, it has the biggest increasing gap and stands at 19. We are really looking forward to its huge jump next month or year!

dart ranking

What is Dart used for, you ask? It helps create frontend UI for web and mobile apps. Overall, the biggest difference between Dart and other languages is that it supports collection. In other words, it can copy the data structure, namely arrays, generics and optional typing. Below is an example:

void main() {  

  for (int i = 0; i < 5; i++) {  

    print('hello ${i + 1}');  



What are Dart components?

Data Type

In Dart, every value must have a type when compiling the code. Here are 4 most common types with example:

a. String

It holds text and uses single or double quotation marks

String myName = 'javatpoint';

b. Num, int, double

There are 2 types in Dart:

  • Integer
int age = 25
  • Double
double price = 125.50

c. Boolean

It uses keywords to represent True/False value

bool var_name = true;


bool var_name = false;

d. Object

can go from general to complex

Person = Person()

Variables and Functions

Variables are the namespace that store values while functions are a set of statements that can perform a task. For example,


var price1 = 29.99;  
var price2 = 20.81;


var price1 = 29.99;  
var price2 = 20.81;  
var total = addNumbers(price1, price2);
dart datatype
All datatypes


Arithmetic, Equality, Increment and Decrement, Logical and Comparison are all supported in Dart.

Decision Making & Loops

Dart can process If, If-else and Switch decision-making statements. 

As for Loops, ‘for, for..in, while, do…while’ are available.

Continue and Break

It helps stop the current flow to continue a loop.

void main() {   
  for(int i=1;i<=10;i++){    
      continue; //it will skip the rest statement   

Final and Const Keyword

Final keyword is used to limit and restrict users, while Const helps declare constants. 

void main() {   
  final a = 100;  
  const pi = 3.14;  

Object-oriented Programming

Object is an entity and has state and behaviour.

Class is a collection of objects and also includes Fields, Methods, Constructor, Getters and Setters.

Who uses Dart?

Although relatively new, it is widely used by some of these brands namely Blossom, Alibaba, Workiva,… and above all, Google.

Dart google
Google also uses it!

Here comes the most concerned question:

Why does Flutter use Dart?

In short, simple because Dart offers lots of amazing features and functions that Flutter needs. But what exactly are they?

#1. Compilation and Execution

  • Compiling and Executing Dart

Dart is the only common programming language that can compile both AOT and JIT. Thus, it is super beneficial for Flutter

  • Stateful Hot Reload

If you have read’ Flutter app: How to improve its performance?’, you will know that Hot Reload plays a vital role in Flutter. Hot reload makes it easier to experiment with alternatives. As a result, developers can freely try multiple methods and boost creativity!

D A R T – first step to Flutter!

#2. Avoiding Jank

Avoiding Jank will make the app run extra smoothly. What a coincidence, Dart offer such features to avoid common things that cause jank:

  • AOT compilation and the ‘bridge’
  • Scheduling and shared resources
  • Allocation and garbage collection

In fact, Dart uses an advanced scheme that leads to smooth scrolling and animation!

#3. Unified Layout

To clarify, when using Dart, Flutter does not split layout among your program. As a result, it is much easier and faster to visualize the code outcome! After all, the new tools will surely make complex layouts more simple to test and run.

Looking for help? AHT is only one call away!

Founded in 2007, ArrowHitech JSC is one of the leading IT outsourcing companies in Vietnam. We have worked with over 1,000 customers worldwide and completed more than 10,000 projects. Based in an Asian country, we provide effective services at a very low cost.


We value every customer, treat them like family and build relationships on trust. For that reason, we are confident that we can help YOU operate your online stores and deliver the best solutions at an affordable cost. For reference, check out our Flutter App Development Services right now – we welcome customers all the time!

Final Words

Finally, we have come to the end of today’s topic: Dart and why Flutter loves it. AHT hopes that you have learned lots of new ideas that will serve your future. Again, as usual, we truly wish you the best of good luck and success!