En esta sección, aprenderás a crear tu primera aplicación con Flutter. Este proceso te ayudará a familiarizarte con la estructura básica de una aplicación Flutter y a entender cómo funcionan los widgets, que son los bloques de construcción fundamentales en Flutter.
Objetivos
- Configurar un nuevo proyecto Flutter.
- Comprender la estructura de un proyecto Flutter.
- Crear una interfaz de usuario básica.
- Ejecutar la aplicación en un emulador o dispositivo físico.
- Configuración de un Nuevo Proyecto Flutter
Paso 1: Crear el Proyecto
Abre tu terminal o línea de comandos y navega hasta el directorio donde deseas crear tu proyecto. Luego, ejecuta el siguiente comando:
Este comando creará una nueva carpeta llamada my_first_app
con la estructura básica de un proyecto Flutter.
Paso 2: Abrir el Proyecto en tu Editor de Código
Abre tu editor de código preferido (como Visual Studio Code o Android Studio) y carga el proyecto my_first_app
.
- Estructura de un Proyecto Flutter
Una vez que hayas abierto el proyecto, verás una estructura de carpetas y archivos similar a la siguiente:
my_first_app/ ├── android/ ├── build/ ├── ios/ ├── lib/ │ └── main.dart ├── test/ ├── .gitignore ├── pubspec.yaml └── README.md
Descripción de las Carpetas y Archivos Principales
- android/: Contiene el código específico para la plataforma Android.
- ios/: Contiene el código específico para la plataforma iOS.
- lib/: Contiene el código fuente de la aplicación. Aquí es donde escribirás la mayor parte de tu código Dart.
- main.dart: El punto de entrada de la aplicación.
- pubspec.yaml: Archivo de configuración del proyecto, donde se especifican las dependencias y otros ajustes.
- Creando la Interfaz de Usuario Básica
Paso 1: Editar main.dart
Abre el archivo lib/main.dart
y reemplaza su contenido con el siguiente código:
import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'My First App', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage(), ); } } class MyHomePage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Home Page'), ), body: Center( child: Text('Hello, Flutter!'), ), ); } }
Explicación del Código
main()
: La función principal que ejecuta la aplicación. Llama arunApp()
y pasa una instancia deMyApp
.MyApp
: Un widget sin estado (StatelessWidget
) que representa la aplicación. Configura el tema y la página de inicio.MyHomePage
: Otro widget sin estado que representa la página de inicio. Utiliza unScaffold
para estructurar la página con una barra de aplicaciones (AppBar
) y un cuerpo (body
) que contiene un texto centrado.
- Ejecutar la Aplicación
Paso 1: Iniciar un Emulador o Conectar un Dispositivo
Asegúrate de tener un emulador de Android o iOS en ejecución, o conecta un dispositivo físico a tu computadora.
Paso 2: Ejecutar la Aplicación
En tu terminal, navega hasta el directorio del proyecto y ejecuta el siguiente comando:
Esto compilará y ejecutará la aplicación en el emulador o dispositivo conectado. Deberías ver una pantalla con una barra de aplicaciones que dice "Home Page" y un texto centrado que dice "Hello, Flutter!".
Ejercicio Práctico
Ejercicio 1: Modificar el Texto
Modifica el texto que se muestra en la pantalla de "Hello, Flutter!" a "Welcome to My First App!".
Solución
Abre lib/main.dart
y cambia la línea:
a:
Guarda el archivo y vuelve a ejecutar la aplicación para ver los cambios.
Conclusión
En esta sección, has aprendido a crear tu primera aplicación Flutter, comprendiendo la estructura básica del proyecto y creando una interfaz de usuario simple. Ahora estás listo para explorar más sobre Flutter y construir aplicaciones más complejas.
En el próximo módulo, profundizaremos en los conceptos básicos de programación en Dart, el lenguaje de programación utilizado por Flutter.
Curso de Desarrollo con Flutter
Módulo 1: Introducción a Flutter
- ¿Qué es Flutter?
- Configuración del Entorno de Desarrollo
- Entendiendo la Arquitectura de Flutter
- Creando Tu Primera App con Flutter
Módulo 2: Conceptos Básicos de Programación en Dart
- Introducción a Dart
- Variables y Tipos de Datos
- Sentencias de Control de Flujo
- Funciones y Métodos
- Programación Orientada a Objetos en Dart
Módulo 3: Widgets en Flutter
- Introducción a los Widgets
- Widgets Stateless vs Stateful
- Widgets Básicos
- Widgets de Diseño
- Widgets de Entrada y Formularios
Módulo 4: Gestión de Estado
Módulo 5: Navegación y Enrutamiento
- Introducción a la Navegación
- Navegación Básica
- Rutas Nombradas
- Pasando Datos Entre Pantallas
- Deep Linking
Módulo 6: Redes y APIs
- Obteniendo Datos de Internet
- Parseo de Datos JSON
- Manejo de Errores de Red
- Usando APIs REST
- Integración con GraphQL
Módulo 7: Persistencia y Almacenamiento
- Introducción a la Persistencia
- Preferencias Compartidas
- Almacenamiento de Archivos
- Base de Datos SQLite
- Usando Hive para Almacenamiento Local
Módulo 8: Conceptos Avanzados de Flutter
- Animaciones en Flutter
- Custom Paint y Canvas
- Canales de Plataforma
- Isolates y Concurrencia
- Optimización de Rendimiento
Módulo 9: Pruebas y Depuración
- Introducción a las Pruebas
- Pruebas Unitarias
- Pruebas de Widgets
- Pruebas de Integración
- Técnicas de Depuración
Módulo 10: Despliegue y Mantenimiento
- Preparación para el Lanzamiento
- Construcción para iOS
- Construcción para Android
- Integración Continua/Despliegue Continuo (CI/CD)
- Mantenimiento y Actualización de Tu App