En el episodio de hoy hablamos sobre las características de Dart, el lenguaje de programación que usamos para programar con Flutter.
Dart es un lenguaje creado por Google. Es de código abierto y de propósito general. En primer momento lo presentaron como una alternativa a javascript, hará unos 7 años, pero la cosa no triunfó mucho. Ahora ha sido rescatado para Flutter y parece que puede tener una segunda vida interesante.
Algunas características de Dart
Hablaremos de las características de Dart:
- Aparte de su uso para programación de apps en móviles con Flutter, se puede utilizar también como lenguaje de Backend o de Frontent.
- Como otros muchos lenguajes, obliga a que sus sentencias terminen en «;».
- Tiene las típicas instrucciones de condicionales y bucles.
- También tiene los típicos try catch para el manejo de excepciones.
- Es un lenguaje orientado a objetos. En Dart, todos lo que se pueda meter en una variable es un objeto, incluso las funciones o los tipos más básicos como enteros.
Es fuertemente tipado. Esto significa básicamente que una vez que se ha creado una variable de un tipo no se lo podemos cambiar. Aunque a su vez no nos obliga a especificar el tipo de u a variable cuando la declaramos (podríamos utilizar «var» para declarar), ya que capaz de averiguarlo. Esto es lo que se llama inferencia de tipos. - No tenemos las palabras public o private para gestionar la visibilidad. Para identificar los métodos o variables privadas de una clase se utiliza simplemente un carácter «_» al comienzo del nombre de ese método o variable.
- El valor por defecto de las variables es null, incluso para las numéricas.
- Las constantes se definen con const o final. Las dos son constantes, pero const debe saber el valor de la constante en tiempo de compilación y final en tiempo de ejecución.
- Los programas empiezan su ejecución en la función main(). Debemos escribir una función main() que será la primera que se ejecute.
- El equivalente al array en dart sería la clase List. Con mucho a métodos muy interesantes que nos permiten trabajar de forma muy cómoda con colecciones de datos.
- También es importante el tipo Map, que nos permite definir colecciones asociando claves a valores.
- Las funciones en Dart también son muy interesantes. Las funciones también son un objeto (Function), por lo que podemos asignar una función a una variable o pasarlas como parámetro a otra función. Si una función sólo tiene una sentencia de return podemos usar sintaxis acortada. Podemos elegir que los parámetros de una función se pasen por orden o por nombre. El paso de parámetros por nombre nos facilita mucho la vida a la hora de llamar funciones parámetros opcionales o mucha cantidad de éstos, ya que podemos pasarle los parámetros que queramos en el orden que queramos y todo queda mucho más claro. Por eso, todos los constructores de los widgets de Flutter utilizan esto. Podemos usar también funciones anónimas.
También os doy mi opinión sobre por qué Google ha elegido este lenguaje de programación para Flutter.
Si queréis hacer alguna prueba y no tenéis instalado Dart en vuestro equipo, podéis usar DartPad, un editor online en que que podéis ver el resultado de vuestro código.