SlideShare a Scribd company logo
1 of 27
Mobile App
development with
Flutter: The Need
for Speed! - Ogundiran Al-Ameen
Hello!
I am Ogundiran Al-Ameen
Software Engineer @Andela - Lagos
Software Engineer @GoNoodle - TN
Twitter: @general_mentos
Youtube: https://bit.ly/2z2NB6p
2
Speaker Bio
- Lost lover of PHP
- Javascript Developer
- Node/React swordsman
- Unofficial DevRel for Flutter :)
- Advocate of Happiness
- Crack the worst jokes
- I don’t know anything, really!
3
Okay! What is Flutter?
This talk will focus on
building Android and iOS
apps with Flutter
Flutter is Google’s UI toolkit
for building beautiful,
natively compiled
applications for mobile,
web, and desktop from a
single codebase.
More info on https://flutter.dev. Flutter has a really good documentation that can be found at
https://flutter.dev/docs
4
Let’s start with the first set of slides
Let’s start with the first set of slides
“ Flutter is the tool sent from
above to save me! I can now
build high quality cross
platform apps with one
codebase. :)
7
How did we get here?
Let’s start with the first set of slides
7
Building mobile apps can be hard!
- Time
- Cost
- Maintenance
- Look and Feel
9
Building mobile apps can be hard!
- We don’t have to compromise UI for performance nor
performance for UI
- We have a lot of “ugly” UIs on app, it even gets worse when
mobile developers who are into functionality and not
appearance, started building mobile apps using cross-platform
tools. (Sorry )
- Mobile apps
10
11
Other solutions have been offered over time
The solutions Flutter provide
● Write once run everywhere
● Beautiful UIs - Native feel
● High performance - Maintain 60fps
● Reactive UIs
● Declarative
● Platform Look and Feel
12
Flutter is not your regular cross platform tool
● Doesn’t render your UI components in WebViews
● Doesn’t translate to a corresponding platform specific UI
component
● Compiles directly to ARM code no Javascript bridge
● Decoded/Painted to a GL texture on the GPU which is
then copied to the screen (Rendering layer isn’t impacted
by the platform)
● AOT and JIT compilation
13
Source: flutter.dev - Flutter architecture
Skia Dart Text
Foundation
Animation Painting
Rendering
Widgets
Material
Gestures
Engine
(C++)
Framework
(Dart)
Cupertino
Architecture of Flutter apps (High-level)
How does all these concern
me?
15
Flutter for Software Developers
● Dart programming language
● Object Oriented programming
● One language - No HTML CSS Javascript / XML/JAVA/Kotlin
● Iteration is easier
● Numerous state management solutions
16
“
You should never have to say
“No” to a designer
17
- Matt
Carroll
Confidential + Proprietary
Sweet, beautiful Custom UIs
Next big
thing
Everyone wants to build the next big thing.
But how will you build that if the current big
thing is figuring out a way to manage
extremely different tools and teams
19
Flutter for Software Developers
● 2.5 months to build the Reflectly app in Flutter
● 3 months to build the Hamilton app in Flutter
20
Developer tools
● Android Studio/IntelliJ & VSCode
● Stateful Hot reload
● Package Manager
● Inspector
● Platform Channels
21
22
23
Live Coding Session
24
How Flutter developers feels
Resources
● https://flutter.dev/docs/codelabs
● https://codelabs.developers.google.com/codelabs/flutter/#0
● https://flutter.dev/docs/cookbook
● https://www.udacity.com/course/build-native-mobile-apps-with-flutter--ud905
● https://www.udemy.com/flutter-dart-the-complete-flutter-app-development-course/
25
Credits
Special thanks to all the people who made and
released these awesome resources:
● Presentation template by SlidesCarnival
● Gifs by Giphy
● Image from Unsplash
26
27
Thanks!
Any questions?
You can find me at @general_mentos &
ogundiran12@gmail.com

More Related Content

What's hot

A flight with Flutter
A flight with FlutterA flight with Flutter
A flight with FlutterAhmed Tarek
 
Google flutter and why does it matter
Google flutter and why does it matterGoogle flutter and why does it matter
Google flutter and why does it matterAhmed Abu Eldahab
 
A good intro to Flutter and its magic
A good intro to Flutter and its magicA good intro to Flutter and its magic
A good intro to Flutter and its magicTarek Alabd
 
