Flutter
- Anand Nerurkar
- Dec 24, 2023
- 2 min read
Updated: Dec 25, 2023
why flutter-open source
---
open source
===
open spurce with wide community support, with lots of plgin,packages to choose from
Fast Development
==
- relaod feature, keep track of old and new chnages in ui and render the new changes instantly
Expressive & Flexible UI
===
widget based architecture, pre build widgets that can be cusotmized to create unique design
Native peromance
===
make use of dart programing language ,compiled to natove machine code.
cross platform development
==
same codebase for IOS/Android/Web/desktop based application.
Env Set up
===
assume git or powershell is installed
install Java
install-flutter sdk (Adroid studio)--flutter --version
use below command to see what need be installed along woth flutter
flutter doctor --- this will instruct what need to installed like android studio sdk
install android sdk
once android sdk installed, in studio install flutter plugin
create flutter project
run project with emuator-to create emulator we need to connect device with emulator
select virtaul device manager-select device-support below device
phone,wearos,tablet,web,desktop,tv,automative
select phone, will install required packages and click finish.
with above step, we have created virtual pixel device - click on run ro run on simulator
you may find issue related to haxm install failed- to resove this, goto control panel-program and features-turn window feature on off-select hyper-v, this will installed required packhes
now run emulator, once successful, it will show device type emulator for your project.
andriod studio-

DART
===
it is programmimg language by google , it is used for both froent end and backend also. it is object oriented and support asynch programing
It make use of Just in Time Compiler to compile bytecode to native machin code for the fast development cycle and easy debugging.
It also support Ahead of Time compilation to geneare native machine code and interoperate
with other languages like javascript.









Flutter Architecture
===

Embedder layer is the lower layer that interact with platform embeder to provode access to services such as acceessibility,rendering surface and input.
Embeder is written in platform specific language such as
Android --- Java ,C++
IOS/macos --Objective C/C++
Win/Linux - C++
Flutter code can be embeded into existing application as a module or application content using embeder layer.
Engine Layer is written in C/C++ and take care of input,output,nw request and take care of rendering whenever frame need to be rebdered.
Flutter make use of KIA as its rendering engine and revalauated to flutter framework with dart ui whcih wrap the priciple c++ code in dart classes.
Framework layer is the most important layer where mst of the developer interact with flutter. It provide the reactive and modern framework written in dart.
make use of rendering widgets and material, foundationclasses and various services like animation,drawing,gestures for writing flutter application.


Stateless Widget- It is immutable once it is build, any chnages to stateless widget like variables,icons,buttons,text ..etc will not affect AppState. To redraw stateless widget,new instance must be created.
Stateful Widget- It is mutable and state can be changed dynamically once it is built. It can be drawn multiple times in its life time.
Comments