Shuaib Afegbua, Ectorium/Code
Kraft
@afegbuas
Abuja
The Flutter Revolution -
Recipe for building apps
without pain
Slide 2
Slide 2 text
Technology enthusiast |> Software craftsman |> Loves building stuff
ABOUT ME
Long love affair with Java. Also writes Elixir, Scala and some others
@afegbuas
Slide 3
Slide 3 text
Technology enthusiast |> Software craftsman |> Loves building stuff
ABOUT ME
Long love affair with Java. Also writes Elixir, Scala and some others
@afegbuas
Slide 4
Slide 4 text
Technology enthusiast |> Software craftsman |> Loves building stuff
ABOUT ME
Long love affair with Java. Also writes Elixir, Scala and some others
● Computer Science major (FUTMINNA and ABU)
● Worked at Mott Macdonald/Cambridge Education for a long time and
some other places
● Got tired, quit and stayed at home.
@afegbuas
Slide 5
Slide 5 text
MY PRESENT AND POSSIBLE FUTURE
● Building Ectorium. WTH????
● Amateur Writer - www.medium.com/@afegbuas
● I have an addiction bleeding edge technology
● Got another addiction - READING
@afegbuas
Slide 6
Slide 6 text
I LOVE BUILDING THINGS
●
@afegbuas
Slide 7
Slide 7 text
Mobile: how it all started?
Slide 8
Slide 8 text
“To tortoise fell from the sky,
some group of techies ran to
rescue it and found a mobile”
- Anonymous
Slide 9
Slide 9 text
1973
Demonstrated the first mobile
Motorola
Slide 10
Slide 10 text
1979
Japanese company Nippon Telegraph and
Telephone launched the first commercial
phone in 1979 and Nordic Mobile Telephone
launched the first fully automatic cellular
phone
NTT and NMT
Slide 11
Slide 11 text
1990s
1990 witnessed the advent of the
second-generation (2G) digital cellular
technology was launched in Finland by
Radiolinja
2G
Slide 12
Slide 12 text
1990s
IBM released the first smartphone in 1993 with
a calculator, world clock, calendar and contact
book. LOL
WML
Palm OS
Java ME,
Symbian OS
Also the smartphone era
Slide 13
Slide 13 text
2001
2001 was 3G phones.
Blackberry came with a major breakthrough in
2002 with their smartphone
Iphone OS 2018
Android 2008
3GS
Slide 14
Slide 14 text
2009 and upwards
As phones technology started improving and
getting power with more computing powers,
4G and above
Slide 15
Slide 15 text
Development approaches
Slide 16
Slide 16 text
Proprietary + Confidential
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Android iOS
NATIVE APPROACH
Slide 17
Slide 17 text
Proprietary + Confidential
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
HYBRID AND CROSS PLATFORM
Slide 18
Slide 18 text
What is Flutter ?
Slide 19
Slide 19 text
Flutter
Flutter is Google's mobile UI framework for crafting high-quality
native experiences on iOS and Android in record time
Slide 20
Slide 20 text
Why Flutter ?
Slide 21
Slide 21 text
Flutter empowers the
developer
Slide 22
Slide 22 text
Awesome UI Library
Everything is a widget you hear
Excellent look and feel
Performs very fast
Extensible and customisable
Slide 23
Slide 23 text
Write once, deploy cross platform
Single code base
One Language for UI and Code
Bundled framework
Slide 24
Slide 24 text
Excellent Layout Approach
No N-Squared Performance problem
No overloaded styling rules
Heavily customisable
Slide 25
Slide 25 text
Reactive
Just in Time Compilation
Event driven
JIT
Slide 26
Slide 26 text
Fast Build with hot-reload
Sub seconds reload
10 seconds native android with Gradle builds. SORRY Gradle
Slide 27
Slide 27 text
Integrate Flutter into existing apps
Easy and Fast Developments
Slide 28
Slide 28 text
Truly native
Code compiles AOT into Native ARM
No bridge like we have in React Native or NativeScript or others
Slide 29
Slide 29 text
Tootselts and Documentation
Build tool and IDE Intellisense
VSCODE, Android Studio and IntelliJ
Dart Pub Packages
Good Documentation
The community is growing rapidly - Tutorials, Stackoverflow,
YouTube etc.
Slide 30
Slide 30 text
How to Flutter does this ?
Slide 31
Slide 31 text
Image credite: AlibabaTech
WebViews
Slide 32
Slide 32 text
Image Credits: AlibabaTech
Reactive views
Slide 33
Slide 33 text
Image Credits: AlibabaTech
The Flutter way
Slide 34
Slide 34 text
34
Slide 35
Slide 35 text
How to Flutter?
Slide 36
Slide 36 text
Setting up your computer
Its is easy when you nixed Sorry windows
https://webdev.dartlang.org/tools/sdk#install
https://pub.dartlang.org/packages/stagehand#-readme-tab-
https://flutter.io/get-started/install/
https://flutter.io/get-started/editor/#androidstudio
Slide 37
Slide 37 text
Just Enough Dart
Dart is a language optimized for client-side development for web and mobile.
Dart helps you craft beautiful, high-quality experiences across all screens. A
client-optimized language Rich, powerful frameworks Delightful, flexible tooling
Slide 38
Slide 38 text
Dart
OOP Language
Concise to write and approachable
Productive
Fast
Portable
Slide 39
Slide 39 text
Data Types
Numbers - integers and doubles
Strings
Booleans
Slide 40
Slide 40 text
List
Slide 41
Slide 41 text
Maps
Slide 42
Slide 42 text
Functions
Slide 43
Slide 43 text
Anonymous and first class functions
Slide 44
Slide 44 text
Classes
Slide 45
Slide 45 text
Async Dart
Slide 46
Slide 46 text
HTTP
Programming
Slide 47
Slide 47 text
E don do?
Slide 48
Slide 48 text
Start Fluttering
Slide 49
Slide 49 text
No content
Slide 50
Slide 50 text
No content
Slide 51
Slide 51 text
No content
Slide 52
Slide 52 text
WTH is a Widget?
Slide 53
Slide 53 text
Stateful vs Stateless widgets
Slide 54
Slide 54 text
No content
Slide 55
Slide 55 text
No content
Slide 56
Slide 56 text
No content
Slide 57
Slide 57 text
Flutter widgets
layouts, widgets,
scrollers, forms,
buttons, Dialogs and
alerts, Navigation,
Sliders and
Indicators, working
with images