Flutter - CodeSystem2022/Grupo_Programaci-nUTN-TercerSemestre GitHub Wiki

flutter

El objetivo principal de Flutter es ayudar a los desarrolladores a crear aplicaciones móviles hermosas y rápidas con una productividad mejorada. Utiliza un lenguaje de programación llamado Dart, también desarrollado por Google, que se compila a código nativo para lograr un rendimiento óptimo.

Flutter ofrece una amplia gama de widgets personalizables y preconstruidos que facilitan la creación de interfaces de usuario atractivas y consistentes en diferentes plataformas. Además, proporciona herramientas para manejar la lógica de la aplicación. Permite construir interfaces de usuario atractivas y de alto rendimiento para aplicaciones móviles en múltiples plataformas, como iOS, Android y web, desde un solo código base.

Flutter funciona mediante una arquitectura en capas que combina diferentes componentes para crear aplicaciones móviles. A continuación, te explico brevemente cómo funciona Flutter:

  1. Capa de widgets: Flutter se basa en la idea de que todo en una interfaz de usuario es un widget. Los widgets son los bloques de construcción fundamentales de la interfaz de usuario en Flutter. Pueden ser simples, como un botón o un texto, o complejos, como una lista desplazable o una animación. Los widgets se combinan y anidan para formar la interfaz de usuario completa de la aplicación.
  2. Capa de renderización: Flutter tiene su propio motor de renderizado llamado Skia. Cuando creas una interfaz de usuario en Flutter, los widgets se convierten en instrucciones de bajo nivel para el motor de renderizado. El motor de renderizado se encarga de dibujar y componer los widgets en la pantalla.
  3. Capa de gestión de eventos: Flutter tiene un sistema de gestión de eventos que permite manejar la interacción del usuario con la interfaz de usuario. Puede detectar gestos táctiles, toques, desplazamientos y otros eventos y responder a ellos según sea necesario.
  4. Capa de lógica de la aplicación: Flutter proporciona un conjunto de herramientas y bibliotecas para manejar la lógica de la aplicación, como el estado de la aplicación, la navegación entre pantallas y la comunicación con servicios y APIs externos. Puedes usar el lenguaje de programación Dart para escribir la lógica de la aplicación y controlar el comportamiento de los widgets.
  5. Capa de acceso a las plataformas: Flutter utiliza canales de plataforma para acceder a las características y servicios nativos de cada plataforma (iOS y Android). Estos canales permiten interactuar con funciones específicas del sistema operativo, como la cámara, la geolocalización o los sensores del dispositivo.
  6. Hot Reload: Una característica destacada de Flutter es el "Hot Reload", que permite ver los cambios en tiempo real mientras se desarrolla la aplicación. Con el "Hot Reload", puedes realizar cambios en el código y ver instantáneamente los resultados en la aplicación, lo que acelera el proceso de desarrollo y facilita la depuración de errores.

En resumen, Flutter utiliza una combinación de capas, desde la capa de widgets hasta la capa de acceso a las plataformas, para crear y renderizar interfaces de usuario, manejar eventos, administrar la lógica de la aplicación y acceder a las funciones nativas de las plataformas móviles. Todo esto se hace utilizando el lenguaje de programación Dart y el motor de renderizado Skia para lograr un rendimiento rápido y una apariencia atractiva en múltiples plataformas.