Flutter Framework Desenvolva aplicações móveis no Dart Side!
Leonardo H MarinhoPrefácio
Programadores são máquinas de resolver problemas. Resolvemos problemas de vários segmentos e para vários tipos de pessoas, seja através de sistemas gerenciais, pontos de venda (pdv), gestão de educação, contabilidade ou saúde. Cada segmento necessita dos cuidados da tecnologia, e nós somos os artesãos que constroem estes artefatos de forma completamente manual através de um teclado e mouse. Assim como um oleiro que constrói vasos e artefatos com barro e argila, nós construímos softwares utilizando as ferramentas que melhor se adaptam aos projetos que vamos desempenhar. A escolha das ferramentas corretas impacta diretamente na qualidade do que estamos construindo quando produto final.
Neste livro, criaremos juntos aplicativos verdadeiramente performáticos, multiplataforma e atrativamente bonitos. Desconstruiremos a barreira que foi plantada na mente dos desenvolvedores para dispositivos móveis de que criar aplicativos é chato, custoso, lento e difícil. Estou escrevendo este livro para que seja um verdadeiro divisor de águas na sua carreira.
Flutter veio com uma proposta totalmente diferente de seus antecessores, o que traz bastante curiosidade aos desenvolvedores e esperanças para que seja um framework que realmente divida águas no meio tecnológico. A criação de aplicativos móveis principalmente para as plataformas Android e iOS é cada dia mais importante com o crescimento do público que dispõe de smartphones. Como especialistas em tecnologia precisamos nos atentar para este gigante mercado emergente e cheio de ótimas oportunidades que clama por nós todos os dias.
Por isso, quero ser o seu aliado na caminhada com os estudos do Flutter e conseguir somar toda a minha experiência acadêmica e profissional para tornar isso possível e muito mais rápido. Conhecer a linguagem Dart e Flutter deixou de ser um extra e passou a ser uma exigência do mercado móvel.
Quer um bom incentivo para estudar Flutter? A Nubank, Agibank, iFood, e várias outras gigantes utilizam Flutter. Se elas já estão atentas à novidade, quem somos nós para ir na contramão?
Neste livro veremos quais dores o Flutter veio para curar, a arquitetura de software fantástica por baixo dele, razões pelas quais Dart foi a linguagem escolhida para o Flutter, o que são Widgets e como aproveitá-los ao máximo, gerenciamento de dependências, prototipação de aplicativos, requisições http, banco de dados local, testes automatizados, estilização de um aplicativo e muito mais! Tudo na prática, bem "_coding_".
O público-alvo deste livro são pessoas que tenham domínio de programação e que preferencialmente já tenham tido contato com programação para dispositivos móveis. Nada impede que novatos leiam e entendam os princípios apresentados aqui, porém, com conhecimento prévio o conteúdo será muito mais aproveitado.
Nos exemplos que serão apresentados utilizaremos o Flutter na versão 1.12.13+hotfix.8, e a linguagem Dart 2.7.0. Como normalmente saem muitas atualizações para o Flutter e a linguagem Dart, é bastante provável que no momento em que você estiver lendo este livro algo já tenha mudado de versão. Sem pânico, é possível rodar os exemplos sem problemas já que normalmente o próprio Flutter acusa o que há de errado e dá o caminho para a alteração, quando ele próprio não a realiza sozinho.
Os códigos de todos os exemplos estão disponíveis para download no final de cada capítulo.
Boa leitura e sucesso!
Sobre o autor
Meu nome é Leonardo Herdy Marinho. Sou academicamente formado como analista e desenvolvedor de sistemas pela UNESA. Enquanto escrevo este livro, sou mestrando pela Universidade Federal do Rio de Janeiro (UFRJ), professor de Dart e Python na modalidade Ead e professor presencial de banco de dados.
Também tenho formação pela escola da vida em "engenharia de como funciona esse negócio?". Desde a minha infância busco entender os motivo e possíveis explicações sobre as coisas. Aos 13 anos quando ganhei o meu primeiro computador com acesso à internet, foi libertador! Daquele dia em diante a busca pelas respostas sobre a tecnologia se intensificou cada dia mais.
A primeira linguagem com que eu tive contato foi Delphi lá pelos meus 14 para 15 anos. Aprendi basicamente a copiar e colar código naquela IDE ultrassofisticada que parecia um genuíno painel de avião. Às vezes os códigos funcionavam, outras, não! Dependia da minha sorte já que eu não entendia a maioria das coisas que estavam acontecendo ali. Foi com 16 anos que tive acesso a um curso de linguagem C, presencial, e que realmente me ensinou a base da programação e me fez entender bastante sobre como eu poderia escrever um programa útil e que o meu computador entendesse exatamente como eu idealizei na mente.
Após o curso, consegui um estágio e logo em seguida entrei para a faculdade. Lá conheci pessoas e professores fantásticos que abriram portas de empregos e me apresentaram a tecnologia móvel de que tanto tenho carinho até hoje. E lá se foi muito tempo trabalhando com mobile, e, não me arrependo nenhum instante de ter passado por essa estrada. Vi o Cordova Project nascer, jQuery mobile, Ionic Framework, AngularJS, React Native e muitas outras tecnologias que construíram o desenvolvimento móvel híbrido. Também assisti à nem tão recente mudança da Google do Java para o Kotlin e da Apple do Objective C para Swift como linguagem oficial para a criação de aplicativos. Propus-me realizar alguns desafios antes dos 30 anos, dentre os quais estava escrever um livro. Então, além de uma obra técnica o que você lerá daqui em diante é uma pequena parte de um grande sonho que estou realizando chamado vida unido a um amor profissional que é o desenvolvimento de aplicativos móveis que está tão em alta na última década.
Sumário
- 1 Introdução
- 2 Quais dores o Flutter curou?
- 3 O que preciso para desenvolver em Flutter?
- 3.1 Criando Apps para iOS
- 3.2 Criando Apps para Android
- 3.3 Dica do autor
- 4 A arquitetura Flutter
- 4.1 Estrutura de arquivos
- 4.2 Widgets
- 4.3 Componentes do Material Design
- 4.4 Scaffold
- 4.5 Stateful hot reload
- 5 A base do framework, Dart!
- 5.1 A cereja do bolo
- 5.2 Entendendo a arquitetura Dart
- 5.3 A ponte que estamos derrubando usando AOT
- 5.4 Concorrência, divisão de tempo e recursos compartilhados
- 5.5 Interface unificada
- 5.6 Alocação de memória e cuidados com o lixo
- 6 Widgets, Widgets por toda a parte!
- 6.1 Stateless Widget
- 6.2 Stateful Widget
- 6.3 Mais um pouco de teoria sobre Widgets para explodir a sua mente
- 7 Dependências
- 8 Prototipação
- 8.1 Quem sabe para onde quer ir chega mais rápido
- 8.2 Cuidado com o Frankenstein
- 9 Avançando com o Flutter
- 9.1 HTTP
- 9.2 API
- 9.3 JSON
- 9.4 Costurando os retalhos
- 10 Criando um aplicativo complexo
- 11 Banco de dados
- 11.1 Um pouco sobre dados
- 11.2 Mão na massa!
- 11.3 Singleton
- 11.4 Nem só de providers vive um app
- 12 Testes automatizados em Widgets
- 12.1 Para que testar?
- 12.2 Criando testes automatizados com Dart
- 13 Mudança do ícone do aplicativo
- 14 Será o Flutter a bala de prata?
- 14.1 A bala de prata
- 14.2 O Flutter é uma bala de prata?
- 14.3 Ionic + React Native + Flutter
- 14.4 E é aqui que a saga começa!
Dados do produto
- Número de páginas:
- 173
- ISBN:
- 978-65-86110-26-5
- Data publicação:
- 07/2020