Dart é uma linguagem de programação que tem como forte aliado a framework Flutter. Além de ser baseado na arquitetura do POO (Programação Orientada a Objetos), possui várias ferramentas que auxiliam o desenvolvimento e estrutura de código.

Ao iniciarmos o estudo dessa nova linguagem, podemos ter algum tipo de dificuldade ao entender novos conceitos e novas sintaxes. Ademais, o leque de possibilidades de desenvolvimento de aplicações é muito amplo e pode levar até uma certa ansiedade.

Podemos definir o Dart como moderno e seguro, tanto por ser desenvolvido pela imensa Google, conta com diversos repositórios de código aberto. Sendo assim é uma excelente linguagem para começar a aprender. Quer entender mais sobre, continue com a gente:

O que é a linguagem Dart?

Linguagem Dart

Dart é uma linguagem de programação orientada a objetos, com o código aberto e uma sintaxe parecida com C, que teve seu desenvolvimento iniciado pelo Google em 2011. O seu objetivo principal é criar interfaces visuais para o front-end, tanto na parte Web quanto em aplicativos móveis.

Por ser uma linguagem que ganhou muita popularidade em pouco tempo, conta com muitas pessoas desenvolvedoras criando e corrigindo recursos internos. Utiliza a compilação de código de máquina nativo para construir os todo tipo de aplicativo e é inspirado fortemente em outras linguagens de programação, como Java, Javascript e C#.. 

A linguagem Dart necessita do seu compilador para realizar a análise e transferir o código para a máquina.

Além disso, possui suporte para a maioria dos conceitos comuns de linguagens de programação, como classes, interfaces e funções. No entanto, a linguagem não suporta diretamente arrays e sim Collections, que são usadas para replicar uma estrutura de dados.

Entenda a história da linguagem de programação Dart!

A revelação da linguagem Dart foi concebida na conferência GOTO entre 10 a 12 de outubro de 2010 em Aarhus, Dinamarca. O projeto foi iniciado por Lars Bak, um experiente programador dinamarquês, muito famoso pelo seu trabalho com máquinas virtuais. De início também obteve ajuda do engenheiro de software Kasper Lund.

A ideia do Dart era criar um compilador capaz de transformar o seu código em Javascript. A primeira ferramenta capaz de realizar essa operação foi chamada de dartc, que rapidamente foi descontinuada. Como segunda tentativa, criaram o Frog, que acabou não se adequando muito bem ao desenvolvimento. Por fim, temos o dart2js, que é a ferramenta utilizada atualmente para exercer o papel de mediação entre as linguagens.

Para que serve a linguagem Dart?

O Dart é principalmente utilizado com o Flutter para criar aplicações móveis. O grande benefício de criar aplicativos com essa ferramenta é que ele é multiplataforma. Ou seja, você consegue criar com uma base de código dois aplicativos separados para o iPhone e o Android. O concorrente mais próximo do Flutter é o React Native, que é uma implementação multiplataforma do React.

O Dart não se limita a construir apenas programas no front-end para o Flutter. Você também consegue utilizá-lo no back-end para criar lógicas no lado do servidor. Também é possível criar um servidor HTTP para receber solicitações HTTP.

Qual a relação da linguagem Dart com Flutter?

O Flutter utiliza o Dart pois ele permite que a pessoa desenvolvedora não necessite do aprendizado de outra linguagem declarativa, como o XML do Java ou JSX do React Native. Neste caso, o layout do Dart é declarativo e programático, facilitando a visão e desenvolvimento de novos recursos.

Uma das razões dessa popular dupla existir, é o recursos de compilação JIT (Just In Time) que o Dart consegue utilizar e que consequentemente reduz o tempo de compilação do código.

Por ser uma linguagem muito semelhante às outras do mercado, uma pessoa desenvolvedora com conhecimento prévio terá muita facilidade e velocidade no aprendizado desta linguagem, juntamente com o Flutter.

Quais as vantagens e desvantagens da linguagem Dart?

Vantagens

