Comenzando con el dardo

Instalación o Configuración

El SDK de Dart incluye todo lo que necesita para escribir y ejecutar el código de Dart: VM, bibliotecas, analizador, administrador de paquetes, generador de documentos, formateador, depurador y más. Si está haciendo desarrollo web, también necesitará Dartium.

Instalación y actualizaciones automatizadas

Manual de instalación

También puede instalar manualmente cualquier versión del SDK.

¡Hola Mundo!

Crea un nuevo archivo llamado hello_world.dart con el siguiente contenido:

void main() {
  print('Hello, World!');
}

En la terminal, navegue hasta el directorio que contiene el archivo hello_world.dart y escriba lo siguiente:

dart hello_world.dart

Pulse enter para mostrar ¡Hola, mundo! en la ventana de la terminal.

Solicitud HTTP

HTML

<img id="cats"></img>

Dardo

import 'dart:html';

/// Stores the image in [blob] in the [ImageElement] of the given [selector].
void setImage(selector, blob) {
  FileReader reader = new FileReader();
  reader.onLoad.listen((fe) { 
    ImageElement image = document.querySelector(selector);
    image.src = reader.result;
  });
  reader.readAsDataUrl(blob);  
}

main() async {
  var url = "https://upload.wikimedia.org/wikipedia/commons/2/28/Tortoiseshell_she-cat.JPG";

  // Initiates a request and asynchronously waits for the result.
  var request = await HttpRequest.request(url, responseType: 'blob');
  var blob = request.response;
  setImage("#cats", blob);
}

Ejemplo

ver ejemplo en https://dartpad.dartlang.org/a0e092983f63a40b0b716989cac6969a

Getters y Setters

void main() {
  var cat = new Cat();
  
  print("Is cat hungry? ${cat.isHungry}");  // Is cat hungry? true
  print("Is cat cuddly? ${cat.isCuddly}");  // Is cat cuddly? false
  print("Feed cat.");
  cat.isHungry = false;                     
  print("Is cat hungry? ${cat.isHungry}");  // Is cat hungry? false
  print("Is cat cuddly? ${cat.isCuddly}");  // Is cat cuddly? true
}

class Cat {
  bool _isHungry = true;
  
  bool get isCuddly => !_isHungry;
  
  bool get isHungry => _isHungry;
  bool set isHungry(bool hungry) => this._isHungry = hungry;
}

Dart los captadores y definidores de clases permiten que las API encapsulen los cambios de estado de los objetos.

Vea el ejemplo de dartpad aquí: https://dartpad.dartlang.org/c25af60ca18a192b84af6990f3313233