<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hoang Nguyen</title>
    <description>The latest articles on DEV Community by Hoang Nguyen (@hoangnguyen0403).</description>
    <link>https://dev.to/hoangnguyen0403</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F847680%2F4696477e-9985-46d1-972f-83a587097a1e.jpg</url>
      <title>DEV Community: Hoang Nguyen</title>
      <link>https://dev.to/hoangnguyen0403</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hoangnguyen0403"/>
    <language>en</language>
    <item>
      <title>Widgets in Flutter — Flutter Basic Programming — Part 3</title>
      <dc:creator>Hoang Nguyen</dc:creator>
      <pubDate>Wed, 27 Apr 2022 03:46:58 +0000</pubDate>
      <link>https://dev.to/hoangnguyen0403/widgets-in-flutter-flutter-basic-programming-part-3-1a4d</link>
      <guid>https://dev.to/hoangnguyen0403/widgets-in-flutter-flutter-basic-programming-part-3-1a4d</guid>
      <description>&lt;p&gt;Hello guys, in previous story i’ve talk about installation in Flutter to prepare for today topic so that finally we can start to write code with Flutter. If you aren’t set up environment, please check previous story about &lt;a href="https://dev.to/hoangnguyen0403/flutter-installation-flutter-basic-programming-part-2-6i2"&gt;Flutter Installation&lt;/a&gt;. In this article i'll talk about Widgets and State. Please read it at &lt;a href="https://hoangnguyen0403.medium.com/widgets-in-flutter-flutter-basic-programming-part-3-38af9b070a90"&gt;Medium&lt;/a&gt; story. Thanks!&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>mobile</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Flutter Installation — Flutter Basic Programming — Part 2</title>
      <dc:creator>Hoang Nguyen</dc:creator>
      <pubDate>Mon, 25 Apr 2022 08:55:45 +0000</pubDate>
      <link>https://dev.to/hoangnguyen0403/flutter-installation-flutter-basic-programming-part-2-6i2</link>
      <guid>https://dev.to/hoangnguyen0403/flutter-installation-flutter-basic-programming-part-2-6i2</guid>
      <description>&lt;p&gt;Hello guys. I've finish two path of series &lt;a href="https://dev.to/hoangnguyen0403/series/17852"&gt;Flutter Programming&lt;/a&gt;. The second topic will help you installation Flutter environment before you start run code. So take a look at &lt;a href="https://hoangnguyen0403.medium.com/flutter-installation-flutter-basic-programming-part-2-256628fb687"&gt;Installation Guide&lt;/a&gt; in Medium.&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>mobile</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Before start with Flutter — Flutter Programming — Part 1</title>
      <dc:creator>Hoang Nguyen</dc:creator>
      <pubDate>Mon, 25 Apr 2022 02:36:24 +0000</pubDate>
      <link>https://dev.to/hoangnguyen0403/before-start-with-flutter-flutter-programming-part-1-6nh</link>
      <guid>https://dev.to/hoangnguyen0403/before-start-with-flutter-flutter-programming-part-1-6nh</guid>
      <description>&lt;p&gt;Hello guys. So i've finished first series about &lt;a href="https://dev.to/hoangnguyen0403/series/17737"&gt;Dart Basic Programming&lt;/a&gt;. Next i'll write about &lt;a href="https://hoangnguyen0403.medium.com/list/flutter-basic-programming-a264438d45bc"&gt;Flutter Basic Programming&lt;/a&gt; in Medium. Hope this series will help newbie familiar with Flutter. Please follow my lastest story about &lt;a href="https://hoangnguyen0403.medium.com/before-start-with-flutter-flutter-programming-part-1-7226567f785e"&gt;Flutter Overview&lt;/a&gt; in Medium. Thanks for reading!&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>mobile</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Understanding Dart Null-Safety — Dart Programming — Part 7</title>
      <dc:creator>Hoang Nguyen</dc:creator>
      <pubDate>Sat, 23 Apr 2022 08:38:04 +0000</pubDate>
      <link>https://dev.to/hoangnguyen0403/understanding-dart-null-safety-dart-programming-part-7-3c4a</link>
      <guid>https://dev.to/hoangnguyen0403/understanding-dart-null-safety-dart-programming-part-7-3c4a</guid>
      <description>&lt;p&gt;Hello guys. From now on i'll move into Medium to write blog but still want to share for another channel. So i'll up-to-date my blog in here. You guys can check my lastest about &lt;a href="https://hoangnguyen0403.medium.com/understanding-dart-null-safety-dart-programming-part-7-53695d82cc05"&gt;Null-Safety on Dart&lt;/a&gt; in Medium.&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>mobile</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Control Flow statement on Dart — Dart Programming — Part 6</title>
      <dc:creator>Hoang Nguyen</dc:creator>
      <pubDate>Fri, 22 Apr 2022 09:23:35 +0000</pubDate>
      <link>https://dev.to/hoangnguyen0403/control-flow-statement-on-dart-dart-programming-part-6-119i</link>
      <guid>https://dev.to/hoangnguyen0403/control-flow-statement-on-dart-dart-programming-part-6-119i</guid>
      <description>&lt;p&gt;Hello guys. From now on i'll move into Medium to write blog but still want to share for another channel. So i'll up-to-date my blog in here. You guys can check my lastest about &lt;a href="https://hoangnguyen0403.medium.com/control-flow-statement-on-dart-dart-programming-part-6-c94c2d5d8c5a"&gt;Dart Control Flow&lt;/a&gt; in Medium.&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>mobile</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Dart Classes— Dart Programming — Part 5</title>
      <dc:creator>Hoang Nguyen</dc:creator>
      <pubDate>Wed, 20 Apr 2022 08:57:04 +0000</pubDate>
      <link>https://dev.to/hoangnguyen0403/dart-classes-dart-programming-part-5-3lkf</link>
      <guid>https://dev.to/hoangnguyen0403/dart-classes-dart-programming-part-5-3lkf</guid>
      <description>&lt;p&gt;Hello guys. From now on i'll move into Medium to write blog but still want to share for another channel. So i'll up-to-date my blog in here. You guys can check my lastest about &lt;a href="https://medium.com/p/1136e78f3d1a"&gt;Dart Classes&lt;/a&gt; in Medium.&lt;/p&gt;

