4.5. Conceitos avançados de Dart: Programação assíncrona

Página 43

Antes de mergulharmos nos conceitos avançados de Dart, é importante entender que Dart é uma linguagem de programação orientada a objetos, que é fortemente tipada e que usa uma sintaxe C-style, que pode ser facilmente compreendida por desenvolvedores JavaScript ou Java. Dart foi criado pelo Google e é usado para construir aplicativos móveis, web e desktop. Uma das características mais notáveis do Dart é o Flutter, um framework de desenvolvimento de aplicativos móveis criado pelo Google.

A programação assíncrona é um dos conceitos avançados em Dart e é crucial para desenvolver aplicativos Flutter. A programação assíncrona é usada para executar operações longas, como I/O de arquivo, operações de rede, operações de banco de dados, sem bloquear o resto do código. Isso é especialmente útil em aplicativos móveis, onde queremos manter a interface do usuário responsiva enquanto executamos operações demoradas em segundo plano.

No Dart, temos três conceitos principais quando se trata de programação assíncrona: Future, async e await.

Future

Um Future é como uma promessa de que eventualmente teremos um valor ou um erro. Quando iniciamos uma operação assíncrona, ela retorna um Future. Podemos então adicionar callbacks ao Future para lidar com o valor quando ele estiver disponível ou lidar com qualquer erro que possa ocorrer.

Aqui está um exemplo de como usamos um Future em Dart:


Future fetchUserOrder() {
  // Simulando uma operação de rede que leva 2 segundos
  return Future.delayed(Duration(seconds: 2), () => 'Grande Latte');
}

void main() {
  print('Buscando pedido do usuário...');
  fetchUserOrder().then((order) {
    print('O pedido do usuário é: $order');
  });
}

No exemplo acima, fetchUserOrder retorna um Future que será completado com o valor 'Grande Latte' após 2 segundos. Usamos o método then do Future para registrar um callback que será chamado quando o Future for concluído.

Async e Await

Async e await são usados para tornar o código assíncrono mais limpo e fácil de entender. Se marcarmos uma função como async, podemos usar a palavra-chave await dentro dela para esperar que um Future seja concluído.

Aqui está um exemplo de como usamos async e await em Dart:


Future fetchUserOrder() {
  return Future.delayed(Duration(seconds: 2), () => 'Grande Latte');
}

Future main() async {
  print('Buscando pedido do usuário...');
  var order = await fetchUserOrder();
  print('O pedido do usuário é: $order');
}

No exemplo acima, marcamos a função main como async, o que nos permite usar a palavra-chave await para esperar que fetchUserOrder seja concluído. Isso torna o código mais fácil de ler, pois não precisamos usar callbacks.

Em resumo, a programação assíncrona em Dart é fundamental para manter nossos aplicativos Flutter responsivos. Future, async e await são as principais ferramentas que Dart nos fornece para lidar com operações assíncronas. Compreender esses conceitos é crucial para se tornar um desenvolvedor Flutter proficiente.

Ahora responde el ejercicio sobre el contenido:

Qual é a função da programação assíncrona em Dart, especialmente ao desenvolver aplicativos Flutter?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Siguiente página del libro electrónico gratuito:

444.6. Conceitos avançados de Dart: Streams e blocos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.