<?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: Sudara Sachindana</title>
    <description>The latest articles on DEV Community by Sudara Sachindana (@sudarasach).</description>
    <link>https://dev.to/sudarasach</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%2F653750%2F0b76e9b7-9063-441c-abe3-b65b21766d4c.png</url>
      <title>DEV Community: Sudara Sachindana</title>
      <link>https://dev.to/sudarasach</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sudarasach"/>
    <language>en</language>
    <item>
      <title>Flutter Installation and Environment Setup Guide</title>
      <dc:creator>Sudara Sachindana</dc:creator>
      <pubDate>Tue, 28 Jan 2025 07:22:16 +0000</pubDate>
      <link>https://dev.to/sudarasach/flutter-installation-and-environment-setup-guide-482m</link>
      <guid>https://dev.to/sudarasach/flutter-installation-and-environment-setup-guide-482m</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;System Requirements&lt;/strong&gt;
&lt;/h3&gt;

&lt;h5&gt;
  
  
  Before you begin, ensure your system meets the following requirements:
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Operating System: Windows, macOS, or Linux (64-bit)&lt;/li&gt;
&lt;li&gt;Disk Space: 1.64 GB (does not include disk space for IDE/tools)&lt;/li&gt;
&lt;li&gt;Tools: Git for Windows&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1. Install Flutter SDK&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 1: Download Flutter SDK&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open your web browser and visit the Flutter website: &lt;a href="https://flutter.dev/docs/get-started/install" rel="noopener noreferrer"&gt;https://flutter.dev/docs/get-started/install&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Select your operating system (Windows, macOS, Linux, or ChromeOS).&lt;/li&gt;
&lt;li&gt;Download the Flutter SDK for your platform.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 2: Extract Flutter SDK&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Locate the downloaded file.&lt;/li&gt;
&lt;li&gt;Extract it to your preferred location:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Windows&lt;/strong&gt;: Extract to &lt;code&gt;C:\src\flutter&lt;/code&gt; (or another location).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;macOS/Linux&lt;/strong&gt;: Extract to &lt;code&gt;~/development/flutter&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 3: Add Flutter to PATH&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Update your system's PATH to include the Flutter SDK's &lt;code&gt;bin&lt;/code&gt; directory.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Windows&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Open the Start menu and search for "Environment Variables."&lt;/li&gt;
&lt;li&gt;Under "System Variables," find "Path" and click "Edit."&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;C:\src\flutter\bin&lt;/code&gt; to the list.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;macOS/Linux&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Open a terminal and edit your shell configuration file (&lt;code&gt;~/.bashrc&lt;/code&gt;, &lt;code&gt;~/.zshrc&lt;/code&gt;, or &lt;code&gt;~/.bash_profile&lt;/code&gt;):
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$PATH&lt;/span&gt;&lt;span class="s2"&gt;:~/development/flutter/bin"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Save the file and run:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;source&lt;/span&gt; ~/.bashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To verify the addition of Flutter to your PATH, run:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$PATH&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Step 4: Verify Flutter Installation&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open a terminal or command prompt.&lt;/li&gt;
&lt;li&gt;Run the following command:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   flutter doctor
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;This checks for any missing dependencies and ensures that Flutter is correctly installed.

&lt;ol&gt;
&lt;li&gt;Review the output and resolve any issues mentioned (e.g., missing tools or SDKs).&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;2. Install Development Tools&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 1: Install a Code Editor&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Download and install &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt; or &lt;a href="https://developer.android.com/studio/" rel="noopener noreferrer"&gt;Android Studio&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;For Visual Studio Code:

&lt;ul&gt;
&lt;li&gt;Open the Extensions Marketplace.&lt;/li&gt;
&lt;li&gt;Search for "Flutter" and "Dart" extensions and install them.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 2: Install Android Studio&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Download and install Android Studio.&lt;/li&gt;
&lt;li&gt;Open Android Studio and complete the setup wizard to install essential components.&lt;/li&gt;
&lt;li&gt;Open the SDK Manager (under &lt;code&gt;Configure &amp;gt; SDK Manager&lt;/code&gt;) and ensure the following components are installed:

&lt;ul&gt;
&lt;li&gt;Android SDK&lt;/li&gt;
&lt;li&gt;Android Emulator&lt;/li&gt;
&lt;li&gt;Platform Tools&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the &lt;code&gt;platform-tools&lt;/code&gt; directory to your PATH.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Example (macOS/Linux):
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt; &lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$PATH&lt;/span&gt;&lt;span class="s2"&gt;:~/Library/Android/sdk/platform-tools"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 3: Install Xcode (macOS only)&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open the App Store and download Xcode.&lt;/li&gt;
&lt;li&gt;Install the Command Line Tools by running:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   xcode-select &lt;span class="nt"&gt;--install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Accept the Xcode license agreement:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;xcodebuild &lt;span class="nt"&gt;-license&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;3. Configure Device/Emulator&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;For Android&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set up an Android Virtual Device (AVD):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Open Android Studio.&lt;/li&gt;
&lt;li&gt;Go to &lt;code&gt;Tools &amp;gt; AVD Manager &amp;gt; Create Virtual Device&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Follow the prompts to configure your emulator.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Alternatively, connect a physical Android device:

