📱Deep Dive Into Flutter - Part One📱

In this first article of the Flutter series, we will learn the basics of Flutter.

Introduction

 
This is part one of the "Deep Dive into Flutter" series. In this article, we will learn the basics of Flutter. The following is the ToC of this article.
  • Background 
  • Introduction to Flutter
  • Need of Flutter 
  • Highlights of Flutter
  • Language
  • Editors  
  • Points to remember 
  • Conclusion 

Background

 
Flutter is an emerging technology. I started learning this new amazing technology on my own. While learning, I found that it is very easy. Then, I thought others should know more about Flutter. So, this article is mainly for those who do not know What Flutter is and are interested to learn more about Flutter.
 

Introduction to Flutter

 
Flutter is an open source mobile application development framework to develop native Andriod and iOS mobile applications in a single code. Flutter was introduced by Google. The stable version of Flutter is Flutter 1.0 that was released on December 4, 2018. The sky is the first Flutter application which ran in Andriod OS. 
 

Need of Flutter

 
Since there are many cross-platform mobile app development technologies available these days, why do we need Flutter? The main reason for the introduction of Flutter is that Google is developing a new OS called Fuchsia OS, which is primarily focused to run in all PCs, Laptops, Tablets, and Smartphones. To develop an application for Fuchsia OS, they came with Flutter SDK.
 

Highlights of Flutter 

 
There are many advantages of Flutter over other mobile SDKs, as described below.
  • Fast Development 
  • Expressive UI (Widgets)
  • Native Performance  

Fast Development

 
Flutter has a new feature called Hot Reload, which helps developers quickly and easily build UIs and fix bugs by injecting updated source code files into the running Dart Virtual Machine. And then, the Flutter framework automatically rebuilds the widget there, allowing developers to view the effective changes. Don't worry about widgets, we will learn about these in details in future article. 
 

Expressive UI

 
In Flutter, everything is a Widget. Developers can design beautiful UIs using built-in libraries. Widgets are built using the framework. The Widget concept in Flutter is inspired by React Components. Everything in Flutter is Widget. Some basic and most commonly used widgets include. 
  • Text
  • Row
  • Column 
  • Container 
We will look more deeply into Widgets in an upcoming article. 
 

Native Performance 

 
Flutter’s widgets incorporate all critical platforms to provide full native performance on both, iOS and Android.
 

Language 

 
Dart is the language used in the Flutter Framework. It is not mandatory to be a skilled person in Dart to develop Flutter applications. While developing applications in Flutter, we can learn Dart hands-on.
 

Database 

 
This is one thing that comes in our mind - can Flutter be connected with a database? The answer is - Yes, we can connect with databases. Here, I have mentioned a couple of databases that can be connected with Flutter. 
  • SQLite - To access SQLite in Flutter, we need a sqflite plugin. 
  • Firebase  

 Editors

 
First, download the Flutter SDK and install on your local machine. Then, you can use any of the following editors.  
  • Android Studio 
  • Flutter Terminal 
  • Visual Studio Code - If we are using this, we need to install Dart Code 
  • IntelliJ IDEA  

 Points to Remember 

  • Flutter is developed by Google. 
  • We can develop native Andriod and iOS mobile applications in a single code using Flutter.
  • Fast Development - Hot Reload 
  • Expressive UI (Widgets)
  • Native Performance

Conclusion

 
In this article, we have learned some basics of Flutter. Hope it was informative. In upcoming articles, we will learn more about Flutter and its parts. Please feel free to share your feedback in the comments section. 
 
Happy Learning!!!!