O guia de Dart
Voltar para home


  1. Hello, Dart!
    1. Uma breve história
    2. Mas por que Dart?
      1. Ecossistema
      2. Facilidade de aprendizado
    3. Executando o código
      1. Dartpad
      2. Utilizando IDE
    4. Primeiro programa
      1. Até aqui
  2. O básico
    1. Operadores
      1. Operadores aritméticos
      2. Operadores relacionais e de equalidade
      3. Operadores lógicos
      4. Operadores de manipulação de bits
      5. Operadores de atribuição
      6. Operadores de incremento e decremento
      7. Operadores de validação e tipos
      8. Operadores gerais
      9. Operadores de nulidade
      10. Precedência de operadores
    2. Estruturas de controle
      1. if / else
      2. switch / case
      3. while
      4. do while
      5. for
      6. for in
      7. assert
    3. Se liga aí
    4. É com você
      1. Até aqui
  3. Benditos tipos
    1. Afinal, que raios é um tipo?
    2. Sistemas de tipagem
      1. Coercion
      2. weak e strong
    3. E onde entra Dart?
      1. Inferência
      2. Static ou dynamic? O melhor de dois mundos
    4. Quais os tipos existentes em Dart?
      1. Os números
      2. Booleanos
      3. Symbols
    5. Bem-vinda, null safety!
      1. Nullable types
      2. Type promotion
      3. O operador bang!
    6. Se liga aí
    7. Strings
      1. Interpolação de Strings
      2. Otimização
      3. Sob demanda
      4. Muito mais
    8. Se liga aí
    9. Na prática - Palíndromo
      1. É com você
    10. Variando um pouco
      1. E o tal do static?
      2. final x const
      3. late
    11. Se liga aí
    12. É com você
      1. Até aqui
  4. Explorando mais as funções e a Web
    1. Funções! Métodos! Closures?
      1. Funções como objetos
      2. Retorno de funções e o void
      3. O novato: Never
      4. Escopo, ao infinito e além
      5. Aproveitando o tear-off
    2. Na prática - Dart web
      1. Criando o projeto
      2. Dart e a web
      3. Iniciando o jogo e métodos
    3. Parâmetros
      1. Posicional e obrigatório
      2. Posicional e opcional
      3. Nomeado e opcional
      4. Nomeado e obrigatório
      5. Declarando as regras do jogo
      6. Manipulando o DOM do jogo
    4. Enums
      1. Definindo o vencedor da partida
    5. Typedef
    6. Adicionando interação ao jogo
    7. Se liga aí
    8. É com você
      1. Até aqui
  5. Cuidando dos erros
    1. Error versus Exception
    2. Lançando exceções
      1. Suas próprias exceptions
    3. Seus próprios errors? Lance um existente ou use um assert!
      1. Utilizando assert
    4. Capturando exceções
      1. Especifiando o tipo com on
      2. Garantindo execução com finally
    5. Se liga aí
    6. É com você
      1. Até aqui
  6. Entendendo as libraries
    1. Criando uma library
    2. Utilizando outras libraries
      1. Criando um alias
      2. Personalizando os recursos importados
    3. Privacidade em libraries
    4. Separando libraries em arquivos
      1. Devo separar todas as libraries em arquivos?
    5. Se liga aí
    6. É com você
      1. Até aqui
  7. Na prática - Packages
    1. Os packages
    2. Criando o package de logger
      1. Modificando o pubspec.yaml
      2. Organizando os arquivos existentes
    3. Exportando libraries
      1. Testando o package
    4. Adicionando linter para o código
      1. Utilizando regras de packages
    5. Import dinâmico de libraries
      1. Testando o package na web
    6. Documentando libraries
    7. Se liga aí
    8. É com você
      1. Até aqui
  8. Oriente seus objetos
    1. Classes e objetos
    2. Sobrescrita de operadores
    3. Construtores
      1. Construtores padrão
      2. Construtores nomeados
      3. Construtores constantes
      4. Construtores factory
    4. Relacionamento entre objetos
      1. Herança
      2. Polimorfismo
      3. Classes abstratas
      4. Interfaces
      5. Mixins
      6. Mixins a fundo
      7. Afinal, devo usar herança, interface ou mixin?
    5. As incríveis Extensions
    6. Se liga aí
    7. É com você
      1. Até aqui
  9. Generics<T> e as estruturas de dados
    1. O que é esse tal de generics?
      1. Restringindo um tipo
      2. Métodos genéricos
    2. Se liga aí
    3. Estruturas de dados
      1. List
    4. A interface Iterable
      1. Set
    5. A interface Comparable
      1. Queue
      2. Map
    6. Se liga aí
    7. É com você
      1. Até aqui
  10. Concorrência
    1. Isolates
    2. Event Loop
    3. Síncrono versus assíncrono
    4. Futures
      1. Future encadeado
      2. Erros em uma cadeia assíncrona
      3. Future.sync
      4. Future.microtask
      5. Future.value
      6. Future.error
      7. Future.wait
      8. Future/any
    5. Async e await
      1. Um jeito síncrono de trabalhar com assíncrono?
      2. Tratando erros com async await
    6. Completer
    7. Se liga aí
    8. É com você
      1. Até aqui
  11. Na prática - Dart CLI
    1. API da Climatempo
      1. Criando o projeto
    2. Requisições com o package http
    3. Package convert e JSON
    4. Consumindo a API do Climatempo
    5. Tratando os argumentos de CLI
    6. Rodando um app CLI de qualquer lugar
      1. Compilando AOT
      2. Binários independentes
      3. Até aqui
  12. Stream é tão funcional...
    1. O que é uma Stream?
    2. Inscrição única versus broadcast
    3. StreamController
      1. Interface Sink
      2. StreamController versus StreamSink
      3. Estados do StreamController
    4. Stream e o await
    5. Operações em Streams
      1. Propriedades
      2. Métodos de busca
      3. Métodos de validação
      4. Métodos de validação
      5. Métodos utilitários
      6. Até aqui
  13. Um pouco mais sobre Streams
    1. Transformando uma Stream
      1. Implementando a interface StreamTransformer
      2. Construtor padrão do StreamTransformer
      3. Estendendo StreamTransformerBase
      4. Construtor nomeado fromHandlers
      5. Construtor nomeado fromBind
    2. Inscrição única versus broadcast, um pouco além
      1. Ciclo de vida
      2. Facilidade de uso
      3. Perda de eventos
    3. Geradores
      1. Geradores síncronos
      2. Geradores assíncronos
    4. Na prática - Server HTTP
      1. Server em Dart
      2. Funcionalidade de alertas
      3. Criando o Client
    5. Se liga aí
    6. É com você
      1. Até aqui
  14. Um pouco mais sobre Isolares e Zones
    1. Criando uam nova Isolate
    2. Comunicação unidirecional
    3. Comunicação bidirecional
    4. Controlando uma Isolate
      1. Cadastrando listeners
    5. Isolate através de uma URI
    6. Zones
      1. Hierarquia de zones
      2. Por que criar uma zone?
    7. Uma zone livre de erros
      1. Propagação de erros entre zones
    8. Valores locais
    9. Sobrescrevendo funcionalidades com ZoneSpecification
    10. Se liga aí
    11. É com você
      1. Até aqui
  15. Na prática - Gerando arquivos
    1. Manipulando arquivos em Dart
      1. Criando um diretório
      2. Criando e escrevendo em um arquivo
      3. Escrevendo em um arquivo sob demanda
      4. Lendo um arquivo
      5. Lendo um arquivo sob demanda
    2. Climatempo - Salvando consultas
      1. Criando o arquivo de cidades
      2. Criando o arquivo de clima
    3. Arquivo em isolates separadas
    4. Log de erros com zones
    5. Se liga aí
    6. É com você
  16. Até mais, e obrigado pelos peixes!
    1. Metadata
    2. Geração de código
    3. Testes unitários
    4. DevTools
    5. Interface para funções externas - FFI
    6. Shelf
    7. Explore o Flutter!
    8. Contribua para projetos Open Source
    9. Aprenda uma outra linguagem de programação