2. Ahmed Abu Eldahab
Senior Software Consultant
Google Developer Expert in Flutter
/Dahabdev
@dahabdev
3. Tell me about you?
Developers ,
Designers , Mac ,
Linux , Windows ,
Web , Mobile ,
Android , ios ?
@dahabdev
4. Flutter is Google’s UI toolkit
for building beautiful,
natively compiled
applications for mobile, web,
and desktop from a single
codebase
5. Control every pixel on the screen
Make your brand come to life
Never say "no" to your designer
Stand out in the marketplace
Win awards with beautiful UI
Expressive, beautiful UIs
6. Flutter support many types of
Animations
- Tween
- Hero
- Sliver
- Transform
- FadeInWidget
- Animation Builder
- AnimatedOpacity
- Physics-based animation
Beautiful Animations
7. Fast
Brings the power of a games engine to
user experience development
60fps, GPU accelerated
Compiled to native machine code
8. Sub-second reload times
Paint your app to life
Iterate rapidly on features
Test hypotheses quicker than ever
More time to experiment & test
features
Single-codebase for faster collab
3X Productivity Gains
Productive
12. What makes Flutter unique?
- Compiles to Native Code (ARM Binary code)
- No reliance on OEM widgets
- No bridge needed
- No markup language (only Dart)
16. Everything is a Widget
Stateless Widget is immutable widget doesn’t know anything
& Gets render only once or when the parent widget changes
the configuration
17. Everything is a Widget
Stateful Widget is mutable widget which has its own
properties knowing as state and it can be changed by user
input or by using setState()
33. Flutter Widgets
Rebuilds frequently
Element Tree Render TreeWidget Tree
Rarely rebuilds Rarely rebuilds
Container ElementContainer
Column
Text
Column Element
Text Element
Rendered Box
Rendered Box
Rendered Box
34. Flutter Widgets
Rebuilds frequently
Element Tree Render TreeWidget Tree
Rarely rebuilds Rarely rebuilds
Container ElementContainer
Column
Text
Column Element
Text Element
Rendered Box
Rendered Box
Rendered Box
35. Flutter Widgets
Rebuilds frequently
Element Tree Render TreeWidget Tree
Rarely rebuilds Rarely rebuilds
Container ElementContainer
Column Column Element
Text Element
Rendered Box
Rendered Box
Rendered Box
36. Flutter Widgets
Rebuilds frequently
Element Tree Render TreeWidget Tree
Rarely rebuilds Rarely rebuilds
Container ElementContainer
Column Column Element
Rendered Box
Rendered Box
37. Flutter Widgets
Rebuilds frequently
Element Tree Render TreeWidget Tree
Rarely rebuilds Rarely rebuilds
Container ElementContainer
Column
List
Column Element
List Element
Rendered Box
Rendered Box
Rendered Box
38. Flutter Widgets
Rebuilds frequently
Element Tree Render TreeWidget Tree
Rarely rebuilds Rarely rebuilds
Container ElementContainer
Column
List
Column Element
List Element
Rendered Box
Rendered Box
Rendered Box
39. Flutter Widgets
Rebuilds frequently
Element Tree Render TreeWidget Tree
Rarely rebuilds Rarely rebuilds
Container ElementContainer
Column
List
Column Element
List Element
Rendered Box
Rendered Box
Rendered Box
40. Flutter Widgets
Rebuilds frequently
Element Tree Render TreeWidget Tree
Rarely rebuilds Rarely rebuilds
Container ElementContainer
Column
List
Column Element
List Element
Rendered Box
Rendered Box
Rendered Box
41. Flutter Widgets
Rebuilds frequently
Element Tree Render TreeWidget Tree
Rarely rebuilds Rarely rebuilds
Container ElementContainer
Column
List
Column Element
List Element
Rendered Box
Rendered Box
Rendered Box
42. Flutter Widgets
Rebuilds frequently
Element Tree Render TreeWidget Tree
Rarely rebuilds Rarely rebuilds
Container ElementContainer
Column
List
Column Element
List Element
Rendered Box
Rendered Box
Rendered Box
Unique Key Unique Key
43. Flutter Widgets
Rebuilds frequently
Element Tree Render TreeWidget Tree
Rarely rebuilds Rarely rebuilds
Container ElementContainer
Column
List
Column Element
List Element
Rendered Box
Rendered Box
Rendered Box
Unique Key Unique Key
44. Flutter Widgets
Rebuilds frequently
Element Tree Render TreeWidget Tree
Rarely rebuilds Rarely rebuilds
Container ElementContainer
Column
List
Column Element
List Element
Rendered Box
Rendered Box
Rendered Box
Unique Key Unique Key
45. Flutter Widgets
Rebuilds frequently
Element Tree Render TreeWidget Tree
Rarely rebuilds Rarely rebuilds
Container ElementContainer
Column
List
Column Element
List Element
Rendered Box
Rendered Box
Rendered Box
Unique Key Unique Key