Subdirección de las Tecnologías de la Información y Comunicaciones

Área de Gobernanza y Calidad

Versión


Normativa front sección Theming Vigente

Versión: 1.0.0
EstadoACTIVO
Entrada en vigor desde:  
Obligado cumplimiento desde:  Sept-2023



Normativa front sección Theming PRE-RELEASE

Versión: 1.0.0
Estado: RELEASE
Entrada en vigor desde:  
Obligado cumplimiento desde: -


Tabla de Contenido


Cumplimiento Normativo


Las normas expuestas son de obligado cumplimiento. La STIC podrá estudiar los casos excepcionales los cuales serán gestionados a través de los responsables del proyecto correspondiente y autorizados por el Área de Gobernanza de la STIC. Asimismo cualquier aspecto no recogido en estas normas deberá regirse en primera instancia por las guías técnicas correspondientes al esquema nacional de seguridad y esquema nacional de interoperabilidad según correspondencia y en su defecto a los marcos normativos y de desarrollo software establecidos por la Junta de Andalucía, debiendo ser puesto de manifiesto ante la STIC.

La STIC se reserva el derecho a la modificación de la norma sin previo aviso, tras lo cual, notificará del cambio a los actores implicados para su adopción inmediata según la planificación de cada proyecto.

En el caso de que algún actor considere conveniente y/o necesario el incumplimiento de alguna de las normas y/o recomendaciones, deberá aportar previamente la correspondiente justificación fehaciente documentada de la solución alternativa propuesta, así como toda aquella documentación que le sea requerida por la STIC para proceder a su validación técnica.

Contacto Arquitectura: l-arquitectura.stic@juntadeandalucia.es

Histórico de cambios


Los cambios en la normativa vendrán acompañados de un registro de las modificaciones. De este modo se podrá realizar un seguimiento y consultar su evolución. Ordenándose de mas recientes a menos recientes, prestando especial cuidado a las cabeceras de la tablas dónde se indican las fechas de entrada en vigor y versión.

VersiónPre-release AdopciónActivaRetiroAlcance
v01r00

 




  • Versión inicial del documento

1. Definición

Las necesidades de homogeneización y reducción de la curva de aprendizaje en las diferentes soluciones software, basadas en interacciones hombre máquina, y el volumen y dispersión de las mismas, en el ámbito del Servicio Andaluz de Salud, hacen que la aplicación de un sistema de diseño nos proporcione ventajas que afectan a la UX y la productividad de los usuarios finales.

Desde el punto de vista de los costes de la implementación de soluciones software, la aplicación de sistemas de diseño mejora el aprovechamiento de los equipos de desarrollo, dotándolos de patrones de diseño e interacción con el usuario y de herramientas adicionales preconfiguradas para su aprovechamiento en cortos lapsos de tiempo.

El sistema de diseño proporcionará un interfaz de usuario basado en los siguientes principios:

  • Simulación de superficies: Se adopta el enfoque de la reinvención del planteamiento del papel y tinta, dónde se aplicará profundidad a los diferentes elementos de la interfaz de usuario en base a sombreados coherentes y la aplicación de tipografías concretas, homogéneas y bien equilibradas.
  • Grafismos, pesos e relevancia: Se adoptan métodos de impresión y maquetado ampliamente utilizados en la industria, estas normativas definirán aspectos para un uso consistente de tipografías, grids, espaciados, escalados, colores e imágenes con el objetivo principal de crear jerarquías significativas y enfocar la atención en la información relevante, consiguiendo una experiencia de usuario inmersiva en la visualización del dato. Para ello, se proporcionarán no sólo documentos que pauten el desarrollo, sino también recursos concretos para su implementación así como artefactos más complejos que le permitirán avanzar más rápidamente en sus desarrollos.

1.1 Objetivos

  1. Definir las pautas que se ha de seguir en el desarrollo de una SSUI para maximizar su reutilización y hacerlo homogéneo entre aplicaciones.
  2. Articular mecanismos de comprobación estándares para la validación de la aplicación de las reglas y su correcta integración en el sistema de diseño.

1.2 Especificaciones

Se define Software Solution for User Interaction como SSUI , este conceptualmente puede ser desde un Web Component hasta una SPA , pasando por un Micro Frontend.
El sistema de diseño tiene un impacto transversal, compuesto por:

  • Theming:

    • Es el mecanismo encargado de dotar a la SSUI de capacidades de reutilización y encaje automático en otras SSUI
  • División orgánica de la solución para la interfaz de usuario.
    • Se detallarán patrones de diseño orientados a reducir el acoplamiento y mejorar la cohesión, mejorando notablemente la mantenibilidad y escalado de su SSUI .
  • División arquitectónica de la solución para la interfaz de usuario.
    • Se definen componentes transversales como el routing, fetching, eventbus y otros mecanismos que permite a su SSUI escalar y completar su UX en base a otros SSUI .

1.3 Theming

