Article image
Erick Jhone
Erick Jhone04/01/2024 13:54
Compartilhe

Conhecendo a linguagem DART - Bases sólidas para iniciar em Flutter

  • #Dart
  • #Flutter
  • #Android

Separando as responsabilidades

Devemos entender incialmente que Flutter não é uma linguagem de programação, mas um Framework, que trabalha utilizando a Linguagem de programação Dart.

Então antes de me preocupar em dominar o Framework, é necessário ter as bases da linguagem Dart bem sólidas, aplicadas a cenários como Lógica de Programação e Orientação a objetos.

O Dart é uma linguagem que foi desenvolvida pela Google, inicialmente com a ideia de ser uma opção para os navegadores, como o JavaScript, porém a linguagem estourou a bolha sendo amplamente aderida e usada para o desenvolvimento multiplataforma principalmente de dispositivos móveis através do anúncio do Flutter.

Qual estudar primeiro Flutter ou Dart?

Caso você conheça bem lógica de programação e orientação a objetos em outras linguagens, o seu aprendizado será mais fácil e algumas pessoas conseguirão iniciar diretamente no Flutter. Porém é indispensável adquirir o conhecimento da linguagem e suas especificidades, nem que seja por resumos que tragam um panorama geral da linguagem, acelerações, bootcamps ou a documentação oficial, pois determinados problemas e arquiteturas de software nos exigirão um bom domínio de Dart orientado a objetos.

Caso seja seu primeiro contato com desenvolvimento de software, é indicado que comece a aprendendo lógica de programação e logo em seguida orientação a objetos. Esse aprendizado já pode ser feito/aplicado diretamente na linguagem Dart.

Se desafie a aprender através da documentação

O Dart está em constante amadurecimento, durante esse processo, coisas novas podem surgir ou coisas anteriores podem se tornar depreciadas. Esteja sempre atento a documentação oficial, uma vez que tenha domínio sobre ela sua vida de aprendizado ficará muito mais otimizada.

Documentação

https://dart.dev/language/

Características

  • Tipada, porém, a tipagem em DART é opcional.
  • Moderna (generics\, funções, interfaces e mixins).
  • High Order Functions ( forEach(), map(), etc ).
  • Utiliza sintaxe C-style (como C#, Javascript)
  • Pode ser compilada e interpretada. ****

Tipos suportados

  • numbersObject name = ‘
  • strings
  • boolean
  • collections(list, set, map)
  • rune ( representar UNICODE caracteres como string)
  • symbols

Hello World em DART

void main() {
print('Olá, Mundo!');
}

Codificando os tipos de variáveis do DART

String name = 'Voyager I';
int year = 1977;
double antennaDiameter = 3.7;
List<String> flybyObjects = ['Jupiter', 'Saturn', 'Uranus', 'Neptune'];
Map<String, String> image = {
'tags': 'saturn',
'url': '//path/to/saturn.jpg'
};

Exemplo codificado da opcionalidade da tipagem

//declaração explícita do tipo da variável (String)
String name = 'Voyager I';

//declaração de variável sem especificar seu tipo
var name = 'Voyager I';

💡 **Por inferência, Dart identifica o tipo da variável e nos garante todos os benefícios da tipagem estática, por isso a tal tipagem "opcional".**

Declaração de variáveis usando inferência

var name = 'Voyager I';
var year = 1977;
var antennaDiameter = 3.7;
var flybyObjects = ['Jupiter', 'Saturn', 'Uranus', 'Neptune'];
var image = {
'tags': 'saturn',
'url': '//path/to/saturn.jpg'
};

Controle de fluxo

if (year >= 2001) {
print('21st century');
} else if (year >= 1901) {
print('20th century');
}

for (var object in flybyObjects) {
print(object);
}

for (int month = 1; month <= 12; month++) {
print(month);
}

while (year < 2016) {
year += 1;
}

Funções

int fibonacci(int n) {
if (n == 0 || n == 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}

var result = fibonacci(20);

Tratamento de Exceções

try {
for (var object in flybyObjects) {
  var description = await File('$object.txt').readAsString();
  print(description);
}
} on IOException catch (e) {
print('Could not describe object: $e');
} finally {
flybyObjects.clear();
}

O Dart tem uma vasta gama de recursos modernos e de orientação a objetos que também poderiam estar em sua sintaxe. Mas para continuarmos a trabalhar a ideia de consulta a documentação, está disponível o link da documentação oficial da linguagem para que possam desbravar e conhecer mais sobre a mesma.

Compartilhe
Comentários (1)
Alisson Fabro
Alisson Fabro - 04/01/2024 21:10

Erick, muito bem escrito seu artigo. Muitos parabéns!