jueves, 26 de septiembre de 2013

En el blanco. Dart, otra opción para la web


Hasta el momento la mejor y única opción para desarrollar aplicaciones web es JavaScript, y con la flamante puesta en marcha de Html5 las dudas al respecto son cada vez menos, sin embargo hace ya casi dos años Google trajo a la luz un lenguaje con el que esperaba entregar una nueva alternativa, Dart.

¿Qué es Dart?
Dart (inicialmente Dash) es un lenguaje programación que no tiene como objetivo reemplazar JavaScript, pero sí ofrecer una alternativa más moderna. Dart es un lenguaje orientado a objetos, muy similar a java en muchos aspectos pero con la posibilidad de ser tan dinámico como JavaScript, es tipado pero tiene un tipo especial llamado dynamic, el cual permite crear variables sin especificar su tipo, tal como en JavaScript.

Chromium incluye una máquina virtual para ejecutar Dart, Google anunció que proveerá máquina virtual a sus competidores para permitir que usen el lenguaje en otros navegadores y además de esto existe la posibilidad de compilar los programas de Dart a JavaScript.

A probar puntería
Muy bien, ahora probemos un poco esto, primero es necesario descargar el sdk de Dart, pueden hacerlo desde éste lugar, el cual trae consigo eclipse y una versión ligera de Chromium, después de esto crean un nuevo proyecto, puede ser web o para una aplicación de consola (línea de comandos), el siguiente código muestra un poco del lenguaje:
// Inicio del ejemplo
// tets.dart
import 'dart:html';


class Auto{
  var _name; // variable privada tipo dynamic
  
  void setName(var nombre){
    this._name = nombre;
  }
  
  String toString(){
    return _name;
  }
  
  void clicked(Object o){
    window.alert("Hola, Soy un Chevette...");
  }
  
}

void main() {
  Auto chevette = new Auto();
  chevette.setName("Chevette");
  query("#auto")..text = "Auto: ${chevette.toString()} "
  ..onClick.listen(chevette.clicked);
}
// Fin

A nivel de lenguaje no hay mucha diferencia entre Dart y otros lenguajes imperativos orientados a objetos como Java, para hacer comentarios se usa la secuencia "//", las llaves, los paréntesis y más, pero hay cosas que hacen de éste un lenguaje que simplifican el desarrollo de una aplicación, como la eliminación de las palabras reservadas public y private, características de los lenguajes orientados a objetos, en éste todo es público por defecto y se convierten en privados cuando el nombre inicia con "_".
Como vemos en el código anterior existe una clase llamada Auto, ésta tiene un atributo privado llamado _name, y hay un método para cambiar el valor de _name, y hay un método que retorna un objeto tipo cadena que retorna el contenido de la variable _name. Además de esto podemos modificar el DOM mediante la orden query, ésta fue importada de la librería html de Dart y de una manera muy similar a la de JQuery obtenemos elementos con un id específico mediante el carácter '#'.
Dart al igual que Java, C y C++ usa el método main para iniciar el programa.
Una de las cosas extra es que Dart permite hacer múltiples operaciones sobre el mismo elemento del dom mediante el operador '..' , un ejemplo claro es el contenido del método main.

A continuación el código HTML que acompaña el código anterior:

<!-- Inicio del ejemplo -->
<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8">
    <title>Test</title>
    <link rel="stylesheet" href="test.css">
  </head>
  <body>
    <h1>Hello world from Dart!</h1>
    
    <div id="auto">      
    </div>
    
    <script type="application/dart" src="test.dart"></script>
    <script src="packages/browser/dart.js"></script>
  </body>
</html>
<!-- Fin del ejemplo -->

Hacer esto no es complejo y gracias al IDE que provee la página web del proyecto,  éste IDE permite escribir un proyecto, depurarlo y finalmente generar todo el código JavaScript.

Interesante propuesta de Google, tendremos que esperar para ver qué ocurre con éste prometedor lenguaje.

No hay comentarios:

Publicar un comentario