Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Librerías Utilizadas en El Proyecto
Librerías Utilizadas en El Proyecto
Índice
Introducción............................................................................................................................3
¿Qué es Flutter favorite?.........................................................................................................3
1. font_awesome_flutter (Flutter favorite)........................................................................4
2. carousel_slider.................................................................................................................4
3. url_launcher (Flutter favorite).........................................................................................4
4. dropdown_button2...........................................................................................................5
5. calendar_date_picker2.....................................................................................................5
6. flutter_bloc (Flutter favorite)...........................................................................................5
7. Sqflite (Flutter favorite)...................................................................................................6
8. Dio...................................................................................................................................6
Introducción
Uso: Se utiliza para para obtener el icono de WhatsApp en AppBar, así evitamos utilizar
una imagen de los Assets.
Justificación: Conforme se vayan agregando más funcionalidades y vistas a la APP, tener
una librería como Font_awesome_flutter facilitara el uso de iconos, ya que los que vienen
por defecto con flutter (material icons y cupertino icons) muchas veces se quedan cortos, en
especial cuando se trata de iconos de marcas super reconocidas, como, por ejemplo:
WhatsApp, Google, Apple etc.
2. carousel_slider
Uso: Se utiliza para los dropdown buttons (también conocidos como comboboxs).
Justificación: Aunque el dropdown_button2 de flutter es muy competente, el
dropdown_button2 ofrece una mayor customización y funcionalidades extras que podrían
ser muy beneficiosas en el futuro cercano, un ejemplo en concreto seria que tengamos una
lista muy grande de elementos para mostrar, con el dropdown_button2 podríamos agregar
un cuadro de búsqueda fácilmente con unas pocas líneas de código, pudiendo así buscar
rápidamente el elemento que necesitamos.
5. calendar_date_picker2
Uso: Se utiliza para mostrar los Widgets de calendarios, ya sea como cualquier otro Widget
o como ventana flotante.
Justificación: Facilita en gran manera la customización del calendario y es bastante ligera.
Uso: Sera el gestor de estados de la aplicación, para ser especifico el flutter bloc con cuibit.
Justificación: Bloc ha demostrado ser un gestor estable, escalable y competente para
grandes proyectos. Se utilizará con Cubit ya que es más sencillo en general, además
considero que es más ordenado.
7. Sqflite (Flutter favorite)
Uso: Sera el gestor de base de datos de la APP, se guardarán datos pertinentes para reducir
en gran manera el numero de llamados al API, entre otros datos de configuración de la
aplicación.
Justificación: Además de ser un requisito primario de la APP, es con diferencia la mejor
base de datos relacional para flutter hasta el momento, aunque existen otras opciones de
base de datos relacionales, al final todas se basan en Sqflite. Usar una base de datos no
relacional no seria conveniente debido a la naturaleza de la aplicación, en donde muchas
veces existe una relación entre datos, y aunque si se podría hacer un ‘inner join’ a nivel de
código, afectaría el rendimiento de la app a largo plazo y complejizaría en gran manera el
código, por lo tanto, Sqflite es la mejor opción.
8. Dio
Uso: Se utilizará para hacer los Http request o llamados del API.
Justificación: Dio ofrece muchas funcionalidades extras bastantes poderosas, como:
Múltiples request de manera concurrente.
Descarga de archivos más fácil.
Request en Stream.
Subida de archivos y escucha del progreso de la subida.