Dart

Lenguaje de Programación para Aplicaciones Web.
(alternativa a Javascript)
by
Google

Features

  • Lenguaje completo
    • clases
    • import
    • excepciones y errores
    • tipado (type-casts)... o no?
    • ...
  • VM

Features

Ejemplo

import 'dart:math' show Random;        		// importar una clase de una librería.

void main() {                          		// La app comienza a ejecutarse aquí.
  print(new Die(n: 12).roll());       		// Imrpimir el valor del objeto nuevo. Encadenar métodos.
}

class Die {                            		// Definir una clase.
  static Random shaker = new Random(); 		// Declarar una variable de clase.
  int sides, value;                    		// Definir una variable de instancia.

  String toString() => '$value';      		// Métodos (manera corta)

  Die({int n: 6}) {                   		// Definir un constructor.
    if (4 <= n && n <= 20) {
      sides = n;
    } else {
      throw new ArgumentError(/* */);  		// Soporta errores y excepciones.
    }
  }
  int roll() {                         		// Definir un método de instancia.
    return value = shaker.nextInt(sides); 	// Obtener un número random.
  }
}

Ejemplo

Map famousDuos = { 'Han Solo': 'Chewbacca',      // Mapa literal.
                   'Bonnie': 'Clyde',
                   'Laurel': 'Hardy' };
List myFriends = [ 'Seth', 'Kathy', 'Shailen' ]; // Lista literal.

// Crea listas y mapas de objetos Iterables.
List shuffledSidekicks = new List.from(famousDuos.values)..shuffle();
Map mixedDuos = new Map.fromIterables(famousDuos.keys, shuffledSidekicks);

// Iteración.
mixedDuos.forEach((k, v) { print('$k, $v'); });

// Algunas listas, mapas y sets son extendibles.
Set setOfMyFriends = new Set.from(myFriends);
Set famousPeople = new Set.from(famousDuos.values);
famousPeople.addAll(famousDuos.keys);

// Mucha funcionalidad para colecciones.
print(famousPeople.intersection(setOfMyFriends).isEmpty);
print(famousPeople.union(setOfMyFriends).length);

Comparación

¡Manos a la Obra!

Instalación

wget -c  http://goo.gl/YyfsAN

Para más info: 

https://www.dartlang.org/




Bug en Fedora

https://code.google.com/p/dart/issues/detail?id=12325#c25

¡Manos a la Obra

Tutorial

Muestras






Dart






Gracias

Renich Bon Ciric <renich@woralelandia.com>

Dart

By Rene Bon Ciric

Dart

Una presentación en español acerca de Dart.

  • 782