SlideShare une entreprise Scribd logo
1  sur  26
leap of faith
Let’s take a leap of faith into flutter…
Damith Warnakulasuriya
Software Engineer
Compiled on 14th of September 2020
Last Updated on 19th of January 2022
Savepoints
● Introduction to flutter
● Flutter Approach
● Flutter Key Components
● Flutter in Industry
● Coding Journey
● Challenge !
Flutter
Flutter is a cross platform application development environment that enables
you to write native mobile, web and desktop applications with a single code
base.
Native?
Native Application Environment
Reactive Application Approach
Flutter Approach
Flutter
● Flutter Framework
● Flutter Widgets
● Dart
● UI as Code
● Widget Tree
● State
● Flutter Rendering Engine
● Platform Specific Code
● Single Codebase
Flutter Framework
Stateless or stateful Widgets are
the building blocks of any Flutter
app and can be themed to look like
native Android (Material) or iOS
(Cupertino) UI components.
Widgets are rendered onto a Skia
canvas with support for advanced
animations and gesture
recognition.
Flutter’s engine hosts the core
technologies Skia – a 2D graphics
rendering library – and the Dart
language VM in a platform-specific
shell
Flutter Widgets
Everything is a Widget !
In flutter, Widget is a way to
declare and construct UI
Widget is not just a piece of UI.
Widget is a lot more than just
structural elements like buttons,
text, image, list or slider.
A widget might display Something,
it might help define design, it might
help with layout, it may handle user
interaction, etc
Dart
Easy and Powerful !
Dart is a reactive language that talks
similar to python in terms of ease of
coding while keeping the power of
java like syntax under the hood
Optimized for building UI
Productive development with hot
reload
Compiles to Native Machine Code
UI as Code
Widget Tree
The widget tree is how you create
your UI; you position widgets within
each other to build simple and
complex layouts. Since just about
everything in the Flutter framework
is a widget, and as you start
nesting them, the code can
become harder to follow
keep the widget tree as shallow as
possible
State
A widget can be either,
1. Stateful Widget
2. Stateless Widget
Stateless widgets have no internal
state, therefore difficult to modify
without re-initializing.
State is the information that can be
read synchronously when the
widget is built and might change
during the lifetime of the widget
Rendering Engine
Skia: A cross-platform rendering
framework sponsored and
managed by Google. It serves as
graphics engine for iOS/Android
applications
Flutter can implement UI isolation
on Native and Flutter Engine. It
also captures the UI code without
analyzing the platform
implementation on the cross-
platform scapture
Capturing high-memory images of
the Native side solutions is a
challenge
Platform Specific
Code
Flutter uses a flexible system that
allows you to call platform-specific
APIs whether available in Kotlin or
Java code on Android, or in Swift
or Objective-C code on iOS.
Flutter’s builtin platform-specific
API support does not rely on code
generation, but rather on a flexible
message passing style.
Alternatively, the package Pigeon
can be used for sending structured
typesafe messages via code
generation
Single Codebase
One codebase for different
platforms is the core idea of
flutter.
The flutter team is working on
extending the platform
compatibility.
At the moment mobile is in stable
channel and recently web also
moved to stable channel which is
also good enough for an standard
production.
Ebay Motors
Ebay Motors : Benefits of cross platform
Companies that use flutter,
Cut the crap !
Lets Code ; )
Create App
Create the basic
flutter app using the
flutter SDK and tools
Build UI
Build the responsive
UI Widgets
Connect
Firebase
Config and connect to
firebase with async
functions and
callbacks
Convert to
Platforms
Convert the codebase
to different platforms.
Platform
Specifics
Write some platform
specific code before
windup
Repo url : cutt.ly/flof
Future of Flutter
Flutter team is working very hard towards fulfilling the vision of one codebase for a single app to be
deployed across different platforms as follows
Production Ready,
● Flutter iOS
● Flutter Android
● Flutter Web
Still Growing,
● Flutter Desktop for macOS
● Flutter Desktop for Windows
● Flutter Desktop for Linux
● Flutter Desktop for ChromeOS
● Flutter Embedded for Raspberry Pi
● Flutter Wearable for Android Wear OS
● Flutter Wearable for iOS watchOS (Not possible, but able to add native Apple Watch extension to
a Flutter app)
Worthy of a challenge?
(1 week)
Build a flutter app with a firebase backend.
Be creative to build your own idea or choose
one from the below list,
1. Photo Capturing app
2. Reminder App for special Events
3. Quiz App
4. ToDo List App
5. A mini Game
Or use your imagination...
Use,
Repo name : flof_{your_idea}
● Commit every step on the way
● Add me as a contributor : damithdev
And When you’re done,
● Pull request to new branch flof adding me as a
reviewer to the pull request
Flutter Leap of Faith

Contenu connexe

Tendances