As vantagens da linguagem Dart são:

  • Dependendo do seu histórico de linguagens, é fácil de aprender Dart. Uma pessoa com um pouco de conhecimento técnico não terá dificuldades em aprendê-la. 
  • A sua documentação é muito boa e possui o apoio da comunidade para sempre melhorá-la.
  • O seu desempenho é muito superior ao Javascript.
  • Os últimos lançamentos do Dart são estáveis e podem ser utilizados em ambientes de produção, sem nenhum problema.
  • Utiliza da compilação AOT (Ahead-Of-Time) e JIT (Just In Time) para melhorar a velocidade de desenvolvimento e conversão do código.

Desvantagens

Em contrapartida, suas desvantagens são:

  • Dart é uma linguagem relativamente nova no mercado. Logo, procurar empregos ou pessoas desenvolvedoras com esse conhecimento é uma tarefa difícil.
  • É precário em pacotes de auxílio no desenvolvimento.
  • O esforço necessário para compilar o código Dart para Javascript não é tão interessante e, muitas vezes, não é viável para uma equipe de desenvolvimento.

Vale a pena aprender Dart?

O Google está cada vez mais criando expectativas sob o Flutter. Eles esperam substituir o sistema operacional do Android para Fuchsia nos próximos anos. Com isso, todas as pessoas que têm algum tipo de conhecimento na linguagem poderiam tentar a sorte nessa nova jornada.

De qualquer forma, existem muitas vagas de desenvolvimento para Flutter, sendo que o principal motivo disso é o aquecimento do mercado de software. Então, se você gosta de aprender novas linguagens e tentar algo novo, o Dart pode valer muito a pena.

Conheça os princípios da linguagem Dart!

Variáveis

Uma variável é um identificador que armazena valores na memória, ou seja, ela exerce um papel de registrar os valores de um programa em memória e caso o software necessite recuperá-la, basta referenciar no código.

Variáveis inteiras

Uma variável inteira é um número sem ponto flutuante, como o exemplo a seguir:

int numero = 10;

Variáveis double

Double é um tipo de dados que armazena números decimais (números fracionários). Para cada variável double, oito bytes são alocados na memória.

double numero = 6.532;

Variáveis bool

O tipo de dados Boolean no Dart suporta apenas dois valores – true e false. A palavra-chave bool é usada para representar um literal booleano no Dart.

bool valor_verdadeiro = true;  
bool valor_falso = false;  

Variáveis string

Utilizada com textos, o tipo String é uma sequência de caracteres que pode ter um tamanho quase que ilimitado. No Dart, as strings atualmente são formados por unidades UTF 16.

Para declarar o tipo String no Dart, conseguimos tanto pelas aspas simples, duplas ou triplas. No caso da última, usamos na representação de textos com várias linhas.

String  nome_variavel = 'valor'  

OU

String  nome_variavel = ''valor''  

OU

String  nome_variavel = '''linha1 
linha2'''  

OU

String  nome_variavel = ''''''linha1 
linha2''''''

Variáveis list

Uma coleção que é muito utilizada na programação é um array. Dart representa arrays na forma de objetos List. Uma lista é simplesmente um grupo ordenado de objetos. A biblioteca dart:core fornece a classe List que permite a criação e manipulação de listas.


var lista = new List(5); // Está lista terá 5 espaços 

Variáveis map

O objeto Map é uma simples lógica de chave/valor. Chaves e valores em um mapa podem ser de qualquer tipo. Um mapa é uma coleção dinâmica, logo, os Maps podem crescer e diminuir em tempo de execução.

Os mapas podem ser declarados de duas maneiras:

  • Usando Map Literals
  • Usando o construtor do map
var detalhes = {'usuario':'João','senha':'123456'}; 

OU

var detalhes = new Map(); 
detalhes['usuario'] = 'João'; 
detalhes['senha'] = '123456'; 

Variáveis var

No Dart, usamos apenas o denominador var para criar uma variável em memória, a sintaxe fica assim:

var variavel = "nova_variavel";

Variáveis const

Quando queremos que as variáveis não se alterem, adicionamos as palavras-chaves const ou final antes da variável. O Dart restringe a modificação dessas variáveis, como podemos ver a seguir:

A palavra-chave final e const são usadas para declarar constantes. O Dart impede a modificação dos valores de uma variável declarada usando a palavra-chave final ou const. 

