CONTENIDO
Módulo 1: Introducción a Dart y Entorno de Desarrollo
Este módulo introduce a los estudiantes en el ecosistema de Dart, desde su historia hasta la configuración del entorno de desarrollo. Se enfatiza la importancia de herramientas como DartPad y la estructura básica de un proyecto Dart.
- ¿Qué es Dart? Historia y evolución del lenguaje.
- Instalación del Dart SDK en diferentes sistemas operativos (Windows, macOS, Linux).
- Configuración del entorno de desarrollo en VS Code y Android Studio.
- Uso de DartPad para prototipado rápido y pruebas instantáneas.
- Estructura de un proyecto Dart: archivos `main.dart` y `pubspec.yaml`.
- Compilación de código Dart en diferentes plataformas (web, móvil, escritorio).
Módulo 2: Sintaxis Básica y Estructuras de Control
En este módulo, los estudiantes aprenderán la sintaxis esencial de Dart, incluyendo variables, tipos de datos, operadores y estructuras de control. Estos conceptos son fundamentales para escribir programas funcionales y bien estructurados.
- Variables y constantes: uso de `var`, `final` y `const`.
- Tipos de datos básicos: números (`int`, `double`), cadenas (`String`), listas (`List`) y mapas (`Map`).
- Operadores aritméticos, lógicos y de comparación.
- Estructuras condicionales: `if-else`, `switch-case`.
- Bucles: `for`, `while`, `do-while`.
- Uso de expresiones ternarias para simplificar condicionales.
Módulo 3: Funciones y Manejo de Errores
Este módulo se centra en la creación de funciones eficientes y el manejo adecuado de errores en Dart. Los estudiantes aprenderán a escribir funciones reutilizables y a gestionar excepciones de manera segura.
- Declaración de funciones: parámetros posicionales, nombrados y opcionales.
- Funciones anónimas y expresiones lambda (`=>`).
- Manejo de excepciones: uso de `try-catch`, `throw` y `finally`.
- Validación de entradas y manejo de errores comunes.
- Funciones recursivas: concepto y ejemplos prácticos.
Módulo 4: Programación Orientada a Objetos (POO)
La programación orientada a objetos es un pilar fundamental de Dart. En este módulo, los estudiantes aprenderán a trabajar con clases, objetos, herencia, mixins y genéricos para desarrollar soluciones modulares y escalables.
- Conceptos básicos de POO: clases, objetos y constructores.
- Constructores normales y con nombre.
- Herencia y polimorfismo: uso de `@override` y clases abstractas.
- Mixins: reutilización de código con `with`.
- Genéricos: creación de clases y funciones genéricas.
- Principios SOLID aplicados a Dart.
Módulo 5: Serialización/Deserialización JSON
La manipulación de datos JSON es esencial para interactuar con APIs y almacenar información. Este módulo enseña cómo serializar y deserializar objetos Dart a formato JSON.
- Uso de la librería `dart:convert` para codificar y decodificar JSON.
- Serialización manual vs automatizada con paquetes como `json_serializable`.
- Creación de modelos Dart a partir de datos JSON.
- Persistencia local de datos en formato JSON.
Módulo 6: Creación de Paquetes y Librerías
La modularidad es clave para el desarrollo de software escalable. Este módulo enseña cómo crear y publicar paquetes Dart, así como utilizar librerías externas.
- Estructura de un paquete Dart: archivo `pubspec.yaml` y dependencias.
- Publicación de paquetes en [pub.dev](https://pub.dev).
- Uso de librerías externas populares como `http` y `shared_preferences`.
- Creación de paquetes locales para proyectos específicos.
Módulo 7: Concurrencia y Asincronía Básica
La programación asíncrona es esencial para manejar operaciones que no bloquean la ejecución del programa. Este módulo introduce conceptos como `Future` y `async/await`.
- Introducción a la concurrencia en Dart.
- Uso de `Future`: métodos `then`, `catchError` y `finally`.
- Sintaxis `async/await` para manejo de operaciones asíncronas.
- Simulación de APIs con `Future.delayed`.
- Ejecución paralela de múltiples tareas.
Módulo 8: Patrones de Diseño en Dart
Los patrones de diseño son soluciones probadas para problemas comunes en el desarrollo de software. Este módulo explora patrones clave como Singleton, Factory y Observer.
- Patrón Singleton: creación de una única instancia global.
- Patrón Factory: constructores flexibles para objetos complejos.
- Patrón Observer: notificación de cambios entre objetos.
- Aplicación práctica de patrones en proyectos reales.
Dart Essentials: Domina las Bases de la Programación con Dart
Este curso está diseñado para proporcionar una comprensión profunda de los principios básicos y avanzados del lenguaje Dart, preparando a los estudiantes para el desarrollo de aplicaciones robustas con Flutter. Desde la instalación y configuración del entorno hasta conceptos avanzados como programación orientada a objetos, manejo de datos JSON, concurrencia y patrones de diseño, este curso cubre todo lo necesario para dominar Dart. A través de ejemplos prácticos y ejercicios interactivos, los estudiantes adquirirán las habilidades necesarias para construir aplicaciones eficientes y escalables.


