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