Actualmente nos encontramos con permanentes desafíos en los ambientes de programación dentro del ecosistema para desarrolladores. Además tenemos gran cantidad de herramientas para utilizar y diferentes opciones para optar como lenguajes de implementación.
En este artículo vamos a analizar las principales características que propone DART, un lenguaje de programación diseñado para la web, fresco, simple, flexible y de código fuente abierto.

Vamos a presentar algunas de las principales opciones que nos propone DART y vamos a realizar algunas prácticas donde representaremos la simplicidad propuesta por este proyecto.

Introducción

En primer lugar vamos a introducirnos en un recorrido por el lenguaje muy básico, que cada uno puede ampliar luego siguiendo la información oficial. Vista General del Lenguaje

Vamos a generar una nueva solución en DART, para ellos debemos descargarnos el editor, sdk y dartium desde el sitio oficial

Una vez todo instalado, solo tenemos que crear una nueva solución como muestra la Fig.1



Fig. 1- Creando un nuevo proyecto en DART.

Como pueden observar en la Fig. 2, la creación por defecto nos entrega un archivo html, un archivo css y un archivo dart.

Fig. 2 Estructura básica de una solución DART.

Vamos a utilizar desde el html, un texto simple para manipular desde el código DART, en el asistente inicial se nos propone una función que realiza una rotación del texto ingresado como prueba de la potencia del lenguaje y la simplicidad contenida.

Veamos el código html inicial:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Leguaje_Part1</title>
    <link rel="stylesheet" href="Leguaje_Part1.css">
  </head>
  <body>
    <h1>Leguaje_Part1</h1>
    <p>Hello world from Dart!</p>
    <div id="container">
      <p id="text"></p>
    </div>
    <script type="application/dart" src="Leguaje_Part1.dart"></script>
    <script src="http://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js"></script>
  </body>
</html>
Código 1 - Muestra html del ejemplo inicial

Como podemos observar en el Código 1, les he resaltado el elemento de texto que vamos a utilizar desde el código que está referenciado por el src="Leguaje_Part1.dart".

Veamos el código css inicial:
body {
  background-color: #F8F8F8;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.2em;
  margin: 15px;
}
...           
Código 2 - Muestra css del ejemplo inicial

El código de css es genérico y muy normal, similar al utilizado en cualquier proyecto web. No hace falta mucho detalle explicativo para esto. Vamos directamente al interesante mundo DART. 

Una experiencia con código DART

Lo primero que vamos a realizar es declarar variables en DART, y como objetivo tendremos que establecer un valor a la variable y luego mostrar este valor por medio de nuestro elemento de texto que tenemos preparado en el HTML del ejemplo

Variables

var nombre = "nick";
query("#text").text = nombre;
Código 3 - Declaración simple de variables

Como muestra el Código 3, estamos creando una variable nombre a la cual le establecemos el valor nick. Luego se impacta el valor en el elemento de texto.

Ahora veamos otro caso en la declaración de variables, donde muchos programadores comenten errores.

Inicialización de variables

final nombre1 = "nick";
nombre1 = "nicolas"
query("#text").text = nombre1;
Código 4 - Iniciando variables con el modificador "final"

En el caso del Código 4 se genera un error al trabajar el código ya que, se declara la variable con el modificador final pero luego se intenta establecer el valor de la variable a nicolas. Esto no está permitido y se informa de la protección.

Otra de las actividades iniciales importantes para tomar contacto con un lenguaje es convertir y trabajar valores numéricos y de diversos tipos. La actividad de parsear datos es común para nuestras actividades programáticas esenciales y diarias.

Parser de datos

var numero1 = parseInt("1");
query("#text").text = numero1.toString();
  
var numero2 = parseDouble("1.1");
query("#text").text = numero2.toString();
  
var numero3 = 3.14159.toStringAsFixed(2);
query("#text").text = numero3.toString();
Código 5 - Analizando conversiones de datos.

Como muestra el Código 5 se propone convertir con el método parseInt una cadena al valor 1 y luego el proceso contrario con el método  toString();. Realmente la conversiones con muy flexibles en DART. Luego les muestro un ejemplo con el tipo de datos double y finalmente la utilización del método toStringAsFixed(2); para cortar los decimales deseados en la conversión implementada.

Finalmente para este articulo vamos a mostrar la simplicidad en el desarrollo de las funciones en DART.

Funciones

var texto = saludoPersonalizado("Nicolas","Regalos para todos");
query("#text").text = texto;

String saludo(String nombre, String mensaje) => "$nombre te envia $mensaje";

String saludoPersonalizado(String nombre, String mensaje)
 {
      return "$nombre te envia $mensaje";
 }
Código 6 - Análisis de funciones

El Código 6 propone una variable de nombre texto que almacena la información que devuelve la función saludoPersonalizado o bien podría ser la función saludo. En el mismo Código 6 se muestran las implementaciones de ambas funciones. Como pueden observar es muy flexible la declaración de funciones y podemos optar por la sintaxis más extensa o por la menos extensa mostrada por la función saludo.

La evolución en los lenguajes de programación esta presente y en esta oportunidad DART nos presenta elementos muy interesantes, un entorno de desarrollo muy simple, simplicidad de opciones, expresividad y todo en un escenario de código fuente abierto.

Nicolás Bortolotti   Perfil | Twitter | Blog

Nicolás es director de relaciones para desarrolladores en latinoamérica región sur para Google. El ha desarrollado comunidades académicas y de investigación en varios países de Latinoamérica sobre la plataforma de desarrollo web y mobile de Google. Además Nicolas es profesor universitario, donde trabaja fuertemente en arquitecturas de software, ambientes emergentes e innovación en modelos de ingeniería de software

Hemos abordado el tema en detalle en nuestra sesión semanal de Developers Live para desarrolladores en español. La evolución en lenguajes de programación presentando DART

Nivel: Inicial
Les dejo el video de implementación con la demostración paso a paso:


Referencias
http://www.dartlang.org/

Código Fuente
https://github.com/nbortolotti/dvLatamSouthRegion