Dart en 20 pasos
Dart es un lenguaje de programación de código abierto desarrollado por Google. Puede ejecutarse en su propia máquina virtual (Dart VM), compilarse a código nativo o a JavaScript, y es el lenguaje con el que se desarrollan las aplicaciones de Flutter. Es un lenguaje orientado a objetos, con tipado estático e inferencia de tipos, sintaxis de estilo C y soporte para programación funcional y asíncrona.
En esta guía repasamos lo esencial del lenguaje en 20 pasos cortos, cada uno con un ejemplo.
1. Instalación
brew install dart
2. Programa
En Dart debes crear un archivo con la extensión .dart, por ejemplo hola_mundo.dart, y ejecutarlo con dart run hola_mundo.dart.
void main() {
print('Hola mundo');
}
3. Comentarios
// Esto es un comentario
/*
Esto es un comentario
de varias líneas
*/
4. Constantes
const PI = 3.1416;
final double gravedad = 9.8;
5. Variables
var nombre = 'Juan';
String nombre = 'Juan';
int edad = 20;
double estatura = 1.80;
bool esMayor = true;
6. Operadores de asignación
int d = 10;
d += 2; // 12
d -= 2; // 10
d *= 2; // 20
d %= 6; // 4
7. Operadores relacionales
// >, <, >=, <=, ==, !=
int x = 10;
int y = 4;
bool res = x > y; // true
8. Operadores lógicos
bool activo = true;
bool logueado = false;
bool resultado = activo && logueado; // false
resultado = activo || logueado; // true
resultado = !activo; // false
9. Operadores condicionales
int z = 10;
String mensaje = z > 10 ? 'Z es mayor a 10' : 'Z es menor o igual a 10';
10. Condicional if
if (z > 10) {
print('Z es mayor a 10');
} else if (z < 10) {
print('Z es menor a 10');
} else {
print('Z es igual a 10');
}
11. Condicional switch
int mes = 2;
String estacion;
switch (mes) {
case 1:
case 2:
case 12:
estacion = 'Invierno';
break;
default:
estacion = 'Mes incorrecto';
}
12. Ciclo for
for (int i = 0; i < 10; i++) {
print(i);
}
13. Ciclo while
int i = 0;
while (i < 10) {
print(i);
i++;
}
14. Ciclo do while
int i = 0;
do {
print(i);
i++;
} while (i < 10);
15. Ciclo for in
List<String> listado = ['rojo', 'verde', 'azul'];
for (String color in listado) {
print(color);
}
16. Ciclo for each
List<String> listado = ['rojo', 'verde', 'azul'];
listado.forEach((color) => print(color));
17. Funciones
void saludar() {
print('Hola mundo');
}
void saludar2(String nombre) {
print('Hola $nombre');
}
String saludar3(String nombre, String mensaje) {
return '$mensaje $nombre';
}
String saludar4(String nombre, [String mensaje = 'Hola']) {
return '$mensaje $nombre';
}
String saludar5(String nombre, {String mensaje = 'Hola'}) {
return '$mensaje $nombre';
}
18. Funciones flecha
void saludar() => print('Hola mundo');
void saludar2(String nombre) => print('Hola $nombre');
String saludar3(String nombre, String mensaje) => '$mensaje $nombre';
String saludar4(String nombre, [String mensaje = 'Hola']) => '$mensaje $nombre';
String saludar5(String nombre, {String mensaje = 'Hola'}) => '$mensaje $nombre';
19. Listas
List<int> numeros = [1, 2, 3, 4, 5];
List<String> ciudades = ['Quito', 'Guayaquil', 'Cuenca'];
print(numeros);
print(ciudades);
// Agregar elementos a una lista
ciudades.add('Loja');
print(ciudades);
// Eliminar elementos de una lista
ciudades.remove('Loja');
print(ciudades);
20. Mapas (diccionarios)
Map<String, dynamic> persona = {
'nombre': 'Juan',
'edad': 20,
'soltero': true
};
print(persona);
print(persona['nombre']);
print(persona['edad']);
print(persona['soltero']);
// Agregar elementos a un diccionario
persona.addAll({'altura': 1.80});
print(persona);
// Eliminar elementos de un diccionario
persona.remove('altura');
print(persona);
Conclusión
Con estos 20 pasos tienes una base para leer y escribir código en Dart. A partir de aquí, el siguiente paso natural es profundizar en clases, null safety y programación asíncrona (Future, async y await), conceptos que usarás constantemente si desarrollas con Flutter.