Introduction to building multi platform mobile applications with javascript u...
Introduction to building multi platform mobile applications with javascript u...Introduction to building multi platform mobile applications with javascript u...
Introduction to building multi platform mobile applications with javascript u...Shoukry Kattan
 
What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?MohammadHussain595488
 
Flutter Development Services
Flutter Development ServicesFlutter Development Services
Flutter Development ServicesThe NineHertz
 
Introduction to flutter(1)
 Introduction to flutter(1) Introduction to flutter(1)
Introduction to flutter(1)latifah alghanem
 
Top five reasons you should prefer flutter app development
Top five reasons you should prefer flutter app developmentTop five reasons you should prefer flutter app development
Top five reasons you should prefer flutter app developmentSolution Analysts
 
Developer Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for BeginnersDeveloper Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for BeginnersJiaxuan Lin
 
Silverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendSilverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendCaleb Jenkins
 
Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android Heli Thakkar
 
Getting started with flutter
Getting started with flutterGetting started with flutter
Getting started with flutterrihannakedy
 
Top reason to choose flutter app development
Top reason to choose flutter app developmentTop reason to choose flutter app development
Top reason to choose flutter app developmentElenorWisozk
 
Intro to Flutter
Intro to FlutterIntro to Flutter
Intro to FlutterEason Pai
 
Top Cross-Platform App Development Frameworks for 2020
Top Cross-Platform App Development Frameworks for 2020Top Cross-Platform App Development Frameworks for 2020
Top Cross-Platform App Development Frameworks for 2020Rockers Technology
 
Building Apps With Flutter
Building Apps With FlutterBuilding Apps With Flutter
Building Apps With FlutterDavid Onoh
 

Tendances (20)

Flutter
FlutterFlutter
Flutter
 
Flutter rev cx
Flutter rev cxFlutter rev cx
Flutter rev cx
 
Introduction to building multi platform mobile applications with javascript u...
Introduction to building multi platform mobile applications with javascript u...Introduction to building multi platform mobile applications with javascript u...
Introduction to building multi platform mobile applications with javascript u...
 
What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?
 
Flutter Development Services
Flutter Development ServicesFlutter Development Services
Flutter Development Services
 
Introduction to flutter(1)
 Introduction to flutter(1) Introduction to flutter(1)
Introduction to flutter(1)
 
Flutter UI Framework
Flutter UI FrameworkFlutter UI Framework
Flutter UI Framework
 
Flutter vs not flutter
Flutter vs not flutterFlutter vs not flutter
Flutter vs not flutter
 
Top five reasons you should prefer flutter app development
Top five reasons you should prefer flutter app developmentTop five reasons you should prefer flutter app development
Top five reasons you should prefer flutter app development
 
Developer Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for BeginnersDeveloper Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for Beginners
 
Flutter vs React Native 2019
Flutter vs React Native 2019Flutter vs React Native 2019
Flutter vs React Native 2019
 
Flutter for web
Flutter for webFlutter for web
Flutter for web
 
Silverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendSilverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression Blend
 
Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android
 
Getting started with flutter
Getting started with flutterGetting started with flutter
Getting started with flutter
 
Flutter
FlutterFlutter
Flutter
 
Top reason to choose flutter app development
Top reason to choose flutter app developmentTop reason to choose flutter app development
Top reason to choose flutter app development
 
Intro to Flutter
Intro to FlutterIntro to Flutter
Intro to Flutter
 
Top Cross-Platform App Development Frameworks for 2020
Top Cross-Platform App Development Frameworks for 2020Top Cross-Platform App Development Frameworks for 2020
Top Cross-Platform App Development Frameworks for 2020
 
Building Apps With Flutter
Building Apps With FlutterBuilding Apps With Flutter
Building Apps With Flutter
 

Similaire à Flutter Leap of Faith

Flutter Introduction and Architecture
Flutter Introduction and ArchitectureFlutter Introduction and Architecture
Flutter Introduction and ArchitectureJenish MS
 
flutter-general-report.docx
flutter-general-report.docxflutter-general-report.docx
flutter-general-report.docxKuntalSasmal1
 
Introduction to flutter's basic concepts
Introduction to flutter's basic conceptsIntroduction to flutter's basic concepts
Introduction to flutter's basic conceptsKumaresh Chandra Baruri
 
INTRODUCTION TO FLUTTER BASICS.pptx
INTRODUCTION TO FLUTTER BASICS.pptxINTRODUCTION TO FLUTTER BASICS.pptx
INTRODUCTION TO FLUTTER BASICS.pptx20TUCS033DHAMODHARAK
 
Flutter App Development- Why Should You Choose It .
Flutter App Development- Why Should You Choose It .Flutter App Development- Why Should You Choose It .
Flutter App Development- Why Should You Choose It .Techugo
 
