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:
- En aplicaciones web, utilizando la librería de arte: html y el transpilador para transformar el código en Dart en JavaScript, o utilizando frameworks como AngularDart.
- En servidores, utilizando las librerías de arte: http y arte: io. También hay varios frameworks que se pueden utilizar, como por ejemplo Aqueduct.
- En aplicaciones de consola.
- En aplicaciones móviles gracies a Flutter.
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:
- Página web de Dart, donde podrá encontrar toda la documentación del lenguaje y varios tutoriales. En particular, el Language Tour es muy útil para ver una breve introducción a la sintaxis del lenguaje.
- Dartpad,que le permite experimentar con el lenguaje desde el navegador sin necesidad de instalar nada (también se puede escribir aplicaciones de Flutter).
- Página web del repositorio de paquetes, donde podrá encontrar todos los paquetes de la comunidad.
- Págines de Medium de Dart y Flutter, con muchos artículos que pueden ser de ayuda.
- Página web de Flutter, donde se encuentra la documentación del framework, y cómo empezar a usarlo.
- Canal de YouTube de Flutter, con una gran cantidad de vídeos que pueden ser útiles. En particular, la serie de videos de Widget of the Week,una serie de breves vídeos de un par de minutos cada uno explicando un widget, bastante útil si estás empezando y no tienes muy claro qué widgets existen y como los puedes usar, y la serie Flutter in Focus, con videos más extensos explicando conceptos clave tanto de Dart como de Flutter.