What is Flutter

  • Mobile Application Development Framework Developed by Google
  • Uses the programming language Dart (also developed by Google)
  • open source programming language developed by Google
  • Object-oriented and similar in syntax to Java, C# and C++

Native

Unlike many other mobile frameworks, Flutter compiles your Dart ahead-of-time down to native code for each platform.

Hybrid App

Javascript Hybrid

(ie React Native)

Flutter

hybrid

React Native

Flutter

Flutter composition

  • Widgets
    • Stateless
    • Stateful
  • BuildContext

Widgets

  • A widget is a class​ that represents a specific functionality or feature within the app
  • Different widgets for each layout element as well as properties for manipulating them

hierarchical

Just like with web development, building a Flutter app consists of nesting elements inside one another. 

Flutter doesn't use a templating language like HTML so you build the template by nesting classes.

STateLess Widget

A simple widget with properties that don't change

Describes part of the user interface by building a constellation of other widgets that describe the user interface more concretely

Can have stateful widgets nested inside

https://flutterdoc.com/stateful-or-stateless-widgets-42a132e529ed

StateFul

A more complex widget with properties that will change during it's life, due to user input or something else like data returned from an API call

Build

All widgets need to override the build method. This method needs to return a Widget.

Building a TODO List app

MaterialApp

Provides a comprehensive set of Material Design Widgets that we can use to easily scaffold our application

Main

main() is the entry point of a Dart Application. The Flutter framework gives us runApp(), the point of entry for our Flutter App.

Our app is a stateless widget with stateful widgets nested inside. 

 

If you need to keep track of any global variables, you should use a stateful Widget instead

Home Page

The Home page is a stateful widget that encompasses all other items in the app

Scaffold

A widget used to implement the basic material design visual layout structure

This class provides APIs for showing drawers, snack bars, and bottom sheets

Resources

Flutter

By Michael Busby

Flutter

  • 1,561