Flutter for web
Flutter for web Flutter for web
Flutter for web rihannakedy
 
Building beautiful apps with Google flutter
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutterAhmed Abu Eldahab
 
The magic of flutter
The magic of flutterThe magic of flutter
The magic of flutterShady Selim
 
Flutter Festival Session 1
Flutter Festival Session 1Flutter Festival Session 1
Flutter Festival Session 1PratikJH
 
Flutter: Future of App Development
Flutter: Future of App DevelopmentFlutter: Future of App Development
Flutter: Future of App Development9 series
 
Flutter session 01
Flutter session 01Flutter session 01
Flutter session 01DSC IEM
 
What is flutter and why should i care?
What is flutter and why should i care?What is flutter and why should i care?
What is flutter and why should i care?Sergi Martínez
 
[Alexandria Devfest] the magic of flutter
[Alexandria Devfest] the magic of flutter[Alexandria Devfest] the magic of flutter
[Alexandria Devfest] the magic of flutterAhmed Abu Eldahab
 
Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)Randal Schwartz
 
Developing cross platform apps in Flutter (Android, iOS, and Web)
Developing cross platform apps in Flutter (Android, iOS, and Web)Developing cross platform apps in Flutter (Android, iOS, and Web)
Developing cross platform apps in Flutter (Android, iOS, and Web)Priyanka Tyagi
 
Flutter Development Services
Flutter Development ServicesFlutter Development Services
Flutter Development ServicesThe NineHertz
 

What's hot (20)

Flutter UI Framework
Flutter UI FrameworkFlutter UI Framework
Flutter UI Framework
 
Flutter app
Flutter appFlutter app
Flutter app
 
A flight with Flutter
A flight with FlutterA flight with Flutter
A flight with Flutter
 
Google flutter and why does it matter
Google flutter and why does it matterGoogle flutter and why does it matter
Google flutter and why does it matter
 
A good intro to Flutter and its magic
A good intro to Flutter and its magicA good intro to Flutter and its magic
A good intro to Flutter and its magic
 
Flutter for web
Flutter for web Flutter for web
Flutter for web
 
Building beautiful apps with Google flutter
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutter
 
What is Flutter
What is FlutterWhat is Flutter
What is Flutter
 
The magic of flutter
The magic of flutterThe magic of flutter
The magic of flutter
 
Flutter Festival Session 1
Flutter Festival Session 1Flutter Festival Session 1
Flutter Festival Session 1
 
Flutter for web
Flutter for webFlutter for web
Flutter for web
 
Flutter: Future of App Development
Flutter: Future of App DevelopmentFlutter: Future of App Development
Flutter: Future of App Development
 
Flutter session 01
Flutter session 01Flutter session 01
Flutter session 01
 
What is flutter and why should i care?
What is flutter and why should i care?What is flutter and why should i care?
What is flutter and why should i care?
 
[Alexandria Devfest] the magic of flutter
[Alexandria Devfest] the magic of flutter[Alexandria Devfest] the magic of flutter
[Alexandria Devfest] the magic of flutter
 
Flutter Festival - Intro Session
Flutter Festival - Intro SessionFlutter Festival - Intro Session
Flutter Festival - Intro Session
 
Flutter
FlutterFlutter
Flutter
 
Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)
 
Developing cross platform apps in Flutter (Android, iOS, and Web)
Developing cross platform apps in Flutter (Android, iOS, and Web)Developing cross platform apps in Flutter (Android, iOS, and Web)
Developing cross platform apps in Flutter (Android, iOS, and Web)
 
Flutter Development Services
Flutter Development ServicesFlutter Development Services
Flutter Development Services
 

Similar to Mobile app development with Flutter: The Need for Speed!

How to develop a Flutter app.pdf
How to develop a Flutter app.pdfHow to develop a Flutter app.pdf
How to develop a Flutter app.pdfSmith Daniel
 
Whats new in flutter.pptx
Whats new in flutter.pptxWhats new in flutter.pptx
Whats new in flutter.pptxAhmed Fathy
 
Green flag Wrap up Google Solution Challenge.pdf
Green flag Wrap up Google Solution Challenge.pdfGreen flag Wrap up Google Solution Challenge.pdf
Green flag Wrap up Google Solution Challenge.pdfGoogleDeveloperStude22
 
