Build beautiful native apps in record time with flutter

R
Build beautiful native apps
in record time with flutter
Eduardo Telaya
- CTO / Software Architect / Drupal Developer
Agenda
● Context about Apps
○ Native apps
○ Web apps
○ Hybrid apps
● What’s flutter?
● Who’s flutter for?
● What makes flutter awesome?
○ Widgets
○ Performance
○ Rendering
● Comments about flutter
● Demo!
● Thanks!
Context about Apps
Native apps (advantages)
● Quality
● Aspect Ratios
● Speed
● IDE
● Standing on the shoulders of giants
● Advanced UI Interactions
● Native Look and Feel
● Usability
● New Features
They are Android(Java), Ios(Swift), Windows mobile(.net)
Web apps (advantages)
● Reduced Development Costs
● Ease of Integration
● Simplified Maintenance
● Easy installation
● Accessible anywhere
● Easily customisable
● Accessible for a range of devices
● Easier to develop
Use web technologies to build an “app”
Hybrid apps (advantages)
● Reduced Development Costs
● Improved UI/UX
● Ease of Integration
● Offline Support
● Simplified Maintenance
Single code base that compiles natively
What do users(client, end user, dev, designer) want?
● Reduced Development Costs
● Improved UI/UX
● Ease of Integration
● Offline Support
● Simplified Maintenance
● Quality
● Speed
● Standing on the shoulders of giants
● Advanced UI Interactions
Single code base that compiles natively
?
What If I told you that flutter has got!
● Reduced Development Costs
● Improved UI/UX
● Ease of Integration
● Offline Support
● Simplified Maintenance
● Quality
● Speed
● Standing on the shoulders of giants
● Advanced UI Interactions
Single code base that compiles natively
What is Flutter?
A SDK that makes building high-performing, modern and beautiful apps easy
Works for both Android and iOS
An open-source toolkit, developed by Google*
100+ contributions from the open source community
* Currently in Beta
Who is Flutter for?
Designers converge on a brand-driven experience on Android and iOS
Prototypers enjoy a high-fidelity and fast way to build working prototypes.
Developers benefit from fantastic developer tools, an easy-to-use language,
a rich set of widgets and great IDE support. Flutter frees up valuable time for
working on features and delightful experiences.
1. Developer Experience
2. Performance
Design-oriented
Development Flow
What do you see here?
Diagram the Layout
- Look for rows and columns
- Is there a grid?
- Any overlapping elements?
- Do we need tabs?
- Padding, alignment or borders needed?
Designing bottom up
HTML/CSS Analogs in Flutter
var container = new Container( // grey box
child: new Text(
"Lorem ipsum",
style: new TextStyle(
fontSize: 24.0
fontWeight: FontWeight.w900,
fontFamily: "Georgia",
),
),
width: 320.0,
height: 240.0,
color: Colors.grey[300],
);
<div class="greybox">
Lorem ipsum
</div>
.greybox {
background-color: #e0e0e0; /* grey 300 */
width: 320px;
height: 240px;
font: 900 24px Georgia;
}
Efficient Tooling
$ flutter doctor
Checks your environment and displays a report to the terminal window
$ flutter upgrade
Updates both the Flutter SDK and your packages
pubspec.yaml
name: flutter_project
description: An amazing Flutter project using Firebase Auth
dependencies:
flutter:
sdk: flutter
firebase_auth: "^0.2.5"
pubspec.yaml
name: flutter_project
description: An amazing Flutter project using Firebase Auth
dependencies:
flutter:
sdk: flutter
firebase_auth: ">=0.1.2 <0.2.6"
$ flutter packages get
Checks your environment and displays a report to the terminal window
$ flutter packages upgrade
Will retrieve the highest available version of the package
$ flutter format
Automatically formats your code according to the Flutter-style
$ flutter analyze
Analyzes your code and help you find possible mistakes
Hot Reload
Injecting updated source code files into the running Dart VM
Stateful: App state is retained after a reload.
Quickly iterate on a screen deeply nested in your app
Build beautiful native apps in record time with flutter
Dart Observatory
Statement-level single-stepping debugger and profiler
Automatically running when you start your app using flutter run
See which lines of code have executed
Check out memory allocations
Debug memory leaks & fragmentation
The Power of Widgets
Great looking and fast Widgets
Everything is a Widget
Goodbye, global layout system
new Center(
child: new Text('Centered Text', style: textStyle),
)
Local layouts: Every Widget defines it’s own layout. No need to tell the parent that
it’s children are supposed to be centered.
StatefulWidget
vs.
StatelessWidget
Customizing and extending Widgets
Flutter’s Widget system was designed to be easily customizable
Composition: Widgets are built out of smaller widgets that you can reuse and
combine in novel ways to make custom widgets
class RaisedButton extends StatelessWidget {
...
}
Each layer
builds upon
the
previous
layer
Skia Dart Text
Foundation
Animation Painting
Rendering
Widgets
Material
Gestures
Engine
(C++)
Framework
(Dart)
Cupertino
Optimized for Performance
- Compiles to Native Code
- No reliance on OEM widgets
- No bridge needed
- Structural Repainting
Superpowered by Dart
- Sound type system
- Tree Shaking
- Rich core libraries
- Multi-gen, lockless GC
- Single codebase for
Android and iOS
- Rapid development cycles
- Great tooling
“Running at 60 fps, user interfaces created with
Flutter perform far better than those created with
other cross-platform development frameworks.”
code.tutsplus.com/tutorials/developing-an-android-app-with-flutter--cms-28270
“Coding with Dart and Flutter rekindled the joy I
had when I started with mobile dev way back
when … No B.S.”
traversoft.com/blog/2017/08/08/conference-app-flutter
"The UI is butter smooth (when building a release
version), I have never seen such a smooth
Android app"
Pascal Welsch, Speaker at Droidcon Berlin
Additional resources
Blog: What’s Revolutionary about Flutter by Wm Leler: goo.gl/bZcFR9
Video: Flutter's Rendering Pipeline by Adam Barth: youtu.be/UUfXWzp0-DU
Video: The Mahogany Staircase by Ian Hickson: youtu.be/dkyY9WCGMi0
And of course: github.com/flutter & flutter.io
Thank you!
Eduardo Telaya
- CTO / Software Architect /
- Drupal Developer
1 de 42

