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

Julio Bitencourt

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

Sobre o livro

Este livro é indicado para todos aqueles e todas aquelas que desejam expandir um pouco o seu conhecimento sobre Dart, ou até mesmo para quem não conhece nada da linguagem e quer se aventurar nesse novo mundo, tendo uma nova carta na manga em seu currículo para começar a desenvolver algo server side para web, desktop, mobile, IOT... São várias possibilidades!

O objetivo é que o livro sirva como um guia estruturado para introdução e aprofundamento na linguagem. Nele, abordarei desde os conceitos mais básicos envolvendo a sintaxe (como tipos, operadores, estruturas de repetição etc.) até _features_ mais avançadas da linguagem (como programação assíncrona, generics etc.), sempre focando na parte teórica seguida de prática com exemplos esclarecedores.

Em algumas partes do livro, você encontrará uma seção denominada "Se liga aí", ela vai conter alguma dica ou boa prática que não é necessariamente obrigatória no desenvolvimento, porém, com certeza facilitará ou tornará mais elegante a utilização de Dart, afinal, a gente sempre quer ter aquele código bonito de se ver no GitHub, não?

A seção "Na prática" estará presente durante todo o livro e sempre introduzirá um desafio com alguma aplicação prática do conteúdo sendo abordado, seguido da solução e discussão do resultado. Por fim, você será desafiada(o) nas seções denominadas "É com você", com alguns problemas ou perguntas que servirão de extensão e aprimoramento dos conhecimentos apresentados.

Este livro não é uma abordagem de Dart focada para algum SDK específico, como a utilização do AngularDart para desenvolvimento web ou até mesmo o Flutter para criação de aplicações móveis. Contudo, como eles trabalham em cima do core do Dart, todos os fundamentos e conceitos aprendidos aqui serão essenciais e com certeza úteis para utilização de qualquer outro framework criado a partir da linguagem.

Embora não seja um requisito, o leitor ou leitora aproveitará melhor o livro caso tenha um conhecimento prévio em programação, mesmo que iniciante, afinal o foco do livro é introduzir e mostrar como os conceitos são abordados no universo específico de Dart.

Material atualizado e baseado na versão 2.16.2 da linguagem

Sobre o autor

Bacharel em Ciência da Computação e pós-graduando em desenvolvimento mobile pela FIAP, atualmente no auge dos meus 26 anos, entrei de cabeça no mundo da programação há mais ou menos nove anos. Nele, trabalhei e me especializei principalmente no desenvolvimento de aplicações em Java (sim, Java sempre estará no meu coração) por quase toda a minha carreira. Atuei como Backend Developer em vários projetos com todo o stack JavaEE em conjunto com criações de diversas APIs REST e Soap.

Um eterno estudante, acredito que conhecimento nunca será demais e sempre é o momento certo para ser um aprendiz em algo. Por isso, mantenho um blog nas horas vagas, onde gosto de escrever sem amarras textos agradáveis, essencialmente voltados para tecnologias, que acredito que as pessoas gostariam de ler.

Entusiasta em desenvolvimento mobile, após anos flertando com desenvolvimento Android, a partir do final de 2017 venho me especializando e trabalhando com Dart na criação de aplicações multiplataformas e nativas com o querido Flutter - SDK no qual tenho prazer em trabalhar hoje em dia em meu atual emprego como Desenvolvedor Mobile.

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!

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

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