flutter-general-report.docx
flutter-general-report.docxflutter-general-report.docx
flutter-general-report.docxKuntalSasmal1
 
Mobile development with Flutter
Mobile development with FlutterMobile development with Flutter
Mobile development with FlutterAwok
 
7 reasons why flutter might be the best choice for your next project
7 reasons why flutter might be the best choice for your next project7 reasons why flutter might be the best choice for your next project
7 reasons why flutter might be the best choice for your next projectConcetto Labs
 
Game development using Flutter
Game development using FlutterGame development using Flutter
Game development using FlutterShady Selim
 
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
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19oradoe
 
GITS Class #17: Coding Multiple Apps with Flutter
GITS Class #17: Coding Multiple Apps with FlutterGITS Class #17: Coding Multiple Apps with Flutter
GITS Class #17: Coding Multiple Apps with FlutterGITS Indonesia
 
Introduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsIntroduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsYatno Sudar
 
Complete guide to flutter app development
Complete guide to flutter app developmentComplete guide to flutter app development
Complete guide to flutter app developmentConcetto Labs
 
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
 
DSC IIITL Flutter Workshop
DSC IIITL Flutter WorkshopDSC IIITL Flutter Workshop
DSC IIITL Flutter WorkshopDSCIIITLucknow
 
Flutter technology Based on Web Development
Flutter technology Based on Web Development Flutter technology Based on Web Development
Flutter technology Based on Web Development divyawani2
 

Similar to Mobile app development with Flutter: The Need for Speed! (20)

How to develop a Flutter app.pdf
How to develop a Flutter app.pdfHow to develop a Flutter app.pdf
How to develop a Flutter app.pdf
 
Whats new in flutter.pptx
Whats new in flutter.pptxWhats new in flutter.pptx
Whats new in flutter.pptx
 
Flutter study jam 2019
Flutter study jam 2019Flutter study jam 2019
Flutter study jam 2019
 
Green flag Wrap up Google Solution Challenge.pdf
Green flag Wrap up Google Solution Challenge.pdfGreen flag Wrap up Google Solution Challenge.pdf
Green flag Wrap up Google Solution Challenge.pdf
 
flutter-general-report.docx
flutter-general-report.docxflutter-general-report.docx
flutter-general-report.docx
 
Mobile development with Flutter
Mobile development with FlutterMobile development with Flutter
Mobile development with Flutter
 
How does flutter cuts app development cost?
How does flutter cuts app development cost?How does flutter cuts app development cost?
How does flutter cuts app development cost?
 
Flutter Leap of Faith
Flutter Leap of FaithFlutter Leap of Faith
Flutter Leap of Faith
 
7 reasons why flutter might be the best choice for your next project
7 reasons why flutter might be the best choice for your next project7 reasons why flutter might be the best choice for your next project
7 reasons why flutter might be the best choice for your next project
 
Game development using Flutter
Game development using FlutterGame development using Flutter
Game development using Flutter
 
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 .
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19
 
GITS Class #17: Coding Multiple Apps with Flutter
GITS Class #17: Coding Multiple Apps with FlutterGITS Class #17: Coding Multiple Apps with Flutter
GITS Class #17: Coding Multiple Apps with Flutter
 
Introduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsIntroduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform Apps
 
Yahoo @ Nike
Yahoo @ NikeYahoo @ Nike
Yahoo @ Nike
 
Complete guide to flutter app development
Complete guide to flutter app developmentComplete guide to flutter app development
Complete guide to flutter app development
 
Introduction to flutter's basic concepts
Introduction to flutter's basic conceptsIntroduction to flutter's basic concepts
Introduction to flutter's basic concepts
 
HTML5 Game Development frameworks overview
HTML5 Game Development frameworks overviewHTML5 Game Development frameworks overview
HTML5 Game Development frameworks overview
 
DSC IIITL Flutter Workshop
DSC IIITL Flutter WorkshopDSC IIITL Flutter Workshop
DSC IIITL Flutter Workshop
 
Flutter technology Based on Web Development
Flutter technology Based on Web Development Flutter technology Based on Web Development
Flutter technology Based on Web Development
 

Recently uploaded

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.
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
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
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
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
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
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.
 
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
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 

Recently uploaded (20)

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 ...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
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
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
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
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
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...
 
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
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 

Mobile app development with Flutter: The Need for Speed!

  • 1. Mobile App development with Flutter: The Need for Speed! - Ogundiran Al-Ameen
  • 2. Hello! I am Ogundiran Al-Ameen Software Engineer @Andela - Lagos Software Engineer @GoNoodle - TN Twitter: @general_mentos Youtube: https://bit.ly/2z2NB6p 2
  • 3. Speaker Bio - Lost lover of PHP - Javascript Developer - Node/React swordsman - Unofficial DevRel for Flutter :) - Advocate of Happiness - Crack the worst jokes - I don’t know anything, really! 3
  • 4. Okay! What is Flutter? This talk will focus on building Android and iOS apps with Flutter Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. More info on https://flutter.dev. Flutter has a really good documentation that can be found at https://flutter.dev/docs 4
  • 5. Let’s start with the first set of slides
  • 6. Let’s start with the first set of slides
  • 7. “ Flutter is the tool sent from above to save me! I can now build high quality cross platform apps with one codebase. :) 7
  • 8. How did we get here? Let’s start with the first set of slides 7
  • 9. Building mobile apps can be hard! - Time - Cost - Maintenance - Look and Feel 9
  • 10. Building mobile apps can be hard! - We don’t have to compromise UI for performance nor performance for UI - We have a lot of “ugly” UIs on app, it even gets worse when mobile developers who are into functionality and not appearance, started building mobile apps using cross-platform tools. (Sorry ) - Mobile apps 10
  • 11. 11 Other solutions have been offered over time
  • 12. The solutions Flutter provide ● Write once run everywhere ● Beautiful UIs - Native feel ● High performance - Maintain 60fps ● Reactive UIs ● Declarative ● Platform Look and Feel 12
  • 13. Flutter is not your regular cross platform tool ● Doesn’t render your UI components in WebViews ● Doesn’t translate to a corresponding platform specific UI component ● Compiles directly to ARM code no Javascript bridge ● Decoded/Painted to a GL texture on the GPU which is then copied to the screen (Rendering layer isn’t impacted by the platform) ● AOT and JIT compilation 13
  • 14. Source: flutter.dev - Flutter architecture Skia Dart Text Foundation Animation Painting Rendering Widgets Material Gestures Engine (C++) Framework (Dart) Cupertino Architecture of Flutter apps (High-level)
  • 15. How does all these concern me? 15
  • 16. Flutter for Software Developers ● Dart programming language ● Object Oriented programming ● One language - No HTML CSS Javascript / XML/JAVA/Kotlin ● Iteration is easier ● Numerous state management solutions 16
  • 17. “ You should never have to say “No” to a designer 17 - Matt Carroll
  • 18. Confidential + Proprietary Sweet, beautiful Custom UIs
  • 19. Next big thing Everyone wants to build the next big thing. But how will you build that if the current big thing is figuring out a way to manage extremely different tools and teams 19
  • 20. Flutter for Software Developers ● 2.5 months to build the Reflectly app in Flutter ● 3 months to build the Hamilton app in Flutter 20
  • 21. Developer tools ● Android Studio/IntelliJ & VSCode ● Stateful Hot reload ● Package Manager ● Inspector ● Platform Channels 21
  • 22. 22
  • 25. Resources ● https://flutter.dev/docs/codelabs ● https://codelabs.developers.google.com/codelabs/flutter/#0 ● https://flutter.dev/docs/cookbook ● https://www.udacity.com/course/build-native-mobile-apps-with-flutter--ud905 ● https://www.udemy.com/flutter-dart-the-complete-flutter-app-development-course/ 25
  • 26. Credits Special thanks to all the people who made and released these awesome resources: ● Presentation template by SlidesCarnival ● Gifs by Giphy ● Image from Unsplash 26
  • 27. 27 Thanks! Any questions? You can find me at @general_mentos & ogundiran12@gmail.com

Editor's Notes

  1. Flutter uses its own high-performance rendering engine to draw widgets. Flutter implements most of its system (compositing, gestures, animation, framework, widgets, etc) in Dart (a modern, concise, object-oriented language) that developers can easily approach read, change, replace, or remove. 99% of the time, you don’t need to worry about this This gives developers tremendous control over the system, as well as significantly lowers the bar to approachability for the majority of the system.