Dart es un lenguaje de programación desarrollado por Google, diseñado para crear aplicaciones modernas, rápidas y multiplataforma. Es el lenguaje base de Flutter, uno de los frameworks más populares para el desarrollo móvil. En esta guía, exploraremos los fundamentos de Dart con ejemplos prácticos que te ayudarán a dominar este potente lenguaje.
1. Introducción a Dart
Dart es un lenguaje orientado a objetos y tipado estático. Aunque nació para reemplazar JavaScript en navegadores, ha evolucionado para ser el núcleo de Flutter, permitiendo construir aplicaciones web, móviles y de escritorio.
2. Instalación y configuración
Requisitos
- Sistema operativo: Windows, macOS o Linux.
- Editor de texto recomendado: Visual Studio Code.
Instalación
- Descarga el SDK de Dart desde su sitio oficial.
- Sigue las instrucciones de instalación para tu sistema operativo.
- Verifica la instalación ejecutando:
dart --version
3. Fundamentos del lenguaje
Variables y tipos de datos
Dart permite declarar variables de manera explícita o implícita.
void main() { // Declaración explícita int edad = 25; String nombre = "Juan"; // Declaración implícita var altura = 1.75; print("Hola, soy $nombre, tengo $edad años y mido $altura metros."); }
Estructuras de control
Dart soporta las estructuras condicionales y de iteración más comunes.
void main() { int numero = 5; // Condicional if (numero > 0) { print("El número es positivo."); } else { print("El número es negativo o cero."); } // Bucle for for (int i = 0; i < 5; i++) { print("Número: $i"); } }
Funciones
Las funciones son esenciales en cualquier lenguaje. En Dart, puedes definir funciones con o sin retorno.
int sumar(int a, int b) { return a + b; } void main() { print("La suma es: ${sumar(3, 4)}"); }
4. Programación orientada a objetos (POO) en Dart
Clases y objetos
Dart es completamente orientado a objetos. Todo es una instancia de una clase.
class Persona { String nombre; int edad; Persona(this.nombre, this.edad); void saludar() { print("Hola, soy $nombre y tengo $edad años."); } } void main() { var persona = Persona("Ana", 30); persona.saludar(); }
Herencia
class Animal { void sonido() { print("Haciendo un sonido..."); } } class Perro extends Animal { @override void sonido() { print("Guau guau!"); } } void main() { var perro = Perro(); perro.sonido(); }
5. Manejo de excepciones
Dart ofrece un robusto manejo de excepciones.
void dividir(int a, int b) { try { if (b == 0) { throw Exception("No se puede dividir por cero."); } print("Resultado: ${a / b}"); } catch (e) { print("Error: $e"); } } void main() { dividir(10, 0); }
6. Trabajo con colecciones
Dart cuenta con estructuras como listas, mapas y conjuntos.
void main() { // Lista List<String> frutas = ["Manzana", "Banana", "Cereza"]; frutas.forEach((fruta) => print(fruta)); // Mapa Map<String, int> edades = {"Juan": 30, "Ana": 25}; edades.forEach((nombre, edad) => print("$nombre tiene $edad años.")); }
7. Funcionalidades avanzadas de Dart
Asincronía con Future
y async/await
Future<String> obtenerDatos() async { await Future.delayed(Duration(seconds: 2)); return "Datos obtenidos"; } void main() async { print("Cargando..."); var datos = await obtenerDatos(); print(datos); }
Mixins
mixin Volador { void volar() { print("Estoy volando!"); } } class Pajaro with Volador {} void main() { var pajaro = Pajaro(); pajaro.volar(); }
8. Ejemplos prácticos
1. Calculadora básica
double calcular(double a, double b, String operacion) { switch (operacion) { case "+": return a + b; case "-": return a - b; case "*": return a * b; case "/": if (b == 0) throw Exception("División por cero."); return a / b; default: throw Exception("Operación no válida."); } } void main() { print(calcular(10, 5, "+")); // Resultado: 15 }
2. Gestión de listas
void main() { List<String> tareas = ["Comprar pan", "Lavar el coche", "Estudiar Dart"]; // Agregar tarea tareas.add("Ir al gimnasio"); print(tareas); // Eliminar tarea tareas.removeAt(1); print(tareas); }
3. Consumo de API simulada
Future<String> obtenerUsuario() async { await Future.delayed(Duration(seconds: 2)); return "Usuario: Juan Pérez"; } void main() async { print("Cargando..."); var usuario = await obtenerUsuario(); print(usuario); }
Conclusión
Dart es un lenguaje versátil, potente y amigable para principiantes y desarrolladores avanzados. Con esta guía, tienes una base sólida para seguir explorando sus capacidades, especialmente si deseas incursionar en Flutter. ¡Manos a la obra!
NUESTRO BLOG
Echa un vistazo a nuestros otros contenidos de calidad.
¡Nos encantaría conocer más sobre tu Proyecto !
Usuarios contentos
Proyectos entregados