DSC IIITL Flutter Workshop
DSC IIITL Flutter WorkshopDSC IIITL Flutter Workshop
DSC IIITL Flutter WorkshopDSCIIITLucknow
 
What makes Flutter the best cross platform sdk
What makes Flutter the best cross platform sdkWhat makes Flutter the best cross platform sdk
What makes Flutter the best cross platform sdkExpeed Software
 
Whats new in flutter.pptx
Whats new in flutter.pptxWhats new in flutter.pptx
Whats new in flutter.pptxAhmed Fathy
 
Flutter presentation.pptx
Flutter presentation.pptxFlutter presentation.pptx
Flutter presentation.pptxFalgunSorathiya
 
Introduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsIntroduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsYatno Sudar
 
Cross-platform development frameworks
Cross-platform development frameworksCross-platform development frameworks
Cross-platform development frameworksCarlo Bernaschina
 
Exploring-the-World-of-Flutter-Development.pptx
Exploring-the-World-of-Flutter-Development.pptxExploring-the-World-of-Flutter-Development.pptx
Exploring-the-World-of-Flutter-Development.pptxlancesterling21
 
Flutter App Development Building Cross-Platform Apps.pdf
Flutter App Development Building Cross-Platform Apps.pdfFlutter App Development Building Cross-Platform Apps.pdf
Flutter App Development Building Cross-Platform Apps.pdfShiv Technolabs Pvt. Ltd.
 
Top Benefits of Flutter App Development Services - An Insightful Blog
Top Benefits of Flutter App Development Services - An Insightful BlogTop Benefits of Flutter App Development Services - An Insightful Blog
Top Benefits of Flutter App Development Services - An Insightful BlogShiv Technolabs Pvt. Ltd.
 
Introduction to Android Application Development with Flutter.pptx
Introduction to Android Application Development with Flutter.pptxIntroduction to Android Application Development with Flutter.pptx
Introduction to Android Application Development with Flutter.pptxNikitaSingh741518
 
The magic of flutter
The magic of flutterThe magic of flutter
The magic of flutterShady Selim
 

Similaire à Flutter Leap of Faith (20)

Flutter Introduction and Architecture
Flutter Introduction and ArchitectureFlutter Introduction and Architecture
Flutter Introduction and Architecture
 
flutter-general-report.docx
flutter-general-report.docxflutter-general-report.docx
flutter-general-report.docx
 
Introduction to flutter's basic concepts
Introduction to flutter's basic conceptsIntroduction to flutter's basic concepts
Introduction to flutter's basic concepts
 
Flutter study jam 2019
Flutter study jam 2019Flutter study jam 2019
Flutter study jam 2019
 
INTRODUCTION TO FLUTTER BASICS.pptx
INTRODUCTION TO FLUTTER BASICS.pptxINTRODUCTION TO FLUTTER BASICS.pptx
INTRODUCTION TO FLUTTER BASICS.pptx
 
Flutter App Development- Why Should You Choose It .
Flutter App Development- Why Should You Choose It .Flutter App Development- Why Should You Choose It .
Flutter App Development- Why Should You Choose It .
 
Mobile Application Development class 001
Mobile Application Development class 001Mobile Application Development class 001
Mobile Application Development class 001
 
DSC IIITL Flutter Workshop
DSC IIITL Flutter WorkshopDSC IIITL Flutter Workshop
DSC IIITL Flutter Workshop
 
What makes Flutter the best cross platform sdk
What makes Flutter the best cross platform sdkWhat makes Flutter the best cross platform sdk
What makes Flutter the best cross platform sdk
 
Flutter101
Flutter101Flutter101
Flutter101
 
Whats new in flutter.pptx
Whats new in flutter.pptxWhats new in flutter.pptx
Whats new in flutter.pptx
 
Flutter presentation.pptx
Flutter presentation.pptxFlutter presentation.pptx
Flutter presentation.pptx
 
Introduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsIntroduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform Apps
 
Cross-platform development frameworks
Cross-platform development frameworksCross-platform development frameworks
Cross-platform development frameworks
 
Flutter intro
Flutter introFlutter intro
Flutter intro
 
Exploring-the-World-of-Flutter-Development.pptx
Exploring-the-World-of-Flutter-Development.pptxExploring-the-World-of-Flutter-Development.pptx
Exploring-the-World-of-Flutter-Development.pptx
 
Flutter App Development Building Cross-Platform Apps.pdf
Flutter App Development Building Cross-Platform Apps.pdfFlutter App Development Building Cross-Platform Apps.pdf
Flutter App Development Building Cross-Platform Apps.pdf
 
Top Benefits of Flutter App Development Services - An Insightful Blog
Top Benefits of Flutter App Development Services - An Insightful BlogTop Benefits of Flutter App Development Services - An Insightful Blog
Top Benefits of Flutter App Development Services - An Insightful Blog
 