const pi = 3.14;

Variáveis dynamic

Variáveis dinâmicas são quase iguais às variáveis normais, isso porque elas podem ter o seu tipo alterado. Sendo assim, caso a gente declare uma variável com a expressão dynamic, o tipo dela pode começar como um texto e terminar como um número. A sua sintaxe segue sendo bem simples também.

dynamic dinamico = "João"; 

Operadores

Operadores definem como os operandos serão processados para produzir um valor.

Na seguinte expressão: “2 + 3”, os valores 2 e 3 são operandos e o símbolo “+” (mais) é o operador.

Os operadores disponíveis no Dart são:

  • Operadores aritméticos
  • Igualdade e Operadores Relacionais
  • Operadores de teste de tipo
  • Operadores bit a bit
  • Operadores de Atribuição
  • Operadores lógicos

Condicionais

Uma construção condicional verifica uma condição antes que as instruções do código sejam executadas.

If/Else

Um if pode ser seguido por um bloco else opcional. O bloco else será executado se a expressão booleana testada pelo bloco if for avaliada como false.

if(expressao_booleana){ 
   // A(s) instrução(ões) será(ão) executada(s) se a expressão booleana for verdadeira. 
} else { 
   // A(s) instrução(ões) será(ão) executada(s) se a expressão booleana for falsa.
}

Se a expressão booleana for verdadeira, então o bloco de código if será executado, caso contrário, o bloco de código será executado.

Switch/Case/Default

A instrução switch avalia uma expressão, corresponde o valor da expressão a uma cláusula case e executa as instruções associadas a esse caso.

switch(variavel) { 
   case valor1: { 
      // Código desse bloco; 
   } 
   break; 
  
   case valor2: { 
      // Código desse bloco;
   } 
   break; 
      
   default: { 
      // Código desse bloco;
   }
   break; 
} 

O valor da variável é testado em todos os casos no switch. Se a variável corresponder a um dos casos, o bloco de código correspondente é executado. Se nenhuma expressão case corresponder ao valor da variável, o código dentro do bloco default será associado.

As seguintes regras se aplicam a uma instrução switch:

  • Pode haver qualquer número de instruções case dentro de um switch.
  • As instruções case podem ser apenas constantes. Não pode ser uma variável ou uma expressão.
  • O tipo de dados da variável e a expressão constante devem corresponder.
  • A menos que você coloque o valor break após cada bloco de código, a execução flui para o próximo bloco.
  • A expressão case deve ser única.
  • O bloco default é opcional.

Repetições

Às vezes, certas instruções exigem que a sua execução seja repetida. Loops são a maneira ideal de fazer isso. Um loop representa um conjunto de instruções que devem ser repetidas. No contexto de um loop, uma repetição é chamada de iteração.

For

O loop for é uma implementação de um loop definido. O loop for executa o bloco de código por um número especificado de vezes. Ele pode ser usado para iterar sobre um conjunto fixo de valores, como uma matriz.

for (var i = 0; i < 5; i++) { 
   // O código que será executado várias vezes fica aqui
}

While

O loop while executa as instruções toda vez que a condição especificada for avaliada como verdadeira. Em outras palavras, o loop avalia a condição antes que o bloco de código seja executado.

while (expressao) {
   // Código que será executado toda vez que a expressão for verdadeira  
}

Do/While

O laço do…while é similar ao loop while, exceto que o laço do…while não avalia a condição na primeira vez que o laço é executado. No entanto, a condição é avaliada para as iterações subsequentes. Em outras palavras, o bloco de código será executado pelo menos uma vez em um loop do…while.

do {  
  // Código que executa pelo menos uma vez dentro do bloco
} while (expressao); 

Observação: Não esqueça de colocar o ponto e vírgula no final do loop.

Foreach

O loop foreach pode ser usado com qualquer tipo de coleção. Esse loop itera sobre cada elemento da coleção e aplica a função para cada item.

O parâmetro da função é o tipo de coleção com a qual estamos trabalhando.

variavel.forEach((TipoDaVariavel item) {
  // Nesse bloco de código temos a execução de cada item da nossa variável
});

Funções

