ADR. Styled Components
Diseño y creación de componentes para el lado cliente de la aplicación, que se puedan integrar con el framework ReactJS.
Aceptado
La interfaz de usuario (UI) está modularizada en componentes (reutilizables), funcionalidad que ya permite ReactJS. Al analizar los aspectos relativos al diseño de la interfaz, se proponen diferentes alternativas. El objetivo es crear componentes 100% usables y accesibles, respetando el contraste de colores, así como colores críticos para determinadas enfermedades de la vista (En inglés, color blinding accesibility). El contraste mínimo que se espera de todos los colores que conforman la paleta a utilizar en la aplicación es de WCAG 2.0 level AA. Además, los componentes han de tener un estilo moderno y minimalista.
A la hora de crear componentes en React se comtemplan actualmente diversas opciones.
-
Componentes puros de React. Creación de componentes de React personalizados con sus propios estilos cada uno, de forma independiente. Posibilidad de crear un tema para la aplicación de forma que a futuro el usuario pueda configurarlo (Por ejemplo, modo claro u oscuro, aunque para esta aplicación no se contempla por el momento).
-
Styled components. Componentes "prefabricados" de terceros, altamente probados y validados por la comunidad y con un gran número de usuarios integrándolos en sus aplicaciones. Por un lado, facilitan enormente el trabajo al desarrollador, evitando crear diseños (quizás) no tan estandarizados. Sin embargo, al ser una biblioteca de terceros, se depende del mantenimiento de dicha librería y la licencia de uso de ésta. La librería que consideramos más destacada es
Material Design
, basada en Material UI (Perteneciente a Google) y usada por grandes empresas como Spotify, Netflix o la NASA. -
Combinación de componentes personalizados y styled components. Una opción bastante buena ya que ofrece la posibilidad de personalizar aquellos aspectos y detalles de la interfaz que puedan ser críticos y, por otro lado, el uso de styled components para elementos más genéricos como botones, badgets, cards, avatars... Consideramos esta opción como la mejor de todas, ya que permitirá un mayor rendimiento de acorde al tiempo establecido.
En el apartado anterior, se han descrito ventajas e inconvenientes de cada una de las opciones planteadas. La elección de combinar componentes personalizados con styled components permite a los desarrolladores un ahorro de tiempo, al emplear componentes ya estandarizados, para centrarse más en la funcionalidad y pruebas de éstos, así como componentes personalizados, creados por los propios desarrolladores, para las funciones más críticas de la aplicación, que requiran un nivel de complejidad superior.
Inicio · Documentación | Lomap_es5a
- Acta 01 - Introducción · 02_02_2023
- Acta 02 - Documentación · 09_02_2023
- Acta 05 - React, Solid y Documentación · 16_02_2023
- Acta 08 - Primera entrega de la documentación · 23_02_2023
- Acta 09 - Comienzo de desarrollo de la aplicación · 02_03_2023
- Acta 10 - Distribución y despliegue · 09_03_2023
- Acta 12 - Revisión del segundo prototipo · 16_03_2023
- Acta 13 - Integración y Test · 23_03_2023
- Acta 14 - Tests unitarios · 30_03_2023
- Acta 15 - Revisión del tercer prototipo · 13_04_2023
- Acta 16 - Tests de carga · 20_04_2023
- Acta 17 - Monitoring-Profiling · 27_04_2023
- Acta 03 - Inicio de la Documentación · 09_02_2023
- Acta 04 - Discusión de tecnologías · 12_02_2023
- Acta 06 - Decisiones de arquitectura (Cliente, servidor y despliegue) · 17_02_2023
- Acta 07 - Discusión de la base de datos y del IDE · 19_02_2023
- Acta 11 - Unión Backend y Frontend · 13_03_2023
- Acta 18 - Reunión final · 02_05_2023
- ADR 00 - Lenguaje
- ADR 01 - Framework para Front-End
- ADR 02 - Framework para Back-End
- ADR 03 - Arquitectura Cliente (RECHAZADO)
- ADR 04 - Arquitectura Servidor (RECHAZADO)
- ADR 05 - Integración Mapas
- ADR 06 - Despliegue proyecto (RECHAZADO)
- ADR 07 - Styled Components
- ADR 08 - Base de Datos (RECHAZADO)
- ADR 09 - IDE
- ADR 10 - Tests e2e
- ADR 11 - Tests unitarios
- ADR 12 - Cambio base de datos a MongoDB
- ADR 13 - AC · Usabilidad
- ADR 14 - AC · Privacidad
- ADR 15 - AC · Seguridad
- ADR 16 - Arquitectura Cliente v2 (RECHAZADO)
- ADR 17 - Gestión Estados React
- ADR 18 - Arquitectura Cliente v3
- ADR 19 - Base de datos para imagenes
- ADR 20 - Despliegue de la aplicación
- ADR 21 - Gestión de los amigos
- ADR 22 - Gestión de los puntos compartidos
- ADR 23 - AC · Testabilidad
- ADR 24 - Testeo de carga
- ADR 25 - Gestión de los puntos guardados