Como habíamos dicho el post anterior google presento su nuevo lenguaje como alternativa a Javascript. Dart tienen las siguientes características:
- basado en clases, herencia simple con interfaces
- tipado estático opcional
- un hilo de ejecución
- lexico similar a Javascript
- funciones Lambda (x) => x
- recarga de operadores
- interpolación de String: "Hello ${foo}"
- multiproceso basado en actores
Veamos un ejemplo:
main() {
var name = 'World';
print('Hello, ${name}!');
}
Simple. Veamos como escribir la función que calcule la secuencia de figonacci:
int fib(int n) {
if (n <= 1) return n;
return fib(n - 1) + fib(n - 2);
}
main() {
print('fib(20) = ${fib(20)}');
}
Veamos un ejemplo con clases:
class Point {
Point(this.x, this.y);
distanceTo(Point other) {
var dx = x - other.x;
var dy = y - other.y;
return Math.sqrt(dx * dx + dy * dy);
}
var x, y;
}
main() {
Point p = new Point(2, 3);
Point q = new Point(3, 4);
print('distance from p to q = ${p.distanceTo(q)}');
}
Por lo poco que leí no tiene mayor innovación, es un lenguaje con algunas mejoras ante javascript. Pero no creo que sea capaz de desplazarlo.
Dejo links:
http://www.dartlang.org/
http://www.dartlang.org/docs/getting-started/
http://googlecode.blogspot.com/2011/10/dart-language-for-structured-web.html