</description>
      <category>dart</category>
      <category>flutter</category>
      <category>mobile</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Dart Operators — Dart Programming — Part 4</title>
      <dc:creator>Hoang Nguyen</dc:creator>
      <pubDate>Wed, 20 Apr 2022 02:06:31 +0000</pubDate>
      <link>https://dev.to/hoangnguyen0403/dart-operators-dart-programming-part-4-5g6b</link>
      <guid>https://dev.to/hoangnguyen0403/dart-operators-dart-programming-part-4-5g6b</guid>
      <description>&lt;p&gt;Hello guys. From now on i'll move into Medium to write blog but still want to share for another channel. So i'll up-to-date my blog in here. You guys can check my lastest about &lt;a href="https://hoangnguyen0403.medium.com/dart-operators-dart-programming-part-4-f304d941c541"&gt;Dart Operator&lt;/a&gt; in Medium&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>flutter</category>
      <category>dart</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Hey! Dart variables - Dart programming - Part 3</title>
      <dc:creator>Hoang Nguyen</dc:creator>
      <pubDate>Mon, 18 Apr 2022 07:45:09 +0000</pubDate>
      <link>https://dev.to/hoangnguyen0403/take-a-look-with-dart-variables-dart-programming-part-3-3eph</link>
      <guid>https://dev.to/hoangnguyen0403/take-a-look-with-dart-variables-dart-programming-part-3-3eph</guid>
      <description>&lt;p&gt;Hello guys. So we had went through two article for introduce about Dart languages with me. In this article, I'll talk about Variables in Dart. Before start, I'd like to introduce you guys to using &lt;a href="https://dartpad.dev/?id"&gt;DartPad&lt;/a&gt; that can run dart code online without setup environment or using IDE. It's help me save lots of effort when want to test some new function. Now, &lt;strong&gt;FlutterWithMe&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;First question. &lt;strong&gt;What's variables ?&lt;/strong&gt;&lt;br&gt;
