En este sitio web utilizamos cookies para mejorar tu experiencia de navegación y entender mejor tua preferencias. Eso nos ayuda a entenderte mejor y a centrarnos en aquellos tópicos que son de tu interés. Por favor, acepta nuestro uso de cookies.
Los procesos de construcción de soluciones de software pasan habitualmente por la creación de arquitecturas sólidas. Este tipo de diseños son aquellas que cumplen con los principios fundacionales del paradigma de la orientación a objetos, de sus siglas en inglés SOLID. Sin embargo, en ocasiones resulta conveniente aplicar otro tipo de estrategia para la creación de software. Esto es especialmente cierto en aquellos casos en los que se pretenda dar con soluciones que resulten flexibles y plásticamente adaptables a distintos contextos de uso. El uso de determinadas técnicas y modelos de diseño arquitectónico tal es como el uso de traits, mixins, roles, aspectos o subjects, propios del paradigma de la orientación a componentes, es de aplicaciónen estos casos. Muchos lenguajes, de hecho, invitan a llevar a cabo un proceso de ideación de soluciones basado en estas técnicas dando lugar a soluciones más flexibles y dinámicamente cambiantes a tenor de las condiciones ambientales. A lo largo de esta charla se hace un recorridoexhaustivo de este paradigma arquitectónico revisando los principios, técnicas y modelos sobrela base del stack tecnológico de la plataforma web.
Frecuentemente, cuando desarrollamos productos digitales basados en componentes web, de manera consciente o inconsciente, aplicamos los principios del paradigma de orientación objetos, aquellos referidos habitualmente a través de sus siglas en ingles SOLID. Este hecho conduce a solucionesbien formadas, sólidas y robustas. Sin embargo, con frecuencia este tipo de problemas requiere de aproximaciones divergentes que aplican técnicas y modelos arquitectónicos de metaprogramación más propios del paradigma clásico de la orientación a componentes. Se trata, en este sentido, de idear soluciones con una capacidad de adaptación plástica y dinámica al contexto arquitectónico de uso particular que sean capaces de elevar las cotas de reutilización potencial de los activos construidos.De acuerdo a estas ideas, el foco no está tanto en la construcción de los componentes idóneos para resolver problemas particulares sino de ser capaces de crear estrategias de transformación adaptativa que provoquen cambios puntuales irreversibles sobre la estructura y comportamiento de los componentes y de encapsular esas estrategias en activos arquitectónicos de primer nivel para contribuir de maneraformal y sistemática sobre el cuerpo de cualquier componente.
La orientación a componentes web se ha convertido en un revulsivo en los últimos años para construir soluciones digitales de última generación. El hecho de hacer uso de componentes como piezas de interacción visual encapsuladas y reutilizables ofrece grandes ventajas a los procesos de construcción compositiva y arroja un escenario de mayor simplicidad a la hora de idear soluciones de escalabilidadcreciente en complejidad. Dentro de la comunidad se ha hablado mucho acerca de cómo se pueden construireste tipo de activos tecnológicos y de cómo puede llevarse a cabo un proceso de construcción sistemática dirigido a la creación de un catálogo de componentes bien formados para dar respuesta efectiva a cada una de las necesidades del desarrollo de soluciones web. Sin embargo, se ha prestado menos importancia a la manera en la que dichos componentes pueden recibir una inyección conveniente de las fuentes de datos a la que de manera necesaria deben estar conectados para poder crear solucionesde frontend cohesivas y funcionales. A lo largo de esta charla centramos nuestra atención, precisamente,en la descripción de distintos patrones arquitectónicos de componentes web dirigidos a dar soporte a las necesidades de configuración e inyección de fuentes de datos.
La llegada de las tecnologías de componentes web ha cambiado radicalmente la manera en la que se diseñan y construyen soluciones de frontend. Ya sea porque se apliquen estrategias de modularidad basada en el uso masivo de componentes o por que se elaboren nutridos catálogos de componentes que responden a las necesidades recurrentes de interacción visual propias de la plataforma web, lo ciertoes que hoy por hoy todo esfuerzo de desarrollo en el lado frontal de las aplicaciones se basa eneste tipo de activos arquitectónicos. Sin embargo, no debemos olvidar, que este tipo de componentesson activos de naturaleza declarativa que se despliegan sobre la geografía de documentos Web. Su naturaleza autónoma y encapsulada ofrece importantes ventajas para el desarrollo. Sin embargo, unasolución visual bien formada requiere de grados apropiados de cohesión entre los componentes que forman parte de la interfaz. Precisamente por este motivo es importante identificar aquellos patrones de composición que dentro del plano declarativo puedan ser utilizados para enlazar colectivamente los componentes en uso.