Está en la página 1de 6

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

En este documento se listará y justificará el uso de cada librería utilizada en el proyecto


hasta el momento. Estas librerías pueden cambiar con el tiempo en función de los requisitos
y como se vaya desarrollando la APP, no obstante, no deberían ocurrir cambios en las
librerías más importantes que afecten el núcleo de la aplicación, como por ejemplo la
librería para la base de datos loca, sqflite. Cada cambio deberá ser debidamente
comunicado y aprobado por el responsable correspondiente.

¿Qué es Flutter favorite?

Flutter favorite es un programa en donde se identifican las mejores librerías, paquetes y


plugin que se deberían considerar de primero a la hora de crear una APP con flutter
(igualmente esto no es una garantía y todas las librerías a utilizar se deben probar
previamente); existe un comité conformado por expertos que deciden si entran o no a flutter
favorite. Para poder entrar a flutter favorite se deben cumplir ciertas métricas necesarias
para comprobar su calidad.
1. font_awesome_flutter (Flutter favorite)

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 mostrar el carrusel de imágenes, ahorra bastante código.


Justificación: Ahorra bastante código, además es una librería muy ligera y multi
plataforma.

3. url_launcher (Flutter favorite)

Uso: Se utiliza para abrir cualquier tipo de links.


Justificación: Tiene muchas ventajas si utiliza correctamente, por ejemplo, si revisamos la
documentación de WhatsApp podemos ver que se puede abrir la aplicación desde cualquier
dispositivo y con un mensaje predeterminado simplemente siguiendo cualquiera de los dos
tipos de estructura de URL que nos presentan; así mismo podemos hacer replicar esto con
diferentes APP si fuera necesario.
4. dropdown_button2

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.

6. flutter_bloc (Flutter favorite)

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.

También podría gustarte