Saltar al contenido principal

Crear una app

Instrucciones sobre cómo crear una nueva app de Flutter.

Aprende los primeros pasos para construir una app de Flutter, desde la creación de un proyecto hasta la comprensión de los widgets y el Hot Reload.

Qué lograrás

Crea un nuevo proyecto de Flutter usando el CLI
Comprende los widgets y el widget tree
Ejecuta tu app y usa el Hot Reload

Pasos

1

Qué construirás

En esta primera sección del tutorial de Flutter, construirás la UI principal de una app llamada 'Birdle', un juego similar a Wordle, el popular juego de The New York Times.

Una captura de pantalla que se asemeja al popular juego Wordle.

Al final de este tutorial, habrás aprendido los fundamentos para construir UIs de Flutter, y tu app se verá como la siguiente captura de pantalla (e incluso funcionará casi por completo 😀).

2

Crear un nuevo proyecto Flutter

El primer paso para construir apps de Flutter es crear un nuevo proyecto. Creas nuevas apps con la herramienta CLI de Flutter, instalada como parte del Flutter SDK.

Abre tu terminal o símbolo del sistema y ejecuta el siguiente comando para crear un nuevo proyecto de Flutter:

flutter create birdle --empty

Esto crea un nuevo proyecto de Flutter usando la plantilla mínima "vacía".

3

Examina el código

En tu IDE, abre el archivo en lib/main.dart. Empezando desde arriba, verás este código.

lib/main.dart
dart
void main() {
  runApp(const MainApp());
}

La función main es el punto de entrada para cualquier programa Dart, y una app de Flutter es simplemente un programa Dart. El método runApp es parte del Flutter SDK, y toma un widget como argumento. En este caso, se está pasando una instancia del widget MainApp.

Justo debajo de la función main, encontrarás la declaración de la clase MainApp.

dart
class MainApp extends StatelessWidget {
  const MainApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: Scaffold(
        body: Center(
          child: Text('Hello World!'),
        ),
      ),
    );
  }
}

MainApp es el root widget, ya que es el widget que se pasa a runApp. Dentro de este widget, hay un método build que devuelve otro widget llamado MaterialApp. Esencialmente, esto es lo que es una app de Flutter: una composición de widgets que forman una estructura de árbol llamada el widget tree.

Tu trabajo como desarrollador de Flutter es componer widgets del SDK en widgets personalizados más grandes que muestren una UI.

En este momento, el widget tree es bastante simple:

Una captura de pantalla que se asemeja al popular juego Wordle.
4

Ejecutar tu aplicación

  1. En tu terminal, navega al directorio raíz de tu app de Flutter creada:

    cd birdle
    
  2. Ejecuta la app usando la herramienta CLI de Flutter.

    flutter run -d chrome
    

    La app se compilará y se iniciará en una nueva instancia de Chrome.

Una captura de pantalla que se asemeja al popular juego Wordle.
5

Usa el Hot Reload

El stateful Hot Reload, por si no has oído hablar de él, permite que una app de Flutter en ejecución vuelva a renderizar la lógica de negocio o el código de la UI actualizados en menos de un segundo, todo sin perder tu posición en la app.

En tu IDE, abre el archivo main.dart y ve a la línea ~15 para buscar este código:

dart
child: Text('Hello World!'),

Cambia el texto dentro del string por lo que quieras. Luego, realiza un Hot Reload de tu app presionando r en la terminal donde se está ejecutando la app. La app en ejecución debería mostrar instantáneamente tu texto actualizado.

6

Revisión

Qué lograste

Aquí tienes un resumen de lo que construiste y aprendiste en esta lección.
Creaste tu primer proyecto de Flutter

Usaste flutter create con la bandera --empty para estructurar un proyecto de Flutter mínimo. El CLI genera la estructura del proyecto y el código base necesario para comenzar.

Exploraste el widget tree

Las UIs de Flutter se construyen componiendo widgets en una estructura de árbol. La función runApp toma un root widget, y el método build de ese widget devuelve otros widgets, formando el widget tree. Tu trabajo como desarrollador de Flutter es componer estos widgets en UIs personalizadas.

Ejecutaste tu app con Hot Reload

Ejecutaste tu app con flutter run y experimentaste el stateful Hot Reload, el cual te permite ver los cambios de código reflejados en menos de un segundo sin perder el state de la app. Presiona r en la terminal para activar un Hot Reload.

7

Ponte a prueba

Quiz de crear una app

1 / 2
What is the purpose of the runApp function in a Flutter application?
  1. Compila el código Dart en código de máquina nativo.

    No exactamente.

    La compilación ocurre antes de que la app se ejecute; runApp inicia el framework de Flutter con un root widget.

  2. Descarga las dependencias de Flutter de internet.

    No exactamente.

    Las dependencias son gestionadas por flutter pub get, no por runApp.

  3. Toma un widget como argumento y lo convierte en la raíz del widget tree.

    ¡Así es!

    La función runApp infla el widget dado y lo acopla a la pantalla, convirtiéndolo en la raíz del widget tree.

  4. Crea el archivo main.dart para el proyecto.

    No exactamente.

    El archivo es creado por flutter create; runApp se llama en tiempo de ejecución.

How do you trigger a hot reload while a Flutter app is running in the terminal?
  1. Presiona r en la terminal.

    ¡Así es!

    Presionar r en la terminal donde se está ejecutando la app activa un Hot Reload.

  2. Presiona h en la terminal.

    No exactamente.

    Presionar h muestra las opciones de ayuda; r activa el Hot Reload.

  3. Detén y reinicia la app con flutter run.

    No exactamente.

    No se necesita un reinicio completo; el Hot Reload es más rápido.

  4. Guarda el archivo y espera la recarga automática.

    No exactamente.

    Por defecto, necesitas presionar r para activar el Hot Reload en la terminal.