Introducción
¡Bienvenido a Flutter Apprentice!
Flutter es un increíble kit de herramientas de interfaz de usuario (UI) que te permite crear aplicaciones para iOS y Android, e incluso para plataformas web y de escritorio como macOS, Windows y Linux, todo desde una única base de código.
Flutter ofrece todas las ventajas de otras herramientas multiplataforma, especialmente porque permite trabajar con múltiples plataformas desde una misma base de código. Además, supera a la mayoría de las herramientas multiplataforma gracias a un motor de renderizado ultrarrápido que permite que tus aplicaciones Flutter funcionen como aplicaciones nativas.
Además, las funciones de Flutter suelen ser independientes de las nativas, ya que se utilizan los elementos de interfaz de usuario propios de Flutter, llamados widgets, para crear la interfaz. Flutter también puede trabajar con código nativo, lo que permite integrar las funciones nativas de la aplicación Flutter cuando sea necesario.
Si usas plataformas como iOS o Android, ¡la experiencia de desarrollo con Flutter te resultará refrescante! Gracias a la función “recarga en caliente”, rara vez tendrás que reconstruir tus aplicaciones durante el desarrollo. Una aplicación que se esté ejecutando en un simulador o emulador se actualizará automáticamente con los cambios de código al guardar los archivos fuente.
En este libro, verá cómo crear aplicaciones Flutter con todas las funciones, adquirir experiencia con una amplia gama de widgets Flutter y aprender a implementar sus aplicaciones en las tiendas de aplicaciones móviles.
Cómo leer este libro
En la primera sección del libro, aprenderás a configurar un entorno de desarrollo de Flutter. Una vez hecho esto, comenzarás a crear tu primera aplicación de Flutter.
Las siguientes dos secciones se centran en el desarrollo de UI con widgets de Flutter. Verás lo impresionantes que pueden ser las interfaces de usuario de Flutter.
La cuarta sección se centra en la creación de una nueva aplicación. La usarás para aprender a usar redes y bases de datos con Flutter, así como el importante tema de la gestión de estados.
La quinta sección te enseñará a trabajar con Firebase Cloud Firestore. En particular, aprenderás a añadir una función de mensajería instantánea a la app Yummy.
La sexta sección trata sobre las pruebas. Aprenderás a aprovechar las pruebas unitarias y de widgets para asegurarte de que tu aplicación se comporte como se espera.
La séptima sección le muestra cómo incorporar activos específicos de la plataforma en su aplicación y luego demuestra cómo implementar sus aplicaciones en las tiendas de aplicaciones móviles.
A continuación se presenta un desglose de estas siete secciones principales del libro:
Sección I: Crea tu primera aplicación Flutter
Los capítulos de esta sección le presentan Flutter, le ayudan a empezar a utilizar un entorno de desarrollo de Flutter y le guían en el proceso de creación de su primera aplicación de Flutter.
Aprenderá de dónde surgió Flutter y por qué existe, comprenderá la estructura de los proyectos de Flutter y verá cómo crear la interfaz de usuario de una aplicación de Flutter.
¡También recibirás tu primera introducción al componente clave que se encuentra en las interfaces de usuario de Flutter: los widgets!
Sección II: Todo es un widget
En esta sección, comenzarás a crear una aplicación de recetas completa llamada Yummy. Comprenderás la amplia gama de widgets disponibles en Flutter y los usarás. Luego, aprenderás la teoría de su funcionamiento interno.
Finalmente, profundizaremos en los widgets de diseño, los widgets desplazables y los widgets interactivos.
Sección IV: Redes, persistencia y estado
La mayoría de las aplicaciones interactúan con la red para recuperar datos y luego los almacenan localmente en algún tipo de caché, como una base de datos. En esta sección, crearás una nueva aplicación que te permitirá buscar recetas en internet, guardarlas en favoritos y guardar sus ingredientes en una lista de la compra.
Aprenderá a realizar solicitudes de red, analizar la respuesta JSON de la red y guardar datos en una base de datos SQLite. También recibirá una introducción al uso de flujos de Dart.
Finalmente, esta sección profundizará en el tema importante del estado de la aplicación, que determina dónde y cómo actualizar los datos en la interfaz de usuario a medida que un usuario interactúa con su aplicación.
Sección V: Trabajar con Firebase Cloud Firestore
Cuando se trata de almacenar datos en la nube, puedes construir tu propio sistema back-end o aprovechar un sistema existente y construirlo exactamente para eso.
Esta sección explicará cómo usar Firebase Cloud Firestone para implementar una función de mensajería en tu aplicación. Aprenderás a integrar Firebase en tu proyecto, a configurar la autenticación y a realizar consultas para completar tu interfaz de usuario.
Sección VI: Prueba de su aplicación Flutter
Desarrollar una aplicación es divertido, pero a lo largo del proceso añadirás funciones, ajustarás flujos de trabajo y corregirás errores. ¿Cómo te aseguras de que un conjunto de cambios no introduzca errores ni problemas en una versión anterior de la aplicación? Es el momento de realizar pruebas. Las pruebas ayudan a mitigar el riesgo de introducir problemas en una aplicación existente y a prevenir regresiones.
En esta sección, aprenderá sobre las pruebas unitarias y de widgets. Verá cómo las pruebas unitarias son una buena opción para supervisar su lógica de negocio. Finalmente, aprenderá a usar las pruebas de widgets para verificar que sus widgets de interfaz de usuario se rendericen correctamente.
Sección VII: Despliegue
Desarrollar una aplicación para tus propios dispositivos es genial; ¡compartir tu aplicación con el mundo es aún mejor!
En esta sección, repasaremos los pasos y procesos para publicar tus apps en la App Store de iOS y Google Play Store. También aprenderás a usar recursos específicos de cada plataforma en tus apps. (Kodeco Team et al., 2024, pp. 25-28)