Dart es uno de los lenguajes de programación con más misterio en los últimos años: muchas personas hablan de él, pocas lo usan. Además quienes lo han probado y lo usan hablan maravillas de él, entonces ¿por qué no lo usamos todos?
Dart es un lenguaje que podemos utilizar sin ningún tipo de pago o permiso, es de código abierto y detrás tiene a una compañía gigante, Google.
Dart tiene como principal objetivo trabajar en la web, esto podría ser la principal razón para competir con un lenguaje que hasta el día de hoy no cuenta con competidores en ese terreno: Javascript.
Las personas que hemos trabajado con Dart podemos decir dos cosas seguras: es un lenguaje avanzado para su época y sin duda es un lenguaje muy agradable.
Dart es un lenguaje de programación orientado a objetos, además utiliza una maquina virtual como Java, esto quiere decir que puede lograr gran compatibilidad (como Java). La maquina virtual de Dart se llama DartVM
Dart tiene influencia de Java notoriamente y lo podemos ver desde la maquina virtual y algunas implementaciones, pero también tiene influencia de varios lenguajes como Go y Javascript. Personalmente después de unos años trabajando con Dart en proyectos personales puedo decir que la sintaxis te hace sentir que sigues en Java pero la lógica te hace sentir que trabajas con Javascript, y en algunos casos claves cuentas con las características de Go para completar el círculo de trabajo.
Mucha gente no sabe que desde hace unos dos o tres años, Dart marcó el futuro de Javascript ya que muchas de las cosas que se han implementando en las ultimas versiones son cosas que Dart ya contaba y que en Javascript no se han querido quedar atrás. La característica de Dart que más llama la atención que se tomó en JavaScript son las promesas.
En Dart contamos con una API que se encarga de esos procesos y un objeto que se llama Future, este nos da la capacidad de recuperar en un futuro la función o también un valor en el momento que necesitamos y no cuando ejecutamos la tarea. Javascript integró esto cuando en Dart ya teníamos un rato implementando este tipo de acciones.
Otro tipo de instrucciones que tiene Dart desde hace un rato son los parámetros posicionales por nombres, estos nos ayudan a leer mejor el código pero sobre todo el parámetro que estamos pasando y entender el comportamiento que estamos esperando.
Dart cuenta con otras opciones que son geniales y sobre todo te van a robar una sonrisa si es que aun no las conoces, tenemos primero a dartanalyzer, esto nos da la capacidad de analizar en tiempo real el código que vamos escribiendo cuando estamos programando.
Otro elemento con el que contamos es el docgen, este elemento nos va a permitir generar la documentación de nuestros proyectos gracias a los comentarios de documentación que podremos ir colocando conforme este creciendo el proyecto, ¿Te imaginas poder tener la documentación disponible al terminar tu proyecto? Si, parece genial. Claro que si se tiene que trabajar en la definición de los comentarios, pero es algo que al sacar cuentas si nos esta ahorrando trabajo.
Algo que a Javascript le ha dolido desde su aparición hasta nuestros tiempos es la poca estructura de sus proyectos, por eso es que no contamos con un estándar o estructura fija, en el caso de Dart es algo a lo que se le puso mucha atención y sí contamos con una definición, ademas tenemos un gestor de paquetes, PUB. No solamente lo vamos a utilizar para la gestión también vamos a poder actualizar los paquetes que ya tenemos en el proyecto y mantener alguna versión en especifico que nos interese y necesitemos.
El editor que se acostumbra utilizar para trabajar con Dart es el DartEditor, que nos proporciona todas las herramientas para comenzar a desarrollar con Dart. Este editor esta basado en Eclipse, así que si ya conoces Eclipse no deberías tener mayor problema.
Por ultimo dos cosas: en cuestión de rendimiento podremos encontrar diferentes pruebas que se han hecho para medir el rendimiento de Dart y diferentes motores de Javascript como v8 y en algunos casos Dart gana y con clara ventaja, de hecho todo esto que comento lo puedes ver sin mayor problema web oficial en donde se describen las pruebas y se muestran gráficas con los resultados.
Dart tiene un solo detalle: por ahora no todos los navegadores son compatibles (pero esto poco a poco esta mejorando). Chrome, como podemos imaginar, ya incluye DartVM y vamos a poder usarlo lsin problemas, pero poco a poco los demás navegadores ya lo están implementando( en este tema no estoy del todo actualizado, pero hace un año la mayoría nos estaban presentando las primeras opciones para implementar Dart y los que no ya estaban trabajando en ello).
Conclusión:
En este artículo no busco atacar a Javascript, lo que sucede es que la comparación directa se tiene que hacer entre estos lenguajes por los alcances que tienen, además la misma documentación oficial y la web oficial los enfrentan en pruebas que pueden servir como referencia y no lo podemos evitar, este podría ser un buen momento para voltear a ver este lenguaje que poco a poco esta tomando fuerza, puede ser que en breve tengamos alguna noticia como sucedió hace algunos meses con kotlin.
Tengo el honor de escribir un artículo semanal para EDteam así que si tienes alguna sugerencia de tema o comentarios puedes dejarlo aquí mismo o hacérmelo llegar por: