Desenvolvendo Apps
Nativos com Flutter
Paulo Cruz
Mobile Software Engineer
Liferay LatAm
Uma SDK para
desenvolvimento
mobile escrita
em Dart
Capaz de criar
apps para
Android e iOS
com um único
codebase
❖ É uma linguagem
criada pela Google
❖ Lançada em 2011
❖ Familiar para
desenvolvedores de
C++, C# ou Java
❖ Compila para ARM e
x86, sendo capaz de
rodar nativamente em
Android e iOS
❖ Em web apps Dart é
transpilada para
JavaScript
❖ Public por padrão,
private com o prefixo
“_”
❖ Não há “primitivos”,
todos os tipos são
Object
❖ Parâmetros
nomeados, opcionais
e com valor padrão
Parâmetros
❖ Propriedades, não é
necessário escrever
métodos get
❖ Com Cascades tudo
pode ser um builder
❖ Construtores
nomeados e auto
assign para
propriedades
Construtores
❖ Inferência de tipos,
use “var” para
variáveis locais
❖ Interpolação de
strings com
“${stringVar}”
❖ Futures e
async/await
Futures e async/await
Everything’s a Widget
❏ Elementos estruturais
como um botão ou menu
❏ Elementos estilísticos
como uma fonte ou
esquema de cores
❏ Aspectos do layout
como o padding
Composition > Inheritance
Layer cakes are delicious
Cada camada é
construída sobre a
camada anterior
Skia Dart Text
Foundation
Animation Painting
Rendering
Widgets
Material
Gestures
Engine
(C++)
Framework
(Dart)
Cupertino
Flutter
x
ReactNative
ReactNative
Flutter
ReactNative
Flutter
Expressive Reactive
Fast
Development
Expressive Reactive
Fast
Development
Cupertino Widgets
Material Widgets
Expressive Reactive
Fast
Development
Widget
States
❏ Widgets podem ser
Stateful ou Stateless
❏ Stateful, quando a
mudança de valores
afeta o estado do
Widget
❏ setState() deve ser
chamado para
mudanças de estado
Stateful
Stateless
Expressive Reactive
Fast
Development
IDEs Compatíveis
Auto Formatação com Trailing Commas
Hot Reload
Widget Inspector
https://github.com/phcp/
flutter-meetup-sample
★ flutter.io
★ dartlang.org
★ medium.com/flutter-io
★ hackernoon.com/tagged/flutter
★ flutter.rocks
★ youtube.com/user/GoogleDevelopers/
Dúvidas?
Obrigado!
Paulo Cruz
paulo.cruz@liferay.com
ph.cruz.lp@gmail.com

Desenvolvendo Apps Nativos com Flutter