&lt;ul&gt;
&lt;li&gt;Enable &lt;strong&gt;Developer Mode&lt;/strong&gt; and &lt;strong&gt;USB Debugging&lt;/strong&gt; on your device.&lt;/li&gt;
&lt;li&gt;Connect the device via USB to your computer.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;For iOS (macOS only)&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Set up an iOS Simulator:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open Xcode.&lt;/li&gt;
&lt;li&gt;Go to &lt;code&gt;Xcode &amp;gt; Preferences &amp;gt; Locations &amp;gt; Command Line Tools&lt;/code&gt; and select the installed version.&lt;/li&gt;
&lt;li&gt;Run the simulator:
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt; open &lt;span class="nt"&gt;-a&lt;/span&gt; Simulator
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Alternatively, connect a physical iOS device:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use a USB cable to connect the device.&lt;/li&gt;
&lt;li&gt;Trust the computer from your iOS device.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;4. Run Flutter Doctor&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Run:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  flutter doctor
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Follow the output instructions to fix any missing dependencies.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;5. Create Your First Flutter App&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 1: Create a New Flutter Project&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open a terminal and run:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   flutter create my_first_app
   &lt;span class="nb"&gt;cd &lt;/span&gt;my_first_app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Step 2: Run the App&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;On an Android Emulator:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   flutter run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
On an iOS Simulator:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   flutter run &lt;span class="nt"&gt;-d&lt;/span&gt; ios
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt; On a connected physical device:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   flutter run &lt;span class="nt"&gt;-d&lt;/span&gt; &amp;lt;device_id&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;6. Optional: Enable Web/Windows/Linux Development&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Enable Web Development&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Run:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   flutter config &lt;span class="nt"&gt;--enable-web&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Start the web server:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   flutter run &lt;span class="nt"&gt;-d&lt;/span&gt; web
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Enable Desktop Development&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Enable support for Windows/Linux:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   flutter config &lt;span class="nt"&gt;--enable-windows-desktop&lt;/span&gt;
   flutter config &lt;span class="nt"&gt;--enable-linux-desktop&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Run the app:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   flutter run &lt;span class="nt"&gt;-d&lt;/span&gt; windows
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;7. Upgrade Flutter&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To keep Flutter up to date, run:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  flutter upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






</description>
      <category>flutter</category>
      <category>dart</category>
      <category>flutterinstallation</category>
      <category>environmentsetup</category>
    </item>
    <item>
      <title>Introduction to Flutter</title>
      <dc:creator>Sudara Sachindana</dc:creator>
      <pubDate>Tue, 22 Jun 2021 09:35:07 +0000</pubDate>
      <link>https://dev.to/sudarasach/intro-to-flutter-2odk</link>
      <guid>https://dev.to/sudarasach/intro-to-flutter-2odk</guid>
      <description>&lt;h1&gt;
  
  
  Flutter is
&lt;/h1&gt;

&lt;p&gt;“ Flutter is a mobile app SDK for building high-performance, high-fidelity, apps for iOS and Android, from a single codebase.” — flutter.io&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl2i2vmfhlpny2qfg6nab.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl2i2vmfhlpny2qfg6nab.png" alt="Flutter Intro"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Overview on Flutter
&lt;/h3&gt;

&lt;p&gt;Flutter is a great tool from Google for creating cross-platform applications which – starting from the newest stable version – can be deployed to the web, desktop, and mobile.&lt;/p&gt;

&lt;p&gt;Google is promoting Flutter as a simple framework that allows us to create quality maintainable solutions. Easy, it is just the next cross-platform framework.&lt;/p&gt;

&lt;h3&gt;
  
  
  A Brief History of Flutter
&lt;/h3&gt;

&lt;p&gt;Flutter launched as a project called Sky which at the beginning worked only on Android. Flutter’s goal is enabling developers to compile for every platform using its own graphic layer rendered by the Skia engine. Here’s a brief presentation of Flutter’s relatively short history.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmam04b8ze1q3paier87k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmam04b8ze1q3paier87k.png" alt="Flutter History Chart"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flutter is a free and open-source mobile UI framework created by Google and released in May 2017. In a few words, this allows you to create a native mobile application with only one code. It means that you can use one programming language and one codebase to create two different apps (IOS and Android).&lt;/p&gt;

&lt;p&gt;Flutter’s beta version was launched on 13th March 2018 and it was first to live on 4th December 2018. In such a short amount of time, Flutter has already established its position in the market.&lt;/p&gt;

