Introdução a linguagem de programação Dart
Notas de aula do prof. Kleber de Oliveira Andrade
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.
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.