La provisión de mecanismos estandarizados que aseguren la reutilización y la aplicación de aspectos importantes en la interfaz de usuario, que afectan directamente a la percepción y recepción de la información por parte del usuario final.
Para articular el theming, se ha de entender que dicho theming es posible definirlo en este sistema de diseño según las necesidades, proporcionando los siguientes ámbitos dónde puede ubicarse la su SSUI , y heredando de dicho ámbito los valores de theming que serán aplicables:

  • Ámbito STIC (Ámbito corporativo): Ubica su SSUI en un ámbito corporativo concreto. Al adoptar los mecanismo de theming en su aplicación se garantiza la reutilización de los aspectos estéticos de las SSUI .
  • Ámbito de Negocio: Delimita su SSUI en un ámbito funcional concreto, no sólo marcado por las necesidades de su negocio, sino también por la especialización en un determinado segmento de negocio de los agentes que harán la interacción con la SSUI .
  • Ámbito de Aplicación (Ámbito Funcional): Delimita su SSUI en el ámbito de una aplicación.
  • Ámbito de Componente (Ámbito del SSUI ): Es el ámbito que define su SSUI , cualquier elemento dentro de ella forma parte del SSUI en cuestión.

 

La articulación del theming en el sistema de diseño se encuentra basada en la definición y posterior aplicación de variables estandarizadas. Estas variables se deberán aplicar en el ámbito del componente de su SSUI y se definirán en un paquete de theming que contendrá los valores definidos para los demás ámbitos, desde el de componente hasta el más exterior (Ámbito STIC).

Se aborda el mecanismo de theming dentro del sistema de diseño desde dominios segmentados en las siguientes secciones.

1.4 Variables Custom CSS globales

De manera global y en paralelos a todas las secciones del theming se han creado una Variables Custom CSS para poder trabajar en los temas que se tratan a continuación:


  • Colores

Se definen las siguiente Variables Custom CSS para poder trabajar con ellas en el ámbito de generación de colores cuando se tenga que hacer referencia a la luminosidad:

VariableValor
-theme-hsl-color-luminance-00%
--theme-hsl-color-luminance-505%
--theme-hsl-color-luminance-10010%
--theme-hsl-color-luminance-20020%
--theme-hsl-color-luminance-30030%
--theme-hsl-color-luminance-40040%
--theme-hsl-color-luminance-50050%
--theme-hsl-color-luminance-60060%
--theme-hsl-color-luminance-70070%
--theme-hsl-color-luminance-80080%
--theme-hsl-color-luminance-90090%
--theme-hsl-color-luminance-1000100%
  • Tipografías

Se definen las siguiente Variables Custom CSS para poder trabajar con ellas en el ámbito de generación de propiedades dentro de las tipografías, cuando se tenga que hacer referencia al peso de la fuente:

VariableValor
--theme-typo-weight-thin100
--theme-typo-weight-light300
--theme-typo-weight-regular400
--theme-typo-weight-medium500
--theme-typo-weight-semibold600
--theme-typo-weight-bold700
--theme-typo-weight-extrabold800
--theme-typo-weight-black900
  • Estados

Se definen las siguiente Variables Custom CSS para poder trabajar con ellas en el ámbito de generación de elevaciones trabajando con los estados, cuando se tenga que hacer referencia a DPs:

VariableValor
--dp-00px 0px 0px 0px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.14), 0px 0px 0px 0px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.12), 0px 0px 0px 0px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.2)
--dp-10px 1px 1px 0px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.14), 0px 2px 1px -1px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.12),0px 1px 3px 0px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.2)
--dp-20px 2px 2px 0px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.14), 0px 3px 1px -2px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.12), 0px 1px 5px 0px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.2)
--dp-40px 4px 5px 0px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.14), 0px 1px 10px 0px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.12), 0px 2px 4px -1px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.2)
--dp-60px 6px 10px 0px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.14), 0px 1px 18px 0px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.12), 0px 3px 5px -1px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.2)
--dp-80px 8px 10px 1px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.14), 0px 3px 14px 2px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.12), 0px 5px 5px -3px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.2)
--dp-100px 10px 14px 1px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.14), 0px 4px 18px 3px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.12), 0px 6px 6px -3px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.2)
--dp-120px 12px 17px 2px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.14), 0px 5px 22px 4px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.12), 0px 7px 8px -4px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.2)
--dp-160px 16px 24px 2px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.14), 0px 6px 30px 5px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.12), 0px 8px 10px -5px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.2)
--dp-200px 20px 31px 3px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.14), 0px 8px 38px 7px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.12), 0px 10px 13px -6px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.2)
--dp-240px 24px 38px 3px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.14), 0px 9px 46px 8px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.12), 0px 11px 15px -7px hsla(0, 0%, var(--theme-hsl-color-luminance-0), 0.2)
  • Z-index

Se definen las siguiente Variables Custom CSS para poder trabajar con ellas en el ámbito la elevacion de las capas dentro de los componentes:

VariableValor
--z-layer01000
--z-layer11010
--z-layer21020
--z-layer31030
--z-layer41040
--z-layer51050
--z-layer61060
--z-layer71070
--z-layer81080
--z-layer91090
--z-super9999
--z-max2147483647
--z-auto'auto'

1.5 Acrónimos

  • SSUI: Software Solution for the User Interaction
  • SPA: Single Page Application
  • UX: User Experience


  • Sin etiquetas