&lt;h2&gt;
  
  
  Flutter Architecture
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkl201vnx86axh1gpaab7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkl201vnx86axh1gpaab7.png" alt="Flutter Architecture"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flutter is organized around layers. Each layer is build upon the previous.&lt;/p&gt;

&lt;p&gt;From the diagram we can see the low level part of Flutter is an Engine built in C++. It provides low-level rendering support using Google’s Skia graphics library.&lt;/p&gt;

&lt;p&gt;The high-level part of the diagram is the Framework written in Dart. It provides libraries to handle animation, gestures, rendering, widgets and more.&lt;/p&gt;

&lt;p&gt;With all this layer the developer can do more with less code by using elements on the top or go down to customize some behavior of its app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Everything is a widget
&lt;/h2&gt;

&lt;p&gt;In Flutter, Everything is a widget nested inside the another widget. It comes with beautiful, customizable widgets and we can control the behavior of each widget and also styling becomes easy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkz4016290j0qh40dl9ib.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkz4016290j0qh40dl9ib.png" alt="widget"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All the widget of a Flutter app form a hierarchy where a widget is a composition of other widgets and each widget inherits properties from its parent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Flutter Highlights
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzz4g5u1kqajrb2hmyqd5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzz4g5u1kqajrb2hmyqd5.png" alt="Features"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Fast development
&lt;/h4&gt;

&lt;p&gt;When developing with flutter, you can use a feature called hot reload. Hot reload build and run your projects faster than a second. This actually helps develop fast and resolve bugs faster.&lt;/p&gt;

&lt;h4&gt;
  
  
  Single code for Two platforms
&lt;/h4&gt;

&lt;p&gt;Managing different codes for different platforms could be a tough job, given the fact that you need to maintain consistency. Well, that shall not be the case with Flutter, where you need to just write the code once, and you are good to go!&lt;/p&gt;

&lt;p&gt;This saves a lot of time and resources that go into the development and testing of two separate codes. But, you need to test the end products on the different platforms separately in this case too.&lt;/p&gt;

&lt;h4&gt;
  
  
  High productivity
&lt;/h4&gt;

&lt;p&gt;Since Flutter is cross-platform, you can use the same code base for your iOS and Android app. This can definitely save you both time and resources.&lt;/p&gt;

&lt;h4&gt;
  
  
  Lesser Coding
&lt;/h4&gt;

&lt;p&gt;Flutter’s Dart programming language is strongly typed and object-oriented in nature. In Flutter, the programming style is declarative and reactive. Because JavaScript bridge is not necessary for Flutter, the start-up time of the app enhances.&lt;/p&gt;

&lt;h2&gt;
  
  
  Flutter Key Features
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkc5xjmb979edmfq2b2t1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkc5xjmb979edmfq2b2t1.png" alt="key Features"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Hot Reload
&lt;/h3&gt;

&lt;p&gt;The changes made by the developers can be seen instantaneously with Hot Reload. This feature is super-handy for developers as it makes the changes visible in the app itself. As the changes made are visible within seconds, developers can fix the bugs in no time.&lt;/p&gt;

&lt;p&gt;The team can experiment with new features and improvise them continuously. Thus, this feature enables developers and designers to have complete freedom and boosts their creativity further.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Cross-Platform Development
&lt;/h3&gt;

&lt;p&gt;CPD saves time, energy and money. With Flutter, you need to write the code once, maintain and can use that for two apps. The need has gone for developing a different code for a different platform. With Flutter, you can try developing for the Fuchsia platform which is a trial OS in process at Google.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Accessible Native Features and SDKs
&lt;/h3&gt;

&lt;p&gt;Your app development process gets easy and delightful through Flutter’s native codes, third-party integrations, and platform APIs. Therefore, you can easily access the native features and SDKs on both Android and iOS platforms and reuse the widely-used programming languages such as Kotlin and Swift.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Minimal Code
&lt;/h3&gt;

&lt;p&gt;Flutter is developed using Dart programming language. Dart uses JIT and AOT compilation that helps improve the overall startup time, functioning and accelerates the performance. JIT enhances the development system with the hot reload function. It refreshes the UI without putting in the effort to building a new one.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Widgets
&lt;/h3&gt;

&lt;p&gt;In Flutter, the widgets are given an upper hand. It is capable of developing customizable and complex widgets. Most importantly, Flutter has all the sets of widgets from Material Design and Cupertino pack and it helps to provide a glitch-free experience in this case over and above all the other platforms.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Native Feel and Features
&lt;/h3&gt;

&lt;p&gt;Flutter enables you to use your existing code Java, Obj-C and Swift to gain the key to native features which are platform specific. Camera and Geo location are features connected with the use of native languages and offers you the convenience of working in the native language and, it provides access to the native features of both iOS and Android platforms.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzwk4dbb9lfdlbdatqzmm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzwk4dbb9lfdlbdatqzmm.png" alt="end"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>architecture</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
