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

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   GetKeyFromUrl ( this   string   urlChunk ) =>            BitConverter . ToInt64 ( WebEncoders . Base64UrlDecode ( urlChunk )); } Here is the Calling Sampl

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 ·         A

Connect to Azure SQL database using managed identity C# .Net 6.0

Connect to Azure SQL database using managed identity C# .Net 6.0 Let's discuss the connecting .net 6.0 c# application to azure SQL serve using MSI .NET 6.0 applications are more flexible and require less work than other.NET frameworks, such as.NET Core 3.1,.NET 4.8, and so on. Connect  .Net Core 3.1 or the Lower version Application to azure SQL   you will be using the following package Install - Package Azure . Identity Install - Package System . Data . SqlClient Connect .Net 6.0 Application to Azure SQL:  you will be using only following the NuGet package with the new connection string dotnet add package Microsoft . Data . SqlClient  if you are using system-assigned identity MSI then uses the following connections string and code.(Local Machine) using Microsoft . Data . SqlClient ; ... // Uncomment one of the two lines depending on the identity type     SqlConnection connection = new SqlConnection (     "Server=tcp:<server-name>.database.windows.net;Database=&l