Start with little example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;String myName = "Hoang";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let me explain about this example. This mean we create a variable with type is String, variable name is "myName" and value of it is "Hoang". So basicly, variables store referrence. That's how you define a variable. But have one way to do that.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var myName = 2;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If i create variable like that. It's mean i create "myName" variable without declare type first, and it'll get type when value is initialized. In this example variable "myName" have value is 2 and type is int.This one called implicit variable. I'll explain it now for easily understand.&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Explicit variable: type of the variable is declared before or when the variable is set. &lt;/li&gt;
&lt;li&gt;Implicit variable: type of the variable is assumed by the operators, but any data can be put in it.&lt;/li&gt;
&lt;/ul&gt;


&lt;pre class="highlight plaintext"&gt;&lt;code&gt;String name = 2; //Explicit variable
var name = 2; //Implicit variable
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;With this example, if you define variable like first way, it'll get error warning because &lt;strong&gt;"2 is type int" can't set to String type&lt;/strong&gt;. But with second way, &lt;strong&gt;"name variable" don't have specific type&lt;/strong&gt;, so it's understand that it &lt;strong&gt;type is int when set value is 2.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Dart already introduce null-safety on Dart 2.0, it's help lots of programmer avoid NullPointException. So we'll talk about it now.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//Define variable can be null
int? phoneNumber; 

//Get error that you need initialize value first
int phoneNumber; 

//Define variable that can't be null
int phoneNumber = 0939; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you define varible like this, that's mean "phoneNumber" variable have two type &lt;strong&gt;"int and null"&lt;/strong&gt;. And with this one you haven't initialize value first when define variable. But dart will always ask you to check if &lt;strong&gt;"phoneNumber is null or not"&lt;/strong&gt;, so remember that.&lt;/p&gt;

&lt;p&gt;One way to create variable without set value first is using **"late" **keyword. Dart 2.12 added late modifier, which has two use cases.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Declaring a non-nullable variable that’s initialized after its declaration.&lt;/li&gt;
&lt;li&gt;Lazily initializing a variable.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;late phoneNumber;

phoneNumber = 0928;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With this way, you don't need set value for phoneNumber when create variable first. But if you don't have value on variable but still use it, a runtime error occurs when the variable is used.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SUtHz6Df--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n5qo9thfktfnwqkfjadp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SUtHz6Df--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n5qo9thfktfnwqkfjadp.png" alt="Image description" width="616" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These are Build-in types that dart supported. But we usually using String, number, Booleans, Lists, Sets, Maps and null.But in dart have more specific type roles like: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bGxLknbe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/97j6e5m2hwhas234bfvj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bGxLknbe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/97j6e5m2hwhas234bfvj.png" alt="Image description" width="880" height="171"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The one difference with java is Dart don't have array. In dart array is List Object, and we usually called them lists (or collections).&lt;br&gt;
Here's example list:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var list = [1,3,7,2,3];

// or define excatly type
List&amp;lt;String&amp;gt; listName = ["A","B","C"];
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One thing i want to talk about is Maps and Sets. The difference here is Sets is collection of unique objects. And Sets only have one parameter value not like Map is an object that associates keys and values.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// This is set define
Set newSet = {"one","two","three","one"};

