Flutter Estructura

De MediaWiki
Ir a la navegación Ir a la búsqueda

Creación de un proyecto Flutter




  • En Flutter disponemos la opción de crear test´s de prueba sobre aplicaciones creadas para ver si funcionan correctamente.
Más información en: https://flutter.dev/docs/cookbook/testing/unit/introduction
Como en estas secciones no vamos a realizar ninguna prueba, podemos borrar el directorio donde se crear los ficheros de prueba:
Flutter dart widget 4.JPG




Estructura de un proyecto Flutter

  • A continuación indico a nivel general para que se usa cada una de las carpetas que aparecen por defecto al crear un nuevo proyecto Flutter.
A medida que avancemos en el curso, os daréis cuenta cual es la función concreta de cada una de ellas.
También existen directorios que no aparecen por defecto pero que serán necesarios crearlos para hacer nuestras aplicaciones (también serán vistos en secciones posteriores).
Flutter dart proyecto 1.JPG
  • Carpetas:
  • idea: Usado para que Android Studio guarde su configuración para el proyecto en curso. Podéis comprobar como dicho directorio no es tenido en cuenta si se sube a un repositorio git abriendo el archivo .gitignore.
  • android: En esta carpeta se genera todo lo necesario para crear una aplicación Android a partir del proyecto Flutter en lenguaje Java / Kotlin. Cuando se instala la aplicación en el emulador, lo que hace Android Studio es generar el código necesario en formato 'nativo' de Android dentro de esta carpeta. Normalmente no será necesario acuadir a modificar nada en esta carpeta.
  • ios: En esta carpeta se genera todo lo necesario para crear una aplicación IOS a partir del proyecto Flutter. Normalmente no será necesario acuadir a modificar nada en esta carpeta.
  • build: Carpeta donde se genera el código al compilar una aplicación Flutter. Es donde se guarda la aplicación android apk generada. No es necesario modificar nada en esta carpeta.
  • lib: Donde se encuentran normalmente los archivos que conforman el código fuente de la aplicación Flutter. Se puede estructura como si fuera un sistema de archivos y permite crear directorios y subdirectorios.
  • test: Carpeta donde se guardan los archivos para realizar pruebas sobre la aplicación de Flutter.
  • Archivos:
  • .metadata: Administrado por Flutter automáticamente y se usa para controlar las propiedades del proyecto Flutter, actualizaciones... Este archivo solo lo cambia Flutter y no debe ser modificado manualmente.
  • .gitignore: Indica todos los archivos y directorios que deben ser ignarados en caso de subir a un repositorio git nuestro proyecto.
  • .packages: Metadatos del proyecto Flutter. Contiene la lista de dependencias del proyecto. Es generado automáticamente por el SDK de Flutter y no debe ser modificado.
  • .pubspec.lock: Indica cómo se construye el archivo pubspec.yaml. No debe editarse.
  • .pubspec.yaml: Archivo que permite:
  • Establecer la configuración general del proyecto como nombre, descripción y versión del proyecto
  • Indicar las dependencias del proyecto (cuando hacemos uso de una nueva funcionalidad, por ejemplo)
  • Indicar archivos de recursos, como imágenes, audios,...
Tiene en cuenta la tabulación.
Cuando se produce un cambia es necesario ejecutar el comando flutter pub get (o flutter packages get) (en casi todos los IDE´s aparecerá un mensaje indicándolo y ya lo ejecutará el propio IDE). Normalmente, para que se apliquen los cambios realizados en este archivo, necesitamos hacer un full restart, parando la aplicación y volviéndola a ejecutar para que la reinstale.
  • nombreproyecto.iml: Este archivo siempre se nombra de acuerdo con el nombre del proyecto y contiene más configuraciones del proyecto Flutter. No debe modificarse.
  • README.md: Archivo en la que aparece la descripción del proyecto. Es el archivo que aparece en un alojamiento github en Internet.



Trasladar un proyecto

  • Como los proyectos ocupan bastante y están formados por muchos archivos:
  • Mejor comprimir el proyecto y copiar el archivo comprimido.
  • Podemos copiar solamente los archivos que necesitamos (carpeta /assets, carpeta /lib, el archivo pubspec.yaml y cualquier otro archivo modificado que no está en /lib), llevarlos a un proyecto vacío y realizar los pasos anteriores.






Enlace a la página principal de la UD3

Enlace a la página principal del curso




-- Ángel D. Fernández González -- (2021).