Introduction to Android Application Development with Flutter.pptx
Introduction to Android Application Development with Flutter.pptxIntroduction to Android Application Development with Flutter.pptx
Introduction to Android Application Development with Flutter.pptx
 
The magic of flutter
The magic of flutterThe magic of flutter
The magic of flutter
 

Dernier

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Dernier (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

Flutter Leap of Faith

  • 1. leap of faith Let’s take a leap of faith into flutter… Damith Warnakulasuriya Software Engineer Compiled on 14th of September 2020 Last Updated on 19th of January 2022
  • 2. Savepoints ● Introduction to flutter ● Flutter Approach ● Flutter Key Components ● Flutter in Industry ● Coding Journey ● Challenge !
  • 3. Flutter Flutter is a cross platform application development environment that enables you to write native mobile, web and desktop applications with a single code base.
  • 4.
  • 9. Flutter ● Flutter Framework ● Flutter Widgets ● Dart ● UI as Code ● Widget Tree ● State ● Flutter Rendering Engine ● Platform Specific Code ● Single Codebase
  • 10. Flutter Framework Stateless or stateful Widgets are the building blocks of any Flutter app and can be themed to look like native Android (Material) or iOS (Cupertino) UI components. Widgets are rendered onto a Skia canvas with support for advanced animations and gesture recognition. Flutter’s engine hosts the core technologies Skia – a 2D graphics rendering library – and the Dart language VM in a platform-specific shell
  • 11. Flutter Widgets Everything is a Widget ! In flutter, Widget is a way to declare and construct UI Widget is not just a piece of UI. Widget is a lot more than just structural elements like buttons, text, image, list or slider. A widget might display Something, it might help define design, it might help with layout, it may handle user interaction, etc
  • 12. Dart Easy and Powerful ! Dart is a reactive language that talks similar to python in terms of ease of coding while keeping the power of java like syntax under the hood Optimized for building UI Productive development with hot reload Compiles to Native Machine Code
  • 14. Widget Tree The widget tree is how you create your UI; you position widgets within each other to build simple and complex layouts. Since just about everything in the Flutter framework is a widget, and as you start nesting them, the code can become harder to follow keep the widget tree as shallow as possible
  • 15. State A widget can be either, 1. Stateful Widget 2. Stateless Widget Stateless widgets have no internal state, therefore difficult to modify without re-initializing. State is the information that can be read synchronously when the widget is built and might change during the lifetime of the widget
  • 16. Rendering Engine Skia: A cross-platform rendering framework sponsored and managed by Google. It serves as graphics engine for iOS/Android applications Flutter can implement UI isolation on Native and Flutter Engine. It also captures the UI code without analyzing the platform implementation on the cross- platform scapture Capturing high-memory images of the Native side solutions is a challenge
  • 17. Platform Specific Code Flutter uses a flexible system that allows you to call platform-specific APIs whether available in Kotlin or Java code on Android, or in Swift or Objective-C code on iOS. Flutter’s builtin platform-specific API support does not rely on code generation, but rather on a flexible message passing style. Alternatively, the package Pigeon can be used for sending structured typesafe messages via code generation
  • 18. Single Codebase One codebase for different platforms is the core idea of flutter. The flutter team is working on extending the platform compatibility. At the moment mobile is in stable channel and recently web also moved to stable channel which is also good enough for an standard production.
  • 20. Ebay Motors : Benefits of cross platform
  • 21. Companies that use flutter,
  • 22. Cut the crap ! Lets Code ; )
  • 23. Create App Create the basic flutter app using the flutter SDK and tools Build UI Build the responsive UI Widgets Connect Firebase Config and connect to firebase with async functions and callbacks Convert to Platforms Convert the codebase to different platforms. Platform Specifics Write some platform specific code before windup Repo url : cutt.ly/flof
  • 24. Future of Flutter Flutter team is working very hard towards fulfilling the vision of one codebase for a single app to be deployed across different platforms as follows Production Ready, ● Flutter iOS ● Flutter Android ● Flutter Web Still Growing, ● Flutter Desktop for macOS ● Flutter Desktop for Windows ● Flutter Desktop for Linux ● Flutter Desktop for ChromeOS ● Flutter Embedded for Raspberry Pi ● Flutter Wearable for Android Wear OS ● Flutter Wearable for iOS watchOS (Not possible, but able to add native Apple Watch extension to a Flutter app)
  • 25. Worthy of a challenge? (1 week) Build a flutter app with a firebase backend. Be creative to build your own idea or choose one from the below list, 1. Photo Capturing app 2. Reminder App for special Events 3. Quiz App 4. ToDo List App 5. A mini Game Or use your imagination... Use, Repo name : flof_{your_idea} ● Commit every step on the way ● Add me as a contributor : damithdev And When you’re done, ● Pull request to new branch flof adding me as a reviewer to the pull request