Lecture 1
Lecture 1
Lecture 1
Chapter 01
Flutter – Introduction
In general, developing a mobile application is a complex and
challenging task. There are many frameworks available to develop
a mobile application. Android provides a native framework based
on Java language and iOS provides a native framework based on
Objective-C / Swift language.
However, to develop an application supporting both the OSs, we
need to code in two different languages using two different
frameworks. To help overcome this complexity, there exists mobile
frameworks supporting both OS.
These frameworks range from simple HTML based hybrid mobile
application framework (which uses HTML for User Interface and
JavaScript for application logic) to complex language specific
framework (which do the heavy lifting of converting code to native
code). Irrespective of their simplicity or complexity, these
frameworks always have many disadvantages, one of the main
drawback being their slow performance.
Flutter – Introduction
In this scenario, Flutter – a simple and high performance
framework based on Dart language, provides high performance by
rendering the UI directly in the operating system’s canvas rather
than through native framework.
Flutter also offers many ready to use widgets (UI) to create a
modern application. These widgets are optimized for mobile
environment and designing the application using widgets is as
simple as designing HTML.
To be specific, Flutter application is itself a widget. Flutter widgets
also supports animations and gestures. The application logic is
based on reactive programming. Widget may optionally have a
state. By changing the state of the widget, Flutter will
automatically (reactive programming) compare the widget’s state
(old and new) and render the widget with only the necessary
changes instead of re-rendering the whole widget.
Features of Flutter
Flutter framework offers the following features to developers:
Modern and reactive framework.
Uses Dart programming language and it is very easy to learn.
Fast development.
Beautiful and fluid user interfaces.
Huge widget catalog.
Runs same UI for multiple platforms.
High performance application.
Advantages of Flutter
Flutter comes with beautiful and customizable
widgets for high performance and outstanding
mobile application. It fulfills all the custom needs
and requirements. Besides these, Flutter offers
many more advantages as mentioned below:
Advantages of Flutter
Dart has a large repository of software packages which lets you to
extend the capabilities of your application.
Developers need to write just a single code base for both
applications (both Android and iOS platforms). Flutter may to be
extended to other platform as well in the future.
Flutter needs lesser testing. Because of its single code base, it is
sufficient if we write automated tests once for both the platforms.
Flutter’s simplicity makes it a good candidate for fast
development. Its customization capability and extendibility makes
it even more powerful.
With Flutter, developers has full control over the widgets and its
layout.
Flutter offers great developer tools, with amazing hot reload.
Disadvantages of Flutter
Despite its many advantages, flutter has the following drawbacks
in it:
Since it is coded in Dart language, a developer needs to learn
https://flutter.dev/docs/get-started/install/windows and
download the latest Flutter SDK. As of April 2019, the version is
1.2.1 and the file is flutter_windows_v1.2.1-stable.zip.
Step 2: Unzip the zip archive in a folder, say C:\flutter\
Step 3: Update the system path to include flutter bin directory.
Step 4: Flutter provides a tool, flutter doctor to check that all
doctor
Step 7: Install the latest Android Studio, if reported by flutter
doctor
Step 8: Start an android emulator or connect a real android
$PATH
Flutter provides a tool, flutter doctor to check that all the
doctor
Step 8: Start an android emulator or connect a real android