Temos funções em todos os tipos de linguagens de alto nível, isso porque elas nos ajudam a organizar o código e adicionam um nível a mais de reutilização.

A função por si só é mais um nível de escopo dentro de uma aplicação, ou seja, se necessário criar uma lógica reutilizável e única, criamos uma função que exerça esse papel. A partir disso, podemos executá-la em qualquer momento posterior no qual ela foi declarada.

Para declararmos uma função no Dart, precisamos adicionar o nome, o tipo do retorno e os parâmetros da função.

nome_da_funcao(parametros_da_funcao) { 
   // Aqui ficará o código executado pela função
}  

Conheça a sintaxe da linguagem Dart!

A sintaxe define um conjunto de regras para escrever um programa. Cada especificação de linguagem define sua própria sintaxe. O Dart é composto por:

  • Variáveis e Operadores
  • Classes
  • Funções
  • Expressões
  • Tomada de decisão e construções de loop
  • Comentários
  • Bibliotecas e Pacotes
  • Typedefs
  • Estruturas de dados

Vamos entender como ficaria o famoso Olá Mundo na linguagem Dart.


main() { 
   print("Olá Mundo!"); 
}

A função main() é um método predefinido no Dart. Este método atua como o ponto de entrada para o aplicativo. Um script Dart precisa do método main() para execução. A função print() é utilizada para imprimir uma string ou valor especificado na saída padrão, que no nosso caso é o terminal.

Instalando, configurando as ferramentas e criando o primeiro código em Dart!

Como instalar

Para que possamos executar o código do Dart em nossas máquinas, devemos instalar o seu SDK. 

Mas antes disso, precisamos ter acesso aos comandos do Chocolatey (um gerenciador de pacotes para Windows) em nossos terminais. Entre no site oficial e siga o passo a passo para realizar a instalação na sua máquina.

Após isso, rode o comando a seguir no seu terminal. Certifique-se que possui o Chocolatey instalado corretamente.

choco install dart-sdk

Pronto! Quando a ação de baixar e instalar o SDK do Dart estiver concluída, você poderá usufruir de todos os recursos dessa linguagem de programação..

Executando pela primeira vez

É recomendável utilizar uma IDE para escrever o seu código, independentemente da linguagem. Em Dart temos disponíveis muitos programas que resolvem esse problema.

A nossa recomendação é que você utilize o VS Code como a ferramenta de desenvolvimento principal para o Dart, nela temos disponível vários plugins que facilitam e auxiliam o nosso código.

Crie um arquivo com a nomenclatura .dart no seu diretório atual e escreva o seguinte código:

main() {
  var nome = "João";
  var idade = 24;
  var altura = 1.84;

  print("${nome} tem ${idade} anos e ${altura} de altura");
}

Se analisarmos, é um código bem simples, em que declaramos algumas variáveis e exibimos o conteúdo dela a partir da interpolação de texto.

Para o executar o código é muito simples, rode o comando dart nome_do_arquivo.dart e espere o resultado ser exibido na tela.

Resultado do código linguagem Dart

Perfeito! Você conseguiu rodar o seu primeiro programa Dart na sua máquina. Agora você pode se aventurar um pouco mais nesse mundo, e tentar resolver novos problemas.

Dart é uma linguagem que vem ganhando muito destaque por ser apadrinhada pela Google e fortemente utilizada em aplicações móveis com o Flutter. Mesmo com pouco tempo de vida tem uma comunidade open-source enorme, que não para de crescer.

Conta com uma sintaxe orientada a objetos e bem parecida com as outras linguagens, sendo comparada muitas vezes pela linguagem C. As suas principais vantagens são a segurança, rapidez e tamanho, isso porque utiliza de diversas técnicas de compilação para auxiliar o desenvolvimento muito mais rápido de uma aplicação.

Outro ponto-chave é o seu futuro, que se depender da Google, será brilhante. Tendo uma forma muito simples de instalação, manutenção de pacotes e simplicidade na hora de construir o projeto, a linguagem Dart tem tudo para crescer nos próximos anos. 

Quer conhecer novas linguagens? Leia um pouco sobre Python: o que é, como usar, guia pra aprender a linguagem.

0 Shares:
Você também pode gostar