You are on page 1of 10

Mobile Application

Lecture 2

College of Science Suhail M. Abdulrahman


Computer Science( Stage 4) suhel.Abdulrahman@uoz.edu.krd
What is Flutter?
▪Created by Google in 2015 and officially launched in 2018, in the simplest terms, Flutter is a software
development toolkit from Google for building cross-platform apps. Flutter apps consist of a series of packages,
plugins and widgets.

▪Lets you build apps for iOS and Android — and even the web and desktop platforms like macOS, Windows and
Linux — all from a single codebase.

▪Flutter has all the benefits of other cross-platform tools, especially because you’re targeting multiple platforms
from one codebase.

▪It makes Flutter stand out from other cross-platform tools because of its super-fast rendering engine. This engine
ensures that your Flutter apps work just as well as native apps, giving them a smooth and responsive
performance.
What is Flutter?(cont.)
▪Flutter features are generally independent of native features, since you use Flutter’s own type of UI elements,
called widgets, to create your UI.

▪Flutter has the ability to work with native code, so you can integrate your Flutter app with native features when
you need to.One thing Flutter is not, is a language. Flutter uses Dart as its programming language.

▪If you know Kotlin, Swift, Java or Typescript, you’ll find Dart familiar, since it’s an object-oriented C-style language.

▪You can compile Dart to native code, which makes it fast. It also uses a virtual machine (VM) with a special
feature: hot reload. This lets you update your code and see the changes live without redeploying it.
Flutter Graphics Engine
▪In contrast, Flutter’s widgets exist parallel to native widgets due to its custom user interface
rendering engine, Skia. That means that the toolkit controls how the UI looks and behaves,
which allows for consistent behavior between platforms.

▪Skia is an open source 2D graphics library which provides common APIs that work across a
variety of hardware and software platforms. It serves as the graphics engine for Google
Chrome and Chrome OS, Android, Flutter, and many other products.
Advantage
1-Flutter is open-source

2-Flutter uses the Dart programming language

▪ Dart's focus on performance and efficiency helps you create fast and responsive applications.

3-One of the best features of Flutter is hot reload and hot restart.

▪ Hot reload allows you to make updates to the code and the UI that rebuild the widget tree, then deliver them
live to emulators and devices — without having to reload state or recompile your app.

4- Performance

▪ Flutter apps have great speed and quick execution since they are compiled into native machine code.
Advantage(cont.)
5-Flutter is attractive

▪ Using Google’s Material Design and Cupertino design packages.

6-Single Codebase:

▪ One codebase for many platforms may be created with Flutter

7- Access To Native Feature

▪ Developers may access native features and APIs of the underlying operating systems via Flutter’s platform
channels.
Disadvantage
▪Relatively New Framework

▪ Flutter is a very new framework in compared to certain other products on the market, hence it can have a
smaller talent pool and fewer resources than ecosystems that are more mature.

▪App Size

▪ Because the Flutter engine and framework are included, which raises the initial download size, Flutter apps
have bigger file sizes than native apps.

▪Platform Specific Limitation

▪ Even while Flutter gives users access to native capabilities, some platform-specific features or APIs might not
be completely supported or necessitate extra workarounds.
Disadvantage(cont.)
▪ LearningCurve

There can be a learning curve to grasp the framework’s ideas, architecture, and widget system if you’re new to
Flutter.

▪ Limited Libraries and Packages

Flutter is growing fast, but it may have fewer pre-built tools than more popular frameworks. Luckily, Flutter's
flexibility allows developers to use existing native tools when needed.
Flutter’s architecture
ANY QUESTIONS?

You might also like