// This is map define
Map newMap = {"key1":"one","key2":"two","key3":"three"};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I think short introduce about variables is enough. I'll have more article to talk about collections ( which i see it's very cool ) in the future. If you like ( or not please try to like it ) can like and subcribe to help me have motivation to write more series. In next article i'll move to &lt;a href="https://medium.com/@hoangnguyen0403/list"&gt;Medium&lt;/a&gt; and still archive into dev.to blog for new post. But you guy can help me with one follow in Medium. Appriciate too much and thanks guys for reading.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>A tour with Dart syntax - Dart programming - Part 2</title>
      <dc:creator>Hoang Nguyen</dc:creator>
      <pubDate>Mon, 18 Apr 2022 07:17:57 +0000</pubDate>
      <link>https://dev.to/hoangnguyen0403/a-tour-with-dart-syntax-dart-programming-part-2-136l</link>
      <guid>https://dev.to/hoangnguyen0403/a-tour-with-dart-syntax-dart-programming-part-2-136l</guid>
      <description>&lt;p&gt;Hello. It's &lt;strong&gt;FlutterWithMe&lt;/strong&gt; again. After a previous article for introduce overview about &lt;strong&gt;Dart&lt;/strong&gt;. This article i'll move on &lt;strong&gt;Syntax in Dart&lt;/strong&gt; to help you more understand about dart programming. Let's start with following basic code!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;void printInteger(int aNumber) {
  print('The number is $aNumber.');
}

