O guia de Dart Fundamentos, prática, conceitos avançados e tudo mais
Julio BitencourtConteúdo
Dart é uma linguagem de programação que está em ascensão. Criada e mantida pelo Google, vem ganhando destaque e apoio da comunidade nos últimos anos, com a popularidade crescente do Flutter. Hoje, ela é considerada multiplataforma, já que a partir dela e de seus frameworks conseguimos gerar aplicações nativas e de alta performance em server-side, na web, em desktop, nos dispositivos mobile e em IoT. Dart é orientada a objetos, com o benefício de ser tipada, possui conceitos de linguagem funcional, ainda em conjunto com um belo suporte a programação reativa. Tudo isso a tem tornado uma grande carta na manga no repertório de pessoas desenvolvedoras.
Neste livro, Julio Bitencourt traz um guia de viagem por todo o core da linguagem Dart. Você partirá dos conceitos mais básicos envolvendo a sintaxe, como tipos, operadores, estruturas de repetição, até features mais avançadas da linguagem, como programação assíncrona, generics, streams e isolates. Toda a parte teórica é aprofundada, seguida de prática com exemplos esclarecedores, permeados de dicas e boas práticas para você refinar suas habilidades em Dart. Pegue sua toalha e embarque nessa viagem.
Baseado na versão 2.16.2 da linguagem.
Sumário
- 1 Hello, Dart!
- 1.1 Uma breve história
- 1.2 Mas por que Dart?
- 1.3 Executando o código
- 1.4 Primeiro programa
- 2 O básico
- 2.1 Operadores
- 2.2 Estruturas de controle
- 2.3 Se liga aí
- 2.4 É com você
- 3 Benditos tipos
- 3.1 Afinal, que raios é um tipo?
- 3.2 Sistemas de tipagem
- 3.3 E onde entra Dart?
- 3.4 Quais os tipos existentes em Dart?
- 3.5 Bem-vinda, null safety!
- 3.6 Se liga aí
- 3.7 Strings
- 3.8 Se liga aí
- 3.9 Na prática - Palíndromo
- 3.10 Variando um pouco
- 3.11 Se liga aí
- 3.12 É com você
- 4 Explorando mais as funções e a Web
- 4.1 Funções! Métodos! Closures?
- 4.2 Na prática - Dart Web
- 4.3 Parâmetros
- 4.4 Enums
- 4.5 Typedef
- 4.6 Adicionando interação ao jogo
- 4.7 Se liga aí
- 4.8 É com você
- 5 Cuidando dos erros
- 5.1 Error versus Exception
- 5.2 Lançando exceções
- 5.3 Seus próprios errors? Lance um existente ou use assert!
- 5.4 Capturando exceções
- 5.5 Se liga aí
- 5.6 É com você
- 6 Entendendo as Libraries
- 6.1 Criando uma library
- 6.2 Utilizando outras libraries
- 6.3 Privacidade em libraries
- 6.4 Separando libraries em arquivos
- 6.5 Se liga aí
- 6.6 É com você
- 7 Na prática - Packages
- 7.1 Os packages
- 7.2 Criando o package de logger
- 7.3 Exportando libraries
- 7.4 Adicionando linter para o código
- 7.5 Import dinâmico de libraries
- 7.6 Documentando libraries
- 7.7 Se liga aí
- 7.8 É com você
- 8 Oriente seus objetos
- 8.1 Classes e Objetos
- 8.2 Sobrescrita de operadores
- 8.3 Construtores
- 8.4 Encapsulamento
- 8.5 Relacionamento entre objetos
- 8.6 As incríveis Extensions
- 8.7 Se liga aí
- 8.8 É com você
- 9 Generics
e as estruturas de dados - 9.1 O que é esse tal de generics?
- 9.2 Se liga aí
- 9.3 Estruturas de dados
- 9.4 A interface Iterable
- 9.5 A interface Comparable
- 9.6 Se liga aí
- 9.7 É com você
- 10 Concorrência
- 10.1 Isolates
- 10.2 Event Loop
- 10.3 Síncrono versus assíncrono
- 10.4 Futures
- 10.5 Async e await
- 10.6 Completer
- 10.7 Se liga aí
- 10.8 É com você
- 11 Na prática - Dart CLI
- 11.1 API da Climatempo
- 11.2 Requisições com o package http
- 11.3 Package convert e JSON
- 11.4 Consumindo a API do Climatempo
- 11.5 Tratando os argumentos de CLI
- 11.6 Rodando um app CLI de qualquer lugar
- 12 Stream é tão funcional...
- 12.1 O que é uma Stream?
- 12.2 Inscrição única versus broadcast
- 12.3 StreamController
- 12.4 Stream e o await
- 12.5 Operações em Streams
- 13 Um pouco mais sobre streams
- 13.1 Transformando uma Stream
- 13.2 Inscrição única versus broadcast, um pouco além
- 13.3 Geradores
- 13.4 Na prática - Server HTTP
- 13.5 Se liga aí
- 13.6 É com você
- 14 Um pouco mais sobre Isolates e Zones
- 14.1 Criando uma nova Isolate
- 14.2 Comunicação unidirecional
- 14.3 Comunicação bidirecional
- 14.4 Controlando uma Isolate
- 14.5 Isolate através de uma URI
- 14.6 Zones
- 14.7 Uma zone livre de erros
- 14.8 Valores locais
- 14.9 Sobrescrevendo funcionalidades com ZoneSpecification
- 14.10 Se liga aí
- 14.11 É com você
- 15 Na prática - Gerando arquivos
- 15.1 Manipulando arquivos em Dart
- 15.2 Climatempo - Salvando consultas
- 15.3 Arquivos em isolates separadas
- 15.4 Log de erros com zones
- 15.5 Se liga aí
- 15.6 É com você
- 16 Até mais, e obrigado pelos peixes!
Autor
Julio Bitencourt
Julio Henrique Bitencourt é Bacharel em Ciência da Computação pela UNISUL (2017) e pós-graduado em Desenvolvimento Mobile pela FIAP (2022). Possui mais de 9 anos de experiência trabalhando com programação, em inúmeros projetos com diferentes tecnologias. Em grande parte de sua carreira atuou como desenvolvedor back-end Java utilizando a stack do JavaEE (agora Jakarta EE). Sempre um entusiasta em aplicações móveis, a partir de 2017 vem se especializando nesta área como desenvolvedor mobile, principalmente ao trabalhar com Dart na criação de aplicações multiplataformas e nativas com Flutter. Mantém suas informações em juliobitencourt.com, além dos conteúdos do livro em dartguide.dev.
Dados do produto
- Número de páginas:
- 470
- ISBN:
- 978-85-5519-298-2
- Data publicação:
- 04/2022