Recomendados

Introduction to Flutter por
Introduction to FlutterIntroduction to Flutter
Introduction to FlutterApoorv Pandey
569 visualizações27 slides
The magic of flutter por
The magic of flutterThe magic of flutter
The magic of flutterShady Selim
1.5K visualizações30 slides
Flutter introduction por
Flutter introductionFlutter introduction
Flutter introductionSheilaJimenezMorejon
451 visualizações11 slides
What is Flutter por
What is FlutterWhat is Flutter
What is FlutterMalan Amarasinghe
1.5K visualizações18 slides
Getting started with flutter por
Getting started with flutterGetting started with flutter
Getting started with flutterrihannakedy
1.4K visualizações49 slides
Flutter for web por
Flutter for web Flutter for web
Flutter for web rihannakedy
398 visualizações33 slides

Mais conteúdo relacionado

Mais procurados

Flutter beyond hello world por
Flutter beyond hello worldFlutter beyond hello world
Flutter beyond hello worldAhmed Abu Eldahab
2.7K visualizações61 slides
What is flutter and why should i care? por
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
6.1K visualizações28 slides
Flutter por
FlutterFlutter
FlutterShyju Madathil
1.2K visualizações16 slides
Flutter workshop por
Flutter workshopFlutter workshop
Flutter workshopVishnu Suresh
11.2K visualizações31 slides
Flutter Intro por
Flutter IntroFlutter Intro
Flutter IntroVladimir Parfenov
7.4K visualizações30 slides
Pune Flutter Presents - Flutter 101 por
Pune Flutter Presents - Flutter 101Pune Flutter Presents - Flutter 101
Pune Flutter Presents - Flutter 101Arif Amirani
1K visualizações37 slides

Mais procurados(20)