void main() {
  var number = 42;
  printInteger(number);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;main()&lt;/strong&gt; is the &lt;strong&gt;special, required and top-level function&lt;/strong&gt; where app execution starts. Every app &lt;strong&gt;must have a top-level main() function&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;var&lt;/strong&gt; is a way to declare a variable without specifiy its type. But do you know the &lt;strong&gt;difference between var and dynamic&lt;/strong&gt; ? Let me quick compare to you guys.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;dynamic: can change TYPE &amp;amp; VALUE of the variable later in code.&lt;/li&gt;
&lt;li&gt;var: takes the type of the value that is first assigned and doesn’t allow the type to be changed, only can change value.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dart is smart enough to know exact type when you declare var with variable. On previous example type of number is : "int".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;void printInteger(int aNumber)&lt;/strong&gt; is a way to &lt;strong&gt;declare function&lt;/strong&gt;. Dart is a &lt;strong&gt;true object-oriented language&lt;/strong&gt;, so &lt;strong&gt;functions are object and have a type&lt;/strong&gt;. On previous example function type is void so no have return variable on function.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;print("message")&lt;/strong&gt; is a function to &lt;strong&gt;display output to console log&lt;/strong&gt;. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Below are these keyword that Dart language treats specially. Avoid using these keyword as identifiers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--65b-bPT8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bdmkjdj7aumsfosyg4ab.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--65b-bPT8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bdmkjdj7aumsfosyg4ab.png" alt="Image description" width="880" height="729"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now these are important concepts when you learn Dart languages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Everything you place in a variable is an object.&lt;/li&gt;
&lt;li&gt;If you enable null-safety, variable can't contain null unless you make it can.You can make a variable nullable by putting a question mark (?) at the end of its type. &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Example: &lt;/p&gt;


&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int? number;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;That's mean number variable can be &lt;strong&gt;int type&lt;/strong&gt; or &lt;strong&gt;null&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But if you do like this &lt;/p&gt;


&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int plusNumber = 1 + number!;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;That's mean you're force number never null with "!" comma. And if number null, it'll through an exception. So avoid doing like that if you not sure about data can null or nut.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Dart support generic types like List or List that's depend on type you pass into generic comma.&lt;/li&gt;
&lt;li&gt;Unlike java, Dart doesn't have keyword public, protected, private. If an identifier start with underscore (_), it's private to this class.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int number; //This is public variable
int _number2: //This is private variable
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Remember to check dart analyze for make a better code. Because it'll follow to dart coding convention rules. Which i'll talk about in other article.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pc5OjzjR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4tfoc2wg6fpdd81892t4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pc5OjzjR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4tfoc2wg6fpdd81892t4.png" alt="Image description" width="880" height="211"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think it's enough to understand about dart syntax. To sum up about dart syntax :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Support top-level functions.&lt;/li&gt;
&lt;li&gt;Have null-safety which help us avoid NullPointException like java when get null value.&lt;/li&gt;
&lt;li&gt;Dart define private variable with underscore (_).&lt;/li&gt;
&lt;li&gt;Remember to check dart analyze frequently for better code convention.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So thank you for spend time reading some of my dummy article. I want to take a good preparation before going into some awesome knowledge about Flutter in the future. If you have any advise or comment, please let me know so i can update and sharing my knowledge more easy understanding.&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>beginners</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Quick looking into Dart - Dart Programming</title>
      <dc:creator>Hoang Nguyen</dc:creator>
      <pubDate>Mon, 18 Apr 2022 03:21:41 +0000</pubDate>
      <link>https://dev.to/hoangnguyen0403/quick-looking-into-dart-dart-programming-14b4</link>
      <guid>https://dev.to/hoangnguyen0403/quick-looking-into-dart-dart-programming-14b4</guid>
      <description>&lt;p&gt;Hello guys.I'm &lt;strong&gt;FlutterWithMe&lt;/strong&gt;, this series is first chapter i want to write about Flutter, in the future i'll write more and more cool things about Dart and Flutter, so please let down a like and subcribe for help me have  In this article, we'll spend a little time to take a look into &lt;strong&gt;Dart programming languages&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So, &lt;strong&gt;What is Dart ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bLI1r-eq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v2ctgh8jaeplbt181j01.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bLI1r-eq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v2ctgh8jaeplbt181j01.png" alt="Image description" width="346" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yeah. Dart is a client-optimized language for developing fast apps on any platform. Dart was created by Google and first time it appeared was October 10, 2011.&lt;/p&gt;

&lt;p&gt;First stable version of Dart wasn't &lt;strong&gt;1.0.0&lt;/strong&gt;, it was &lt;strong&gt;0.8.10-rev.3.29803&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In Dart SDK Tools contain these tools that necessary for development applications.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;DartVM&lt;/strong&gt; - Dart Virtual Machine&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;dart2js&lt;/strong&gt;- Dart to javascript (web use only) for deployable Javascript&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;dartdevc&lt;/strong&gt; - Dart to javascript(web use only) for testing purpose&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;dartfmt&lt;/strong&gt; - Tools formatter dart code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;dartanalyzer&lt;/strong&gt; - Tools help analyze warning and error code that are specified in dart language. DartPad and IDEs such as Android Studio or VS Code are use the same analysis engine that &lt;strong&gt;dartanalyzer&lt;/strong&gt; provide&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DartDoc&lt;/strong&gt; - The API documentation generator (using for write package mostly)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;pub&lt;/strong&gt; - Dart package manager (it's like npm). We can use pub tools for manage Dart packages.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;But,what &lt;strong&gt;fast apps&lt;/strong&gt; that dart mention ? I think what Google mention about "fast" here is dart's speed. The reason is that dart can compile at both &lt;strong&gt;Run-Time (JIT)&lt;/strong&gt; and &lt;strong&gt;Ahead-Of-Time (AOT)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OxzwHSQV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sa1xrfg4xwhy5p8jwblj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OxzwHSQV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sa1xrfg4xwhy5p8jwblj.png" alt="Image description" width="806" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The difference between JIT and AOT: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In JIT (Just in time) or &lt;strong&gt;development mode&lt;/strong&gt;, Flutter provide &lt;strong&gt;hot-reload and hot-restart&lt;/strong&gt; that help you see UI changes when you change on code. With that is lots of tools that help you debug.&lt;/li&gt;
&lt;li&gt;In AOT (Ahead of time) or &lt;strong&gt;release mode&lt;/strong&gt;, your code is &lt;strong&gt;compiled to native code&lt;/strong&gt; for &lt;strong&gt;better performance&lt;/strong&gt;, &lt;strong&gt;minimum app size&lt;/strong&gt; and remove other stuff that useful in dev mode.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I think that's enough for a little quick looking. Thanks you guys for reading. And please let me know what you think about my series and this article. Hope my series will help you when learning Flutter.&lt;/p&gt;

</description>
      <category>dart</category>
      <category>mobile</category>
      <category>beginners</category>
      <category>flutter</category>
    </item>
  </channel>
</rss>
