En este tema, aprenderemos a construir una aplicación simple en Flutter, el framework de UI de Google para crear aplicaciones nativas para móviles, web y escritorio desde una única base de código. Este módulo te guiará a través de los pasos necesarios para configurar un proyecto de Flutter y desarrollar una aplicación básica.
Objetivos del Tema
- Configurar un proyecto de Flutter.
- Comprender la estructura básica de una aplicación Flutter.
- Crear una interfaz de usuario simple.
- Ejecutar la aplicación en un emulador o dispositivo físico.
Requisitos Previos
- Conocimientos básicos de Dart.
- Entorno de desarrollo configurado para Flutter (ver Configuración del Entorno de Desarrollo).
- Configuración del Proyecto de Flutter
Paso 1: Crear un Nuevo Proyecto de Flutter
Abre tu terminal o línea de comandos y ejecuta el siguiente comando para crear un nuevo proyecto de Flutter:
Este comando creará una nueva carpeta llamada my_first_flutter_app con la estructura básica de un proyecto de Flutter.
Paso 2: Navegar al Directorio del Proyecto
Cambia al directorio del proyecto recién creado:
Paso 3: Abrir el Proyecto en tu Editor de Código
Abre el proyecto en tu editor de código preferido (por ejemplo, Visual Studio Code):
- Estructura Básica de una Aplicación Flutter
Una aplicación Flutter típica tiene la siguiente estructura de directorios:
my_first_flutter_app/ ├── android/ ├── ios/ ├── lib/ │ └── main.dart ├── test/ ├── pubspec.yaml └── README.md
android/yios/: Contienen los archivos específicos de la plataforma.lib/: Contiene el código fuente de la aplicación. El archivo principal esmain.dart.test/: Contiene los archivos de prueba.pubspec.yaml: Archivo de configuración del proyecto.
- Creación de una Interfaz de Usuario Simple
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: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
),
);
}
}Explicación del Código
main(): La función principal que ejecuta la aplicación.MyApp: Un widget sin estado que configura el tema y la página principal de la aplicación.MyHomePage: Un widget con estado que muestra un contador y un botón para incrementarlo._incrementCounter(): Método que incrementa el contador y actualiza la UI.
- 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 la terminal, ejecuta el siguiente comando para iniciar la aplicación:
Esto compilará y ejecutará la aplicación en el emulador o dispositivo conectado.
Ejercicio Práctico
Ejercicio 1: Modificar el Texto del Contador
Modifica el texto que se muestra en la aplicación para que diga "Has presionado el botón X veces", donde X es el valor del contador.
Solución
Reemplaza el texto en el widget Text dentro del método build de _MyHomePageState:
Ejercicio 2: Cambiar el Color del Botón
Cambia el color del FloatingActionButton a rojo.
Solución
Modifica el widget FloatingActionButton para incluir la propiedad backgroundColor:
floatingActionButton: FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: Icon(Icons.add), backgroundColor: Colors.red, ),
Conclusión
En este tema, hemos aprendido a configurar un proyecto de Flutter, comprender la estructura básica de una aplicación Flutter, crear una interfaz de usuario simple y ejecutar la aplicación en un emulador o dispositivo físico. Estos conocimientos te preparan para explorar más características avanzadas de Flutter y desarrollar aplicaciones más complejas.
En el siguiente tema, exploraremos cómo utilizar Dart para el desarrollo web. ¡Sigue adelante y sigue practicando!
Curso de Programación en Dart
Módulo 1: Introducción a Dart
- Introducción a Dart
- Configuración del Entorno de Desarrollo
- Tu Primer Programa en Dart
- Sintaxis y Estructura Básica
