Introducción

Flutter es un kit de desarrollo de software (SDK) de código abierto creado por Google. Se utiliza para desarrollar aplicaciones nativas compiladas para dispositivos móviles (iOS y Android), web y escritorio desde una única base de código. Flutter se destaca por su capacidad para crear interfaces de usuario (UI) de alta calidad y su rendimiento cercano al nativo.

Características Clave de Flutter

  1. Desarrollo Multiplataforma: Permite escribir una sola base de código que se puede compilar para múltiples plataformas.
  2. Rendimiento Nativo: Utiliza el motor gráfico Skia para renderizar UI, lo que proporciona un rendimiento cercano al nativo.
  3. Hot Reload: Permite ver los cambios en el código casi instantáneamente sin reiniciar la aplicación.
  4. Widget-centric: Todo en Flutter es un widget, lo que facilita la creación de interfaces de usuario complejas.
  5. Gran Comunidad y Soporte: Amplia documentación, paquetes y una comunidad activa que contribuye al crecimiento del ecosistema.

Arquitectura de Flutter

Flutter se compone de tres partes principales:

  1. Framework: Escrito en Dart, proporciona una rica colección de widgets y herramientas para construir interfaces de usuario.
  2. Engine: Escrito en C++, maneja la renderización de gráficos, la composición de la interfaz de usuario y la comunicación con la plataforma.
  3. Embedder: Específico de la plataforma, permite que el motor de Flutter se comunique con el sistema operativo subyacente.

Comparación con Otros Frameworks

Característica Flutter React Native Xamarin
Lenguaje Dart JavaScript C#
Hot Reload Sí Sí Sí
Rendimiento Alto (cercano al nativo) Medio (depende del puente) Medio (depende del puente)
Soporte de Plataforma iOS, Android, Web, Desktop iOS, Android iOS, Android, Windows
Comunidad Grande y en crecimiento Muy grande Grande

Ejemplo Práctico: Hola Mundo en Flutter

A continuación, se muestra un ejemplo básico de una aplicación "Hola Mundo" en Flutter.

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Hola Mundo'),
        ),
        body: Center(
          child: Text('¡Hola Mundo!'),
        ),
      ),
    );
  }
}

Explicación del Código

  1. import 'package:flutter/material.dart';: Importa el paquete de material design de Flutter.
  2. void main() { runApp(MyApp()); }: La función main es el punto de entrada de la aplicación. runApp inicia la aplicación y toma un widget como argumento.
  3. class MyApp extends StatelessWidget: Define un widget sin estado (stateless).
  4. Widget build(BuildContext context): El método build describe cómo se debe construir la interfaz de usuario.
  5. MaterialApp: Un widget que envuelve varias configuraciones de la aplicación, como el tema y las rutas.
  6. Scaffold: Proporciona una estructura básica para la aplicación, incluyendo la barra de la aplicación y el cuerpo.
  7. AppBar: Una barra de aplicación que muestra el título.
  8. Center: Un widget que centra su hijo.
  9. Text: Un widget que muestra texto.

Ejercicio Práctico

Ejercicio 1: Modificar el Texto

Objetivo: Cambiar el texto "¡Hola Mundo!" por "¡Bienvenido a Flutter!".

Instrucciones:

  1. Abre el archivo main.dart.
  2. Localiza el widget Text dentro del widget Center.
  3. Cambia el texto de '¡Hola Mundo!' a '¡Bienvenido a Flutter!'.

Solución:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Hola Mundo'),
        ),
        body: Center(
          child: Text('¡Bienvenido a Flutter!'),
        ),
      ),
    );
  }
}

Retroalimentación

  • Error Común: Olvidar cambiar el texto dentro del widget Text.
  • Consejo: Asegúrate de guardar los cambios y utilizar hot reload para ver los resultados instantáneamente.

Conclusión

En esta lección, hemos aprendido qué es Flutter, sus características clave, su arquitectura y cómo se compara con otros frameworks. También hemos creado una aplicación básica "Hola Mundo" y realizado un ejercicio práctico para modificar el texto. Con esta base, estamos listos para configurar nuestro entorno de desarrollo y comenzar a crear aplicaciones con Flutter.

En la próxima lección, abordaremos la Configuración del Entorno de Desarrollo para asegurarnos de que todo esté listo para comenzar a programar en Flutter.

Curso de Desarrollo con Flutter

Módulo 1: Introducción a Flutter

Módulo 2: Conceptos Básicos de Programación en Dart

Módulo 3: Widgets en Flutter

Módulo 4: Gestión de Estado

Módulo 5: Navegación y Enrutamiento

Módulo 6: Redes y APIs

Módulo 7: Persistencia y Almacenamiento

Módulo 8: Conceptos Avanzados de Flutter

Módulo 9: Pruebas y Depuración

Módulo 10: Despliegue y Mantenimiento

Módulo 11: Flutter para Web y Escritorio

© Copyright 2026. Todos los derechos reservados