Skip to main content

What Is Flutter?

 What Is Flutter?

 Google Flutter is an open-source UI software development kit. It facilitated to develop applications for Android, iOS, Linux, Mac, Windows, Google Fuchsia, and the web from a single codebase. 

The major components of Flutter:

  • Dart platform
  • Flutter engine
  • Foundation library
  • Design-specific widgets

 Flutter has good documentation along with great guidelines, from here you can setup flutter development env.

What is Dart?

Dart is a programming language for cross platforms apps. It is getting popular and can be used to build mobile, desktop, server, and web applications. Dart is an object-oriented, class-based, garbage-collected language with C-style syntax. Dart can compile to either native code or JavaScript. 

Dart platform 

Flutter apps are written and developed in the Dart language. On Windows, macOS, and Linux Flutter runs in the Dart virtual machine, which features a just-in-time execution engine. While writing and debugging an app, Flutter uses Just In Time compilation, allowing for "hot reload", Hot Refresh, with which modifications to source files can be injected into a running application. Flutter extends this with support for stateful hot reload, where in most cases changes to source code are reflected immediately in the running app without requiring a restart or any loss of state 

Flutter App: a release versions of Flutter apps are compiled with ahead-of-time (AOT) compilation on both Android and iOS so it makes Flutter's high performance on mobile devices possible.

fig: flutter running in vs code

vscode: hot reload tool bar


Flutter engine

Flutter's engine, provides low-level rendering support using Google's Skia graphics library. Skia is an open source 2D graphics library which provides common APIs that work across a variety of hardware and software platforms. Additionally, it interfaces with platform-specific SDKs such as those provided by Android and iOS.

Foundation library

The Flutter Foundation library is written in Dart, provides basic classes and functions that are used to construct applications using Flutter, such as APIs to communicate across the system and underlying services.

 

Design-specific widgets /Flutter widgets

In Flutter everything(on UI/user interface/looks and feels) are a  widgets and actually its reusable component like react if you familiar . The central idea is that you build your UI out of widgets.

The Flutter framework contains two sets of widgets that conform to specific design languages: Material Design widgets implement Google's design language of the same name.

 Cupertino (iOS-style) widgets: implement Apple's iOS Human interface guidelines

Flutter Code Example: HelloWorld App

import 'package:flutter/material.dart';

void main() {
  runApp(
    Center(
      child: Text(
        'Hello, world!',
        textDirection: TextDirection.ltr,
      ),
    ),
  );
}


even you can practice and learn more without flutter setup on local machine on flutter studio app , its online flutter coding practice tool free.


What is Next?

  • get flutter or Setup Flutter Development Environment on Local Machine
  • flutter - development ideas
  • google flutter : including more around dart
  • flutter web/flutter for webs : run flutter app on web/browser
  • flutter github: you can find flutter codebase here
  • flutter widgets: knowledge sharing around important widgets
  • flutter block
  • flutter docs : Here more to read
  • flutter firestore : using google firestore in flutter
  • flutter for linux/flutter linux : knowledge sharing around 
  • flutter awesome: how to use beautiful eye catchy  icons in flutter
  • flutter windows: requirement and setup details for window platform
  • flutter in android studio/flutter android studio: flutter development using android studio



Comments

Popular posts from this blog

Azure key vault with .net framework 4.8

Azure Key Vault  With .Net Framework 4.8 I was asked to migrate asp.net MVC 5 web application to Azure and I were looking for the key vault integrations and access all the secrete out from there. Azure Key Vault Config Builder Configuration builders for ASP.NET  are new in .NET Framework >=4.7.1 and .NET Core >=2.0 and allow for pulling settings from one or many sources. Config builders support a number of different sources like user secrets, environment variables and Azure Key Vault and also you can create your own config builder, to pull in configuration from your own configuration management system. Here I am going to demo Key Vault integrations with Asp.net MVC(download .net framework 4.8). You will find that it's magical, without code, changes how your app can read secretes from the key vault. Just you have to do the few configurations in your web config file. Prerequisite: Following resource are required to run/complete this demo · ...

How to Make a Custom URL Shortener Using C# and .Net Core 3.1

C# and .Net Core 3.1:  Make a Custom URL Shortener Since a Random URL needs to be random and the intent is to generate short URLs that do not span more than 7 - 15 characters, the real thing is to make these short URLs random in real life too and not just a string that is used in the URLs Here is a simple clean approach to develop custom solutions Prerequisite:  Following are used in the demo.  VS CODE/VISUAL STUDIO 2019 or any Create one .Net Core Console Applications Install-Package Microsoft.AspNetCore -Version 2.2.0 Add a class file named ShortLink.cs and put this code: here we are creating two extension methods. public   static   class   ShortLink {      public   static   string   GetUrlChunk ( this   long   key ) =>            WebEncoders . Base64UrlEncode ( BitConverter . GetBytes ( key ));      public   static   long   GetK...

Azure Logic Apps Send Email Using Send Grid Step by Step Example

Azure Logic Apps Send Email Using Send Grid Step by Step     Step 1- Create Send Grid Account Create a SendGrid Account  https://sendgrid.com/ Login and Generate Sendgrid Key and keep it safe that will be used further to send emails You can use Free service. it's enough for the demo purpose Step 2- Logic App Design Login to  https://portal.azure.com Go to Resources and Create Logic App Named "EmailDemo" Go To Newly Created Rosoure Named "EmailDemo" and Select a Trigger "Recurrence", You can choose according to your needs like HTTP, etc. Note* Without trigger you can not insert new steps or Actions Click on Change Connection and add Send Grid Key  Click on Create and Save Button on the Top. As we have recurrence so it will trigger according to our setup(every 3 months) so just for the test click on "RUN" button  Finally, you should get an email like below one: