Dart es un lenguaje open source desarrollado en Google con el objetivo de permitir a los desarrolladores utilizar un lenguaje orientado a objetos y con análisis estático de tipo.

¿Qué es Dart?

Dart es un lenguaje open source desarrollado en Google con el objetivo de permitir a los desarrolladores utilizar un lenguaje orientado a objetos y con análisis estático de tipo. Desde la primera versión estable en 2011, Dart ha cambiado bastante, tanto en el lenguaje en sí como en sus objetivos principales. Con la versión 2.0, el sistema de tipo de Dart pasó de opcional a estático, y desde su llegada, Flutter (explicamos qué es más adelante) se ha convertido en el principal objetivo del lenguaje.

 

¿Qué hace a Dart especial?

A diferencia de muchos lenguajes, Dart se diseñó con el objetivo de hacer el proceso de desarrollo lo más cómodo y rápido posible para los desarrolladores. Por eso, viene con un conjunto bastante extenso de herramientas integrado, como su propio gestor de paquetes, varios compiladores/transpiladores, un analizador y formateador. Además, la máquina virtual de Dart y la compilación Just-in-Time hacen que los cambios realizados en el código se puedan ejecutar inmediatamente.
Una vez en producción, el código se puede compilar en lenguaje nativo, por lo que no es necesario un entorno especial para ejecutar. En caso de que se haga desarrollo web, Dart se transpila a JavaScript.

En cuanto a la sintaxis, la de Dart es muy similar a lenguajes como JavaScript, Java y C ++, por lo que aprender Dart sabiendo uno de estos lenguajes es cuestión de horas.
Además, Dart consta de un gran apoyo para la asincronía, y trabajar con generadores y iterables es extremadamente sencillo.

 

¿Dónde puedo utilizar Dart?

Dart es un lenguaje de propósito general, y lo puedes utilizar casi para cualquier cosa:

Flutter

Flutter es un framework de Dart para crear aplicaciones multiplataforma con un único código. A diferencia de otros frameworks multiplataforma como por ejemplo Ionic, el código de una aplicación de Flutter se compila a código nativo, por lo que el rendimiento alcanzado es superior a aplicaciones basadas en web-views. Además, a diferencia de React Native, Flutter no utiliza componentes nativos, sino que viene con sus propios componentes, llamados widgets, por lo que la misma aplicación se verá igual en cualquier dispositivo, independientemente de su sistema operativo o la versión. Gracias a ello, el desarrollador no tiene que preocuparse por que el diseño de su aplicación se vea mal en dispositivos antiguos.

Además de aplicaciones móviles, con Flutter también se pueden hacer páginas web y aplicaciones de escritorio, aunque el soporte para páginas web está en beta, y por aplicaciones de escritorio en technical preview, por lo que quien los quiera usar habrá que esperar un tiempo más a que sea estable.
A continuación, tiene varios ejemplos de aplicaciones desarrolladas con Flutter:

Para aquellos interesados/as en aprender más sobre Dart y Flutter, después hay una lista con varios recursos que pueden ser útiles: