Introdução a linguagem de programação Dart

Notas de aula do prof. Kleber de Oliveira Andrade

Kleber Andrade
Flutter — Comunidade BR
3 min readAug 4, 2019

--

Dart é uma linguagem de programação apresentada pelo Google, em 2011, com o objetivo de substituir o JavaScript como principal linguagem embutida nos navegadores. Algumas características da linguagem são:

  • A sintaxe é C-like, portanto, se você programa em Java, C#, PHP ou Javascript, você não terá dificuldades em aprender a linguagem;
  • Segue o paradigma orientado a objetos;
  • Todos os objetos herdam da classe Object;
  • Fortemente tipada, mas não é necessário colocar um tipo, pois Dart consegue inferir os tipos;
  • No Java e C# você usa a palavra reservada private, enquanto que no Dart basta colocar um underline (_) no início do nome de um atributo, método ou classe para torná-lo privado.
  • Dart pode ser compilada em ahead-of-time (AOT) e just-in-time (JIT). Compilação ahead-of-time é quando o código é compilado diretamente para ARM nativo, o que possibilita a performance de uma aplicação nativa. Just-in-time compila o código diretamente no device, com a aplicação em execução, o que permite um retorno em tempo real da alteração e aumenta a velocidade do ciclo de desenvolvimento. Este ponto é chamado de hot-reload.

Este artigo é um resumo sobre a linguagem de programação Dart. Caso você não tenha experiência com programação, eu recomendo o curso gratuito de Lógica de programação com Dart do Jacob Moura.

Caso queira testar todos os códigos deste artigo, basta utilizar o editor online DartPad.

Variáveis

Variável de forma bem resumida, é um local que você pode armazenar temporariamente alguma informação. Os principais tipos de variáveis são:

Vamos ver algumas formas de usar essas variáveis

O resultado da execução é

Idade: 33 
Raio: 10.25
Ola Kleber, seja bem vindo!
Ligado: true
[10, Kleber, true, 20]
[10, 20, 30, 40]
O sobrenome do Kleber é Andrade
O valor de PI é 3.1416
10
Curso

Operações

Os tipos int, double e num (pode ser inteiro ou ponto flutuante) fornecem diversos métodos e propriedades que podem ser utilizados para a transformação e checagem de dados. Eles também dispõem de capacidades para expressões utilizando os operadores + (adição), — (subtração), * (multiplicação), / (divisão) e % (resto da divisão).

Operadores relacionais

Os seguintes operadores podem ser usados para comparações no Dart. O resultado de cada expressão é sempre um bool, o que significa que é true ou false.

Condicionais

Geralmente quando estamos programando, sempre precisamos tomar decisões, para isso podemos utilizar condicionais. Vamos dar uma olhada nelas

O resultado de execução deste código é

Reprovado! 
Reprovado!
Não Informado
Dart
É Dart!

Repetições

Quando precisamos realizar repetições, podemos utilizar os comandos FOR, WHILE, DO/WHILE ou FOREACH (uso junto com coleções).

A saída deste programa são os valores 0, 1, 2, 3, 4 para cada tipo de repetição executada.

Funções

A maioria dos códigos existem trechos repetidos, para evitar isso criamos funções. Existem algumas formas para criarmos as funções, veja o código a seguir:

O uso do tipo de retorno nas funções utilizando Dart é opcional, você não precisa informar, mas recomendo colocar, pois isso facilita a leitura do código.

O resultado da execução deste código é

Seja bem-vindo! 
Desculpa, encontramos um erro.
30
-10
314
Ola Kleber
Kleber tem 33 anos.
Kleber faz o curso de Ciência da Computação.
Kleber tem 33 anos e faz o curso de Ciência da Computação.
50
600

Parabéns, você conseguiu! Te vejo no próximo tutorial, mas antes, deixarei um vídeo para vocês assistirem.

As regras secretas da vida moderna — Algoritmos

Referências

CISL GOVERNO FEDERAL. Palestra Técnica do CISL: Linguagem de Programação OpenSource DART. Disponível em: https://www.youtube.com/watch?v=fznaM5_FSas. Acesso em: 4 ago. 2019.

DART. A tour of the Dart language. Disponível em: https://dart.dev/guides/language/language-tour. Acesso em: 4 ago. 2019.

JACOB MOURA. Lógica de programação com Dart. Disponível em: https://balta.io/cursos/7183. Acesso em: 3 ago. 2019.

OLIVEIRA, George Souza; SILVA, A. F. D. Compilação Just-In-Time: Histórico, Arquitetura, Princípios e Sistemas. Revista de Informática Teórica e Aplicada, Local, v. 20, p. 174, dez./2005. Disponível em: https://pdfs.semanticscholar.org/914d/b8a17227605384dff1133888ed843915c463.pdf. Acesso em: 4 ago. 2019.

--

--

Kleber Andrade
Flutter — Comunidade BR

Expert Developer of Robot, Games, Artificial Intelligence. Languages C/C++, Python, Java and C#