Curso: Diplomado en programación con Flutter
Duración: 80 horas cronologicas
Convocatoria: Este curso está enfocado para empresas y particulares que necesitan que necesitan aprender a programar en usando el SDK de Flutter y el lenguaje de programación Dart.
Flutter es un nuevo SDK de desarrollo de aplicaciones de celulares que tomo al mundo por sorpresa. Fue diseñado por Google para hacer más fácil y rápido el diseño de aplicación Web, en especial para aplicaciones empresariales.
En nuestro curso de Flutter desde cero, enseñamos el lenguaje Dart desde su comienzo (y lo comparamos con otros lenguajes), para luego enfocarnos en desarrollar aplicaciones móviles para Android e IOS, y todo compartiendo el mismo código base de Flutter.
Nota: El curso esta actualizado a Flutter 3
Certificación:
Nosotros entregamos un diploma del curso. Somos una institución educacional
aprobada y certificada por Servicio Nacional de Capacitación y Empleo.
Ejemplo:
¿Qué es Flutter 3? Historia, filosofía, y relación con Dart.
Ventajas de Flutter frente a otras tecnologías (React Native, Xamarin, etc.)
Instalación y configuración del entorno de desarrollo:
Instalación del SDK de Flutter y Dart.
Configuración de Visual Studio Code y/o Android Studio.
Emuladores: Android, iOS, Web y Escritorio.
Solución de problemas comunes en la instalación.
Estructura de un proyecto Flutter:
Directorios (lib, android, ios, web, windows, macos, linux).
Main.dart y la función runApp().
Primeros pasos con Dart: variables, tipos de datos, funciones, control de flujo (if, for, while).
Sintaxis básica de Dart:
Tipos de datos primitivos (int, double, String, List, Map).
Clases, objetos y métodos.
Funciones: parámetros posicionales y nombrados.
Programación orientada a objetos en Dart:
Herencia, interfaces, mixins.
Encapsulamiento y constructores.
Uso de colecciones en Dart:
Listas, Conjuntos (Set), Mapas.
Métodos avanzados de colecciones: map(), filter(), reduce().
Control de flujo y manejo de excepciones:
Manejo de errores y excepciones (try, catch, finally).
Conceptos clave en Flutter:
Árbol de Widgets, programación declarativa, y composición de interfaces.
Stateful vs Stateless Widgets:
Diferencias y casos de uso.
Widgets básicos:
Container, Text, Image, Icon, Button (variedades: ElevatedButton, TextButton).
Layouts fundamentales:
Column, Row, Stack, Expanded, Flexible.
Uso del Spacer para gestionar espacios.
Modificación de Widgets:
Uso del Modifier, Padding, Alignment y BoxDecoration.
Introducción a Material Design y Cupertino:
Diferencias entre temas Material y Cupertino.
Widgets específicos de cada estilo (Material: Scaffold, AppBar; Cupertino: CupertinoPageScaffold, CupertinoNavigationBar).
Personalización de Temas y Estilos:
Definición de un tema global (ThemeData).
Cambiar colores, fuentes y tamaños.
Implementación de Dark Mode y Light Mode.
Creación de interfaces responsivas:
Uso de MediaQuery y LayoutBuilder.
Adaptación de la interfaz para diferentes tamaños de pantalla.
Navegación en Flutter:
Navigator y Route.
Navigator.push() y Navigator.pop().
Rutas nombradas y dinámicas.
Navigator 2.0: Navegación declarativa (introducción).
Uso de Drawer y BottomNavigationBar:
Implementación de menús laterales (Drawer).
Navegación entre secciones con barras de pestañas (BottomNavigationBar).
Shell y navegación avanzada:
Introducción a go_router para navegación más avanzada.
Diferentes enfoques de manejo de estado:
setState() para manejo local del estado.
Manejo global del estado: Provider, Riverpod, Bloc.
Uso de Provider:
Patrón MVVM y separando lógica de negocio de la UI.
Inyección de dependencias.
Estado asíncrono con FutureBuilder y StreamBuilder.
Conexión a APIs RESTful:
Uso de http o dio para hacer peticiones HTTP.
Métodos GET, POST, PUT, DELETE.
Manejo de JSON:
Serialización y deserialización de JSON.
Convertir respuestas JSON en modelos de Dart.
Manejo de peticiones asíncronas:
Uso de Future, async, await.
Almacenamiento local:
Uso de SharedPreferences para guardar datos sencillos.
Persistencia con bases de datos SQLite usando sqflite.
Firestore y Firebase Realtime Database para almacenamiento en la nube.
Sincronización de datos entre local y remoto.
Permisos en Android y iOS:
Gestión de permisos y acceso a recursos nativos.
Optimización del rendimiento:
Reducción de la sobrecarga de widgets.
Optimización de imágenes y recursos.
Uso de RepaintBoundary y técnicas para reducir la carga de renderizado.
Pruebas y Debugging:
Pruebas unitarias y de integración con flutter_test.
Uso de mockito para pruebas de lógica de negocio.
Debugging avanzado con Flutter DevTools.
Desarrollo de un proyecto final completo que incluya:
Implementación de navegación, manejo de estado y consumo de API.
Persistencia de datos locales y acceso a funcionalidades nativas.
Optimización del rendimiento y pruebas.
Nombre: Jorge Castro Castillo
Post Grado: MBA Master en tecnologías de la información aplicadas a las empresas (CEPADE España)
Pre Grado: Ingeniero Civil Informático Universidad de Santiago de Chile (2002)
Certificaciones: Microsoft y Oracle Certified Professional
Experiencia Laboral:
Ingeniero de sistema: para empresas mineras y bancarias.
Jefe de Proyecto: en empresas retail, informáticas, mineras y bancarias.
Consultor externo: en empresas retail, informáticas, mineras, agroindustria y bancarias.
Relator títular: de nuestra escuela.