Flutter beyond hello world por Ahmed Abu Eldahab
Flutter beyond hello worldFlutter beyond hello world
Flutter beyond hello world
Ahmed Abu Eldahab2.7K visualizações
What is flutter and why should i care? por Sergi Martínez
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ínez6.1K visualizações
Flutter por Shyju Madathil
FlutterFlutter
Flutter
Shyju Madathil1.2K visualizações
Flutter workshop por Vishnu Suresh
Flutter workshopFlutter workshop
Flutter workshop
Vishnu Suresh11.2K visualizações
Flutter Intro por Vladimir Parfenov
Flutter IntroFlutter Intro
Flutter Intro
Vladimir Parfenov7.4K visualizações
Pune Flutter Presents - Flutter 101 por Arif Amirani
Pune Flutter Presents - Flutter 101Pune Flutter Presents - Flutter 101
Pune Flutter Presents - Flutter 101
Arif Amirani1K visualizações
INTRODUCTION TO FLUTTER.pdf por AdarshMathuri
INTRODUCTION TO FLUTTER.pdfINTRODUCTION TO FLUTTER.pdf
INTRODUCTION TO FLUTTER.pdf
AdarshMathuri875 visualizações
Flutter Tutorial For Beginners | Edureka por Edureka!
Flutter Tutorial For Beginners | EdurekaFlutter Tutorial For Beginners | Edureka
Flutter Tutorial For Beginners | Edureka
Edureka!4.5K visualizações
Flutter introduction por Võ Duy Tuấn
Flutter introductionFlutter introduction
Flutter introduction
Võ Duy Tuấn1.2K visualizações
Flutter talkshow por Nhan Cao
Flutter talkshowFlutter talkshow
Flutter talkshow
Nhan Cao830 visualizações
Flutter por Toma Velev
FlutterFlutter
Flutter
Toma Velev311 visualizações
Flutter por Mohit Sharma
FlutterFlutter
Flutter
Mohit Sharma682 visualizações
Building beautiful apps using google flutter por Ahmed Abu Eldahab
Building beautiful apps using google flutterBuilding beautiful apps using google flutter
Building beautiful apps using google flutter
Ahmed Abu Eldahab658 visualizações
Flutter por shreyash singh
FlutterFlutter
Flutter
shreyash singh756 visualizações
Flutter por Mohit Nainwal
Flutter Flutter
Flutter
Mohit Nainwal383 visualizações
Building beautiful apps with Google flutter por Ahmed Abu Eldahab
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutter
Ahmed Abu Eldahab10.6K visualizações
Introduction to Flutter.pptx por DiffouoFopaEsdras
Introduction to Flutter.pptxIntroduction to Flutter.pptx
Introduction to Flutter.pptx
DiffouoFopaEsdras109 visualizações
Dart and Flutter Basics.pptx por DSCVSSUT
Dart and Flutter Basics.pptxDart and Flutter Basics.pptx
Dart and Flutter Basics.pptx
DSCVSSUT1.1K visualizações
Mobile development with Flutter por Awok
Mobile development with FlutterMobile development with Flutter
Mobile development with Flutter
Awok532 visualizações
Flutter: Future of App Development por 9 series
Flutter: Future of App DevelopmentFlutter: Future of App Development
Flutter: Future of App Development
9 series210 visualizações

Similar a Build beautiful native apps in record time with flutter

Flutter por
FlutterFlutter
FlutterHimanshu Singh
26K visualizações26 slides
Introducing J2ME Polish por
Introducing J2ME PolishIntroducing J2ME Polish
Introducing J2ME PolishAdam Cohen-Rose
2.3K visualizações35 slides
The Magic of flutter Comex oman 2019 por
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019Ahmed Abu Eldahab
372 visualizações57 slides
Choose flutter por
Choose flutterChoose flutter
Choose flutterSamuelAdetunji2
67 visualizações49 slides
Flutter Online Study jam 10-7-2019 por
Flutter Online Study jam 10-7-2019Flutter Online Study jam 10-7-2019
Flutter Online Study jam 10-7-2019Ahmed Abu Eldahab
5.8K visualizações47 slides
flutter.school #HelloWorld por
flutter.school #HelloWorldflutter.school #HelloWorld
flutter.school #HelloWorldFrederik Schweiger
429 visualizações31 slides

Similar a Build beautiful native apps in record time with flutter(20)

Flutter por Himanshu Singh
FlutterFlutter
Flutter
Himanshu Singh26K visualizações
Introducing J2ME Polish por Adam Cohen-Rose
Introducing J2ME PolishIntroducing J2ME Polish
Introducing J2ME Polish
Adam Cohen-Rose2.3K visualizações
The Magic of flutter Comex oman 2019 por Ahmed Abu Eldahab
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019
Ahmed Abu Eldahab372 visualizações
Choose flutter por SamuelAdetunji2
Choose flutterChoose flutter
Choose flutter
SamuelAdetunji267 visualizações
Flutter Online Study jam 10-7-2019 por Ahmed Abu Eldahab
Flutter Online Study jam 10-7-2019Flutter Online Study jam 10-7-2019
Flutter Online Study jam 10-7-2019
Ahmed Abu Eldahab5.8K visualizações
flutter.school #HelloWorld por Frederik Schweiger
flutter.school #HelloWorldflutter.school #HelloWorld
flutter.school #HelloWorld
Frederik Schweiger429 visualizações
Best software development tools in 2021 por Samaritan InfoTech
Best software development tools in 2021Best software development tools in 2021
Best software development tools in 2021
Samaritan InfoTech40 visualizações
Google flutter the easy and practical way por Ahmed Abu Eldahab
Google flutter the easy and practical wayGoogle flutter the easy and practical way
Google flutter the easy and practical way
Ahmed Abu Eldahab640 visualizações
Introduction to flutter's basic concepts por Kumaresh Chandra Baruri
Introduction to flutter's basic conceptsIntroduction to flutter's basic concepts
Introduction to flutter's basic concepts
Kumaresh Chandra Baruri159 visualizações
Experiences using CouchDB inside Microsoft's Azure team por Brian Benz
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
Brian Benz5.6K visualizações
Angular mobile angular_u por Doris Chen
Angular mobile angular_uAngular mobile angular_u
Angular mobile angular_u
Doris Chen3.6K visualizações
Bhavin_Resume por bhavin patel
Bhavin_ResumeBhavin_Resume
Bhavin_Resume
bhavin patel249 visualizações
Embarcadero's Connected Development por Jim McKeeth
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected Development
Jim McKeeth14.6K visualizações
Flutter study jam 2019 por Ahmed Abu Eldahab
Flutter study jam 2019Flutter study jam 2019
Flutter study jam 2019
Ahmed Abu Eldahab810 visualizações
Google flutter the easy and practical way IEEE Alazhar por Ahmed Abu Eldahab
Google flutter the easy and practical way IEEE AlazharGoogle flutter the easy and practical way IEEE Alazhar
Google flutter the easy and practical way IEEE Alazhar
Ahmed Abu Eldahab1K visualizações
Developing a Modern Mobile App Strategy por Todd Anglin
Developing a Modern Mobile App StrategyDeveloping a Modern Mobile App Strategy
Developing a Modern Mobile App Strategy
Todd Anglin14.9K visualizações
Google flutter the easy and practical way por Ahmed Abu Eldahab
Google flutter the easy and practical wayGoogle flutter the easy and practical way
Google flutter the easy and practical way
Ahmed Abu Eldahab433 visualizações
Game development using Flutter por Shady Selim
Game development using FlutterGame development using Flutter
Game development using Flutter
Shady Selim438 visualizações
Responsive web design with various grids and frameworks comparison por DhrubaJyoti Dey
Responsive web design with various grids and frameworks comparisonResponsive web design with various grids and frameworks comparison
Responsive web design with various grids and frameworks comparison
DhrubaJyoti Dey1.1K visualizações

Build beautiful native apps in record time with flutter

  • 1. Build beautiful native apps in record time with flutter Eduardo Telaya - CTO / Software Architect / Drupal Developer
  • 2. Agenda ● Context about Apps ○ Native apps ○ Web apps ○ Hybrid apps ● What’s flutter? ● Who’s flutter for? ● What makes flutter awesome? ○ Widgets ○ Performance ○ Rendering ● Comments about flutter ● Demo! ● Thanks!
  • 4. Native apps (advantages) ● Quality ● Aspect Ratios ● Speed ● IDE ● Standing on the shoulders of giants ● Advanced UI Interactions ● Native Look and Feel ● Usability ● New Features They are Android(Java), Ios(Swift), Windows mobile(.net)
  • 5. Web apps (advantages) ● Reduced Development Costs ● Ease of Integration ● Simplified Maintenance ● Easy installation ● Accessible anywhere ● Easily customisable ● Accessible for a range of devices ● Easier to develop Use web technologies to build an “app”
  • 6. Hybrid apps (advantages) ● Reduced Development Costs ● Improved UI/UX ● Ease of Integration ● Offline Support ● Simplified Maintenance Single code base that compiles natively
  • 7. What do users(client, end user, dev, designer) want? ● Reduced Development Costs ● Improved UI/UX ● Ease of Integration ● Offline Support ● Simplified Maintenance ● Quality ● Speed ● Standing on the shoulders of giants ● Advanced UI Interactions Single code base that compiles natively ?
  • 8. What If I told you that flutter has got! ● Reduced Development Costs ● Improved UI/UX ● Ease of Integration ● Offline Support ● Simplified Maintenance ● Quality ● Speed ● Standing on the shoulders of giants ● Advanced UI Interactions Single code base that compiles natively
  • 9. What is Flutter? A SDK that makes building high-performing, modern and beautiful apps easy Works for both Android and iOS An open-source toolkit, developed by Google* 100+ contributions from the open source community * Currently in Beta
  • 10. Who is Flutter for? Designers converge on a brand-driven experience on Android and iOS Prototypers enjoy a high-fidelity and fast way to build working prototypes. Developers benefit from fantastic developer tools, an easy-to-use language, a rich set of widgets and great IDE support. Flutter frees up valuable time for working on features and delightful experiences.
  • 13. What do you see here?
  • 14. Diagram the Layout - Look for rows and columns - Is there a grid? - Any overlapping elements? - Do we need tabs? - Padding, alignment or borders needed?
  • 16. HTML/CSS Analogs in Flutter var container = new Container( // grey box child: new Text( "Lorem ipsum", style: new TextStyle( fontSize: 24.0 fontWeight: FontWeight.w900, fontFamily: "Georgia", ), ), width: 320.0, height: 240.0, color: Colors.grey[300], ); <div class="greybox"> Lorem ipsum </div> .greybox { background-color: #e0e0e0; /* grey 300 */ width: 320px; height: 240px; font: 900 24px Georgia; }
  • 18. $ flutter doctor Checks your environment and displays a report to the terminal window $ flutter upgrade Updates both the Flutter SDK and your packages
  • 19. pubspec.yaml name: flutter_project description: An amazing Flutter project using Firebase Auth dependencies: flutter: sdk: flutter firebase_auth: "^0.2.5"
  • 20. pubspec.yaml name: flutter_project description: An amazing Flutter project using Firebase Auth dependencies: flutter: sdk: flutter firebase_auth: ">=0.1.2 <0.2.6"
  • 21. $ flutter packages get Checks your environment and displays a report to the terminal window $ flutter packages upgrade Will retrieve the highest available version of the package
  • 22. $ flutter format Automatically formats your code according to the Flutter-style $ flutter analyze Analyzes your code and help you find possible mistakes
  • 23. Hot Reload Injecting updated source code files into the running Dart VM Stateful: App state is retained after a reload. Quickly iterate on a screen deeply nested in your app
  • 25. Dart Observatory Statement-level single-stepping debugger and profiler Automatically running when you start your app using flutter run See which lines of code have executed Check out memory allocations Debug memory leaks & fragmentation
  • 26. The Power of Widgets
  • 27. Great looking and fast Widgets
  • 28. Everything is a Widget
  • 29. Goodbye, global layout system new Center( child: new Text('Centered Text', style: textStyle), ) Local layouts: Every Widget defines it’s own layout. No need to tell the parent that it’s children are supposed to be centered.
  • 31. Customizing and extending Widgets Flutter’s Widget system was designed to be easily customizable Composition: Widgets are built out of smaller widgets that you can reuse and combine in novel ways to make custom widgets class RaisedButton extends StatelessWidget { ... }
  • 32. Each layer builds upon the previous layer Skia Dart Text Foundation Animation Painting Rendering Widgets Material Gestures Engine (C++) Framework (Dart) Cupertino
  • 34. - Compiles to Native Code - No reliance on OEM widgets - No bridge needed - Structural Repainting
  • 36. - Sound type system - Tree Shaking - Rich core libraries - Multi-gen, lockless GC
  • 37. - Single codebase for Android and iOS - Rapid development cycles - Great tooling
  • 38. “Running at 60 fps, user interfaces created with Flutter perform far better than those created with other cross-platform development frameworks.” code.tutsplus.com/tutorials/developing-an-android-app-with-flutter--cms-28270
  • 39. “Coding with Dart and Flutter rekindled the joy I had when I started with mobile dev way back when … No B.S.” traversoft.com/blog/2017/08/08/conference-app-flutter
  • 40. "The UI is butter smooth (when building a release version), I have never seen such a smooth Android app" Pascal Welsch, Speaker at Droidcon Berlin
  • 41. Additional resources Blog: What’s Revolutionary about Flutter by Wm Leler: goo.gl/bZcFR9 Video: Flutter's Rendering Pipeline by Adam Barth: youtu.be/UUfXWzp0-DU Video: The Mahogany Staircase by Ian Hickson: youtu.be/dkyY9WCGMi0 And of course: github.com/flutter & flutter.io
  • 42. Thank you! Eduardo Telaya - CTO / Software Architect / - Drupal Developer