16 December, 2020

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



No comments:

Post a Comment

Microservices vs Monolithic Architecture

 Microservices vs Monolithic Architecture Here’s a clear side-by-side comparison between Microservices and Monolithic architectures — fro...