O guia de Dart Fundamentos, prática, conceitos avançados e tudo mais

Julio Bitencourt

*Você terá acesso às futuras atualizações do livro.

Conteú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.

Saiba o que você vai aprender

 

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

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter