Temas y diseños adaptables
Una gran aplicación se ve bien en cualquier pantalla y respeta tu identidad de marca. Este curso te muestra cómo diseñar temas adaptables y diseños aptos para móviles en Wisej.NET con el Theme Builder, sin acrobacias de CSS. Crearás y personalizarás temas, construirás diseños que se adaptan limpiamente del escritorio al teléfono y aplicarás un estilo coherente en toda una aplicación.
Diseña temas adaptables y diseños aptos para móviles con el Theme Builder.
- Nivel: Beginner
- Duración: 9 h
- Módulos: 7
Temario
Módulo 1: El sistema visual de Wisej.NET
Módulo 1 del curso Temas y diseños adaptables: diseña temas adaptables y diseños aptos para móviles con el Theme Builder. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado «De dónde vienen realmente el aspecto y el diseño de un control», supera la evaluación de conocimientos y completa el laboratorio práctico en Adaptive Operations Console.
- LecturaGuía de la lección · 14 min
Cómo los controles del lado del servidor, los widgets del lado del cliente, las appearances del tema, los estados, las clases CSS y los motores de diseño producen juntos lo que ve el usuario, cuál de las tres capas de personalización es responsable de cada decisión, y el shell de Adaptive Operations Console que crece a lo largo del curso. Qué significa esto para un desarrollador de Wisej.NET y cómo leer este módulo.
- LecturaGuía del laboratorio / examen · 10 min
Lo que construirás en el laboratorio práctico, el enfoque sugerido y los entregables requeridos.
- Lección en vídeoDe dónde vienen realmente el aspecto y el diseño de un control · 14 min
De dónde vienen realmente el aspecto y el diseño de un control: un recorrido guiado del Módulo 1, construido paso a paso en Adaptive Operations Console. Se reproduce aquí mismo, en el reproductor.
Transcripción de la narración
Cree la consola de operaciones adaptable separando la apariencia del diseño. En el sistema visual Wisej.NET, saber qué capa posee una decisión le ayuda a cambiar la aplicación de manera consistente en lugar de arreglar los controles individuales uno por uno.
Siga la clave de apariencia desde un control de servidor hasta el tema y luego hasta el widget del navegador. La clave selecciona la definición visual, por lo que un cambio de tema puede afectar todos los controles que usan esa apariencia.
Un tema describe colores, fuentes, imágenes, apariencias, estados, estilos y propiedades en un archivo estructurado. Los tokens de fuente y color con nombre conectan esas definiciones, lo que hace que una elección visual sea reutilizable en controles, métricas de widgets y vistas previas del diseñador.
Distinga las decisiones de temas, las propiedades de control del servidor y el estilo directo del navegador. Utilice el tema para una apariencia compartida, propiedades de control para el comportamiento y diseño relevantes y hojas de estilo en cascada con alcance solo cuando se justifique una regla específica del navegador.
Un fondo de botón fijo describe solo un valor visual, lo que deja sin resolver el comportamiento de desplazamiento y pulsación. Elija una clave de apariencia para esos estados, una clase para la tarjeta métrica, un estilo en línea para un valor calculado y acoplamiento para ubicación.
Coloque la barra de herramientas arriba, el estado abajo, la navegación a la izquierda, los detalles a la derecha y el espacio de trabajo en el área restante. Asigne al espacio de trabajo un tamaño mínimo y utilice el evento de cambio de tamaño de la página de llenado de la ventana gráfica para informar el ancho del navegador para su inspección.
Haga un inventario de las decisiones visuales antes de editar un tema. Registre los controles, diez fichas de color, tres fichas de fuente, cinco regiones y seis puntos de interrupción, asignando a cada elemento un propietario para que los cambios posteriores vayan a la capa adecuada.
Limite el navegador al ancho de la tableta y observe el indicador de ancho y las regiones acopladas. El panel de detalles se ha ampliado, exponiendo el límite de este shell de escritorio: el acoplamiento por sí solo aún no ha definido cómo se adapta el flujo de trabajo.
Para la primera práctica de laboratorio, entregue el shell de cinco regiones, el tema base grabado, el inventario visual y el estado del ancho del navegador. Esto establece una línea de base visible cuyas limitaciones actuales se pueden comparar con las mejoras de respuesta en módulos posteriores.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo AdaptiveOps de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 1 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — Shell de la consola e inventario visual · 45 min
Objetivo: Crea la solución Adaptive Operations Console y su primer shell de escritorio: una Page principal con un panel de barra de herramientas arriba, un panel de navegación a la izquierda, un área de trabajo de relleno, un panel de detalles a la derecha y un panel de estado abajo, construidos con Dock y Panels anidados. Elige un tema base integrado y documenta la elección, escribe un VisualInventory.md que enumere los controles que necesitan appearances personalizadas, los tokens con nombre de color y fuente, las regiones del diseño y los puntos de corte de escritorio, tableta y teléfono, y añade una etiqueta de estado que muestre el ancho actual del navegador para que los módulos siguientes puedan verificar los perfiles. Entregables: Solución Adaptive Operations Console con un shell de escritorio acoplado formado por los paneles de barra de herramientas, navegación, área de trabajo, detalles y estado; Tema base elegido y configurado, con el motivo anotado en las notas del laboratorio; VisualInventory.md con los controles que necesitan appearances, los tokens del tema, las regiones del diseño y los puntos de corte; Etiqueta de estado que muestra el ancho actual del navegador; Captura de pantalla de escritorio y una nota que explique qué capa es responsable de cada decisión visual.
Módulo 2: Theme Builder y estructura interna del JSON de tema
Módulo 2 del curso Temas y diseños adaptables: diseña temas adaptables y diseños aptos para móviles con el Theme Builder. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado del Theme Builder, supera la evaluación de conocimientos y completa el laboratorio práctico en Adaptive Operations Console.
- LecturaGuía de la lección · 14 min
Crear un tema a partir de un tema base en el Theme Builder, la estructura JSON de colores, fuentes, imágenes, appearances, estados, estilos, propiedades y componentes, la herencia de appearances y el orden de los estados, y los tokens con nombre de color y fuente como recursos de diseño. Qué significa esto para un desarrollador de Wisej.NET y cómo leer este módulo.
- LecturaGuía del laboratorio / examen · 10 min
Lo que construirás en el laboratorio práctico, el enfoque sugerido y los entregables requeridos.
- Lección en vídeoConstruye el tema AdaptiveOps en el Theme Builder · 14 min
Construye el tema AdaptiveOps en el Theme Builder: un recorrido guiado del Módulo 2, construido paso a paso en Adaptive Operations Console. Se reproduce aquí mismo, en el reproductor.
Transcripción de la narración
Cree AdaptiveOps a partir de un tema base existente para que la consola herede una base visual completa. Theme Builder le permite expresar la identidad de la aplicación de forma centralizada en lugar de reconstruir su apariencia mediante asignaciones dispersas de propiedades de control.
La repetición de un color de marca en muchas anulaciones locales hace que cada ajuste sea más difícil de coordinar y aún así se omiten estados de interacción. Un tema central le da al color y su comportamiento de estado una definición mantenida en lugar de vincularlos a la estructura interna del navegador.
Inspeccione colores, imágenes, fuentes y apariencias como secciones temáticas independientes. Dentro de una apariencia, los estados y componentes definen estilos y propiedades de widgets; comprender esa estructura le indica a dónde pertenece un cambio y qué puede anular la aplicación.
Click la vista previa para descubrir la ruta de apariencia hasta Último clic antes de editarla. Utilice el árbol para ubicar la estructura y la cuadrícula de propiedades para cambiar los valores, luego verifique la vista previa en vivo para confirmar que el control deseado cambió.
Deje que el botón de acción herede el botón base y anule solo los tres estados previstos. El comportamiento centrado y discapacitado sigue siendo heredado; Inspeccione primero el orden de los estados con el valor predeterminado antes de cambiar un color que pueda provenir de un estado posterior.
Defina los diez colores con nombre y las tres fuentes una vez, luego haga referencia a esos nombres desde las apariencias. El azul principal y el ámbar acentuado se convierten en tokens compartidos, por lo que futuros cambios de marca no requieren encontrar valores hexadecimales repetidos en todo el tema.
Seleccione el tema de inicio en Default.json y use Application.Theme cuando cambie solo la sesión actual. Asigne el botón de acción al comando principal y elimine su fondo fijo; de lo contrario, la anulación local puede ocultar la apariencia deseada del tema.
Cambie la consola a AdaptiveOps e inspeccione más colores que los predeterminados. Pase el cursor y presione Guardar, verifique el editor no válido y lea el estado del tema para que la demostración verifique el comportamiento del estado y la selección exitosa del tema.
Cree el tema tokenizado y sus apariencias solicitadas, incluido el botón de acción, luego pruébelos tanto en la vista previa como en la consola. Ver que las mismas definiciones funcionan en esos dos contextos ayuda a detectar anulaciones o estados faltantes antes de la transferencia.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo AdaptiveOps de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 2 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — Tema AdaptiveOps · 45 min
Objetivo: Crea el tema AdaptiveOps a partir de un tema base integrado en el Theme Builder. Define una paleta de colores con nombre con brandPrimary, brandAccent, surface, surfaceAlt, textMain, textMuted, danger, warning, success y focusFrame, además de las fuentes default, heading y mono, y luego rediseña las appearances de botón, panel, pestaña, encabezado de cuadrícula, editor no válido y tooltip usando esos tokens. Añade una appearance action-button que herede de button y sobrescriba solo sus estados default, hovered y pressed, verifica cada cambio en la vista previa del Theme Builder y carga el tema en Adaptive Operations Console. Entregables: AdaptiveOps.theme creado a partir de un tema base y cargado por la aplicación; Tokens de color con nombre y tokens de fuente default, heading y mono definidos una vez y reutilizados; Appearances de botón, panel, pestaña, encabezado de cuadrícula, editor no válido y tooltip rediseñadas a partir de los tokens; Appearance action-button que hereda de button con los estados default, hovered y pressed sobrescritos; Capturas de la vista previa del Theme Builder y una nota sobre las decisiones de orden de estados y herencia.
Módulo 3: CSS, CssClass, CssStyle, estados y cambios de tema en tiempo de ejecución
Módulo 3 del curso Temas y diseños adaptables: diseña temas adaptables y diseños aptos para móviles con el Theme Builder. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado de CssClass, CssStyle y el tema por sesión, supera la evaluación de conocimientos y completa el laboratorio práctico en Adaptive Operations Console.
- LecturaGuía de la lección · 14 min
Añadir CSS específico de forma segura con CssClass y una hoja de estilos de la aplicación con ámbito, reservar CssStyle para valores dinámicos puntuales, usar AppearanceKey y estados personalizados para variantes semánticas, y cambiar de tema al arrancar o para una sola sesión en tiempo de ejecución. Qué significa esto para un desarrollador de Wisej.NET y cómo leer este módulo.
- LecturaGuía del laboratorio / examen · 10 min
Lo que construirás en el laboratorio práctico, el enfoque sugerido y los entregables requeridos.
- Lección en vídeoUn mismo cambio visual de tres formas: appearance, CssClass y CssStyle · 14 min
Un mismo cambio visual de tres formas: appearance, CssClass y CssStyle: un recorrido guiado del Módulo 3, construido paso a paso en Adaptive Operations Console. Se reproduce aquí mismo, en el reproductor.
Transcripción de la narración
Compare tres formas de diseñar la misma tarjeta métrica preguntando quién mantendrá el resultado. La apariencia de un tema, una clase con nombre y un estilo en línea pueden parecer idénticos hoy y al mismo tiempo crear responsabilidades muy diferentes para cambios futuros.
Utilice una apariencia para una variante visual reutilizable y una clase para una regla específica de la aplicación con capacidad de búsqueda. Las anulaciones en línea anónimas repetidas no tienen una definición compartida, por lo que cada panel copiado se convierte en otro lugar que puede cambiar cuando cambia el diseño.
Elija el propietario antes de escribir el estilo: tema para controles estándar, clave de apariencia para significado, clase para interfaz específica de la aplicación y estilo en línea para un valor calculado. Elimine las anulaciones conflictivas que impiden que el propietario elegido controle realmente el resultado.
El comando Asignar expresa su función con un botón de acción, mientras que el tema proporciona sus estados. Del mismo modo, un estado obsoleto describe la presentación; la aplicación aún debe poseer los datos comerciales subyacentes en lugar de inferirlos a partir de un color.
Reemplace cuatro estilos copiados con la clase de tarjeta métrica compartida. Mantenga el setenta y dos por ciento calculado de la barra de acuerdo de nivel de servicio como valor único en línea y utilice un estado obsoleto temático para presentar datos cuyo significado permanece en el modelo.
Distinga la configuración de inicio, el tema seleccionado de una sesión y la mutación de un objeto de tema compartido. La edición del objeto compartido cambia lo que ven otras sesiones, por lo que una elección personal del modo oscuro debe seleccionar un tema separado en lugar de alterar la definición compartida.
Cargue el tema oscuro nombrado, asígnelo a Application.Theme y recuerde la preferencia en la sesión actual. Manejar un archivo faltante explícitamente; la configuración de inicio permanece sin cambios porque esta elección pertenece a una sesión.
Inspeccione las tarjetas, las insignias, el comando principal y la fila obsoleta, luego compare dos sesiones una al lado de la otra. La selección oscura de Dana debería dejar intacto el tema claro de Priya, proporcionando evidencia directa de que el cambio es específico de la sesión.
Entregue la hoja de estilos con alcance, un estilo en línea calculado, apariencia de comando semántico, estado obsoleto y cambio de solo sesión. Explique el propietario de cada opción para que la revisión pueda verificar tanto la mantenibilidad como el aislamiento entre los usuarios.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo AdaptiveOps de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 3 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — CSS acotado y cambio de tema por sesión · 45 min
Objetivo: Añade a Adaptive Operations Console una hoja de estilos AdaptiveOps.css con ámbito, con clases para tarjetas de métricas y badges compactos, aplícalas mediante CssClass y usa CssStyle solo para un valor calculado, como el ancho de una barra de progreso. Asigna la AppearanceKey action-button al comando principal, añade un estado personalizado stale a las filas de la cuadrícula de tickets o a un panel de estado, e implementa en la barra de herramientas un cambio de tema claro/oscuro que modifique el tema solo para la sesión actual, sin alterar el tema compartido. Entregables: AdaptiveOps.css con ámbito y las clases metric-card y compact-badge aplicadas mediante CssClass; CssStyle usado exactamente para un valor calculado puntual, con el motivo documentado; Comando principal con la AppearanceKey action-button; Estado personalizado stale añadido mediante States y con estilo definido en el tema; Cambio de tema claro/oscuro solo para la sesión que deja intacto el tema compartido.
Módulo 4: Fundamentos del diseño: acoplamiento, anclaje, AutoSize, AutoScroll y composición del shell
Módulo 4 del curso Temas y diseños adaptables: diseña temas adaptables y diseños aptos para móviles con el Theme Builder. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado del shell anidado, supera la evaluación de conocimientos y completa el laboratorio práctico en Adaptive Operations Console.
- LecturaGuía de la lección · 14 min
El motor de diseño predeterminado, el orden de acoplamiento y el Padding, el anclaje para regiones de tipo formulario, AutoSize y AutoScroll usados con seguridad, y la composición del shell con contenedores anidados y UserControls en lugar de manejadores de redimensionado. Qué significa esto para un desarrollador de Wisej.NET y cómo leer este módulo.
- LecturaGuía del laboratorio / examen · 10 min
Lo que construirás en el laboratorio práctico, el enfoque sugerido y los entregables requeridos.
- Lección en vídeoDel código de redimensionado a un shell de contenedores anidados · 14 min
Del código de redimensionado a un shell de contenedores anidados: un recorrido guiado del Módulo 4, construido paso a paso en Adaptive Operations Console. Se reproduce aquí mismo, en el reproductor.
Transcripción de la narración
Reemplace los cálculos de cambio de tamaño y coordenadas de la consola con relaciones de contenedor. Cuando el diseño describe qué región pertenece a cada borde y cuál llena el resto, el cambio de tamaño ya no necesita un nuevo conjunto de posiciones manuales para cada ancho.
Las coordenadas del escritorio parecen correctas hasta que la ventana gráfica se estrecha. Los detalles anclados se superponen al espacio de trabajo fijo y a la vista Guardar hojas, lo que muestra que cada parche de coordenadas adicional trata un síntoma sin definir cómo las regiones deben compartir el espacio limitado.
Acople los elementos secundarios en el orden previsto para que las regiones de borde consuman espacio antes de que el espacio de trabajo llene lo que queda. El relleno reduce el rectángulo de visualización disponible; El margen no crea espacios de acoplamiento, por lo tanto, utilice la propiedad que realmente lee el motor de diseño.
Evite un bucle de tamaño en el que un padre de tamaño automático dependa de los niños acoplados a él. En su lugar, deje que el contenido de gran tamaño se desplace y utilice tamaños mínimos y máximos para expresar límites útiles sin obligar a toda la jerarquía a cambiar de tamaño alrededor de sí misma.
Cree las cinco regiones acopladas con ocho píxeles de relleno de página y tamaños mínimos para el espacio de trabajo y la cuadrícula. Una vez que el diseño del contenedor sea dueño del cambio de tamaño, elimine el controlador anterior para que dos mecanismos en competencia ya no asignen la misma geometría.
Encapsule el editor de detalles en un UserControl que posee desplazamiento y anclajes internos. Exponer el ticket y el evento guardado al shell; esto mantiene el diseño exterior independiente de los cuadros de texto individuales del editor.
Reduce el navegador y observa el comportamiento resultante: el riel se vuelve compacto, los detalles se desplazan y el espacio de trabajo respeta sus dimensiones mínimas. El punto es que las reglas del contenedor producen este resultado sin ejecutar el controlador de coordenadas de cambio de tamaño eliminado.
Debido a que la región de detalles es un UserControl autónomo, el shell puede reubicarlo sin reconstruir sus partes internas. Colóquelo debajo de la cuadrícula para una tableta o alójelo en forma modal para un teléfono, según lo requieran perfiles posteriores.
Ofrezca un contenedor anidado con orden de acoplamiento deliberado, relleno, límites de tamaño y un editor de detalles de desplazamiento. Extraiga los controles de navegación y detalles, y elimine las asignaciones de límites manuales para que los revisores puedan ver que el diseño tiene un propietario.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo AdaptiveOps de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 4 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — Shell de contenedores anidados · 45 min
Objetivo: Refactoriza el shell de Adaptive Operations Console en contenedores anidados: una barra de herramientas superior, un carril de navegación a la izquierda, un área de trabajo de relleno, un panel de detalles a la derecha y una región de estado, cada uno un Panel o UserControl con su propio diseño local. Elimina todos los manejadores Resize que asignan Bounds, corrige el orden de acoplamiento en el diseñador, usa Padding para los espacios entre regiones acopladas, asigna un MinimumSize al área de trabajo y a la cuadrícula, y haz que el editor de detalles se desplace con AutoScroll y barras de desplazamiento ocultas en anchos estrechos. Entregables: Shell reconstruido con contenedores anidados y regiones de barra de herramientas, navegación, área de trabajo, detalles y estado; Eliminado todo el código Resize manual que asignaba Bounds; Orden de acoplamiento, Padding y MinimumSize definidos de forma intencionada en cada región; Editor de detalles que se desplaza mediante AutoScroll con barras de desplazamiento ocultas en anchos estrechos; Regiones de navegación y detalles extraídas a UserControls.
Módulo 5: FlowLayoutPanel, TableLayoutPanel, FlexLayoutPanel y propiedades de diseño extendidas
Módulo 5 del curso Temas y diseños adaptables: diseña temas adaptables y diseños aptos para móviles con el Theme Builder. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado de los contenedores de diseño, supera la evaluación de conocimientos y completa el laboratorio práctico en Adaptive Operations Console.
- LecturaGuía de la lección · 14 min
Elegir contenedores flow, table o flex según el comportamiento del contenido, las propiedades extendidas de los hijos FillWeight, FlowBreak, AlignX, AlignY, Row, Column, spans y estilos, cuándo respetan los márgenes los motores de diseño, y las extensiones de marcado fluent para diseños creados por código. Qué significa esto para un desarrollador de Wisej.NET y cómo leer este módulo.
- LecturaGuía del laboratorio / examen · 10 min
Lo que construirás en el laboratorio práctico, el enfoque sugerido y los entregables requeridos.
- Lección en vídeoLa misma región en Flow, Table y Flex · 14 min
La misma región en Flow, Table y Flex: un recorrido guiado del Módulo 5, construido paso a paso en Adaptive Operations Console. Se reproduce aquí mismo, en el reproductor.
Transcripción de la narración
La capa exterior ahora se acopla correctamente, pero el contenido dentro de cada región aún necesita sus propias reglas de diseño. Compare Flow, Table y Flex según el comportamiento que requiere el contenido en lugar de elegir un contenedor para cada situación.
Las tarjetas y los campos aún desaparecen en el ancho de la tableta porque se colocan manualmente dentro de un shell responsivo. Decida si cada región debe envolver elementos, alinear campos o compartir espacio proporcionalmente antes de reemplazar esas coordenadas.
Mire las mismas cuatro tarjetas debajo de cada motor a medida que se estrecha la ventana gráfica. El flujo los envuelve, las columnas de la tabla fija se aprietan y la configuración flexible que se muestra recorta la última tarjeta; Esos resultados explican por qué las tarjetas de envoltorio, los formularios y las regiones proporcionales necesitan opciones diferentes.
Las propiedades extendidas describen la participación de un niño en su diseño principal. Configure pesos y pausas de flujo, posiciones y tramos de mesa, o flexione pesos y alineación a través del contenedor para que el padre reciba las instrucciones que entiende su motor.
Verifique qué motor interpreta el espaciado antes de ajustar el margen. Flow y Flex lo aplican, Table lo aplica dentro de una celda y el acoplamiento predeterminado lo ignora; El relleno es el mecanismo que cambia el espacio disponible alrededor del contenido acoplado.
Deje que la barra de filtro se ajuste, dé a buscar el ancho restante y rompa después de Aplicar. Para el editor, utilice etiquetas fijas junto a una columna de campo flexible y haga que cada campo llene su celda, manteniendo las filas alineadas mientras cambia el ancho disponible.
Asigne a las regiones del tablero pesos de dos a uno, alinéelos en la parte superior y mantenga un tamaño mínimo para cada uno. La versión fluida del marcado Wisej.NET expresa las mismas relaciones; use una notación consistentemente dentro de un contenedor.
Cambie el tamaño de un escritorio amplio a una ventana gráfica estrecha y siga los tres comportamientos. Las tarjetas deben ajustarse, las columnas del editor deben permanecer alineadas y los detalles deben detenerse en su tamaño mínimo, lo que demuestra que cada contenedor está resolviendo el problema de diseño asignado.
Cree la barra de filtros, el editor de tickets y el espacio de trabajo del panel con sus contenedores adecuados, utilizando extensiones fluidas, por ejemplo. Capture resultados redimensionados y explique la elección para cada región para que el envío demuestre el razonamiento y los diseños de trabajo.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo AdaptiveOps de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 5 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — Regiones Flow, Table y Flex · 45 min
Objetivo: Construye tres versiones del área de contenido de Adaptive Operations Console: una zona de filtros y tarjetas de métricas con FlowLayoutPanel que se ajusta a la línea y usa FillWeight y FlowBreak, un editor de tickets con TableLayoutPanel con etiquetas y editores alineados mediante RowStyles y ColumnStyles, y un shell de panel de control con FlexLayoutPanel donde las regiones de lista y detalles reparten el espacio por FillWeight con AlignX, AlignY, MinimumSize y MaximumSize definidos. Construye una de las tres por código con las extensiones fluent de Wisej.Web.Markup y compara cómo resiste cada una el redimensionado del navegador. Entregables: Zona de filtros y tarjetas de métricas con FlowLayoutPanel usando WrapContents, FillWeight y FlowBreak; Editor de tickets con TableLayoutPanel con RowStyles, ColumnStyles y spans para campos alineados; Shell de panel de control con FlexLayoutPanel con FillWeight, AlignX, AlignY, MinimumSize y MaximumSize; Una región construida por código con las extensiones fluent de Wisej.Web.Markup; Capturas comparativas del redimensionado y una nota sobre qué contenedor se adapta a cada región.
Módulo 6: ClientProfile y propiedades adaptables
Módulo 6 del curso Temas y diseños adaptables: diseña temas adaptables y diseños aptos para móviles con el Theme Builder. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado de los perfiles de cliente, supera la evaluación de conocimientos y completa el laboratorio práctico en Adaptive Operations Console.
- LecturaGuía de la lección · 14 min
Cómo ClientProfiles.json se evalúa de arriba abajo para obtener Application.ActiveProfile, los valores de propiedades responsive asignados por perfil en el diseñador, ResponsiveProfileChanged para el comportamiento que las propiedades responsive no pueden expresar, y las reglas para diseñar y probar perfiles. Qué significa esto para un desarrollador de Wisej.NET y cómo leer este módulo.
- LecturaGuía del laboratorio / examen · 10 min
Lo que construirás en el laboratorio práctico, el enfoque sugerido y los entregables requeridos.
- Lección en vídeoPerfiles que cambian el comportamiento, no solo los anchos · 14 min
Perfiles que cambian el comportamiento, no solo los anchos: un recorrido guiado del Módulo 6, construido paso a paso en Adaptive Operations Console. Se reproduce aquí mismo, en el reproductor.
Transcripción de la narración
Ofrezca a la consola un comportamiento compatible con el perfil y una geometría flexible. Un teléfono necesita una forma diferente de acceder a la navegación y la edición, por lo que este módulo conecta el reconocimiento del cliente con la presentación del lado del servidor y los cambios en el flujo de trabajo.
El shell redimensionable todavía intenta adaptar la navegación del escritorio, las tarjetas, la cuadrícula y los detalles a un teléfono. Las consultas de medios del navegador pueden afectar el estilo, pero no pueden realizar por sí mismas la visibilidad del control del servidor y las decisiones de apertura de formularios que se muestran.
Los perfiles se evalúan de arriba a abajo y la primera coincidencia se activa. No se fusionan, por lo que hay que anteponer condiciones estrechas al respaldo general del escritorio; de lo contrario, la regla amplia puede impedir que se seleccionen reglas posteriores para teléfonos y tabletas.
Establezca valores de propiedad receptivos por perfil en el diseñador para visibilidad, visualización, acoplamiento, tamaño y fuente. Ocultar regiones del teléfono o mover detalles de la tableta debajo de la cuadrícula pertenece a esos valores declarados cuando no se necesita ningún comportamiento procesal.
Utilice ResponsiveProfileChanged para comportamientos que un valor de propiedad no puede expresar, como abrir un editor modal o coordinar una respuesta retrasada. Elija la aplicación adecuada o el origen del evento de control y mantenga este código enfocado en cambios genuinamente procesales.
Suscríbase una vez, aplique el perfil activo al inicio y aplique el perfil actual del evento cuando cambie. Evite abrir un segundo editor y cancelar la suscripción durante la eliminación para que las notificaciones repetidas no creen ventanas duplicadas o controladores persistentes.
Compare un archivo de perfil sintácticamente válido con una primera regla incorrectamente amplia con la versión restringida a amplia. El error es el orden, no la sintaxis de los archivos: las variantes de teléfonos y tabletas deben probarse antes que la regla general de escritorio.
Cambie el tamaño a través de la computadora de escritorio, la tableta y el teléfono mientras lee el indicador de estado. Confirme que cada perfil active sus valores diseñados y que al acceder a Teléfono se abra el editor modal solo una vez en lugar de una vez por notificación de cambio de tamaño.
Entregue los seis perfiles solicitados, los valores de teléfono y tableta configurados por el diseñador y el controlador de cambio de perfil con informes de estado. Demuestre la transición del editor del teléfono para que la revisión verifique tanto la adaptación declarativa como el comportamiento que requiere código.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo AdaptiveOps de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 6 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — Perfiles de cliente y comportamiento adaptable · 45 min
Objetivo: Añade a Adaptive Operations Console un ClientProfiles.json con los perfiles Phone, Phone Landscape, Tablet, Tablet Landscape, Small Desktop y Desktop ordenados del más estrecho al más ancho. En el diseñador, usa propiedades responsive para ocultar el carril de navegación y el panel de detalles en el teléfono, cambiar los botones de la barra de herramientas a Display solo icono y volver a acoplar la región de detalles bajo la cuadrícula en la tableta. Gestiona ResponsiveProfileChanged para mostrar el nombre del perfil activo en la etiqueta de estado, registrar cada cambio y abrir el editor de detalles como formulario modal en el teléfono en lugar de como panel lateral. Entregables: ClientProfiles.json con los perfiles Phone, Phone Landscape, Tablet, Tablet Landscape, Small Desktop y Desktop en orden de primera coincidencia; Valores de propiedades responsive asignados en el diseñador para ocultar el carril de navegación y el panel de detalles en el teléfono; Display solo icono en la barra de herramientas y región de detalles reacoplada para tableta definidos mediante propiedades responsive; Manejador ResponsiveProfileChanged que muestra y registra el nombre del perfil activo; Editor de detalles abierto como formulario modal en el teléfono a través del manejador de perfil.
Módulo 7: Proyecto final preparado para móviles, accesibilidad, rendimiento y gobernanza en producción
Módulo 7 del curso Temas y diseños adaptables: diseña temas adaptables y diseños aptos para móviles con el Theme Builder. Lee la guía de la lección y la guía del laboratorio / examen, mira el recorrido guiado de la revisión del proyecto final, supera la evaluación de conocimientos y completa el laboratorio práctico en Adaptive Operations Console.
- LecturaGuía de la lección · 14 min
Terminar Adaptive Operations Console como un conjunto de pantallas de escritorio, tableta y teléfono listo para producción, revisar el foco, el contraste, los estados no válidos y los objetivos táctiles, mantener los manejadores de perfil ligeros e idempotentes, y gobernar el tema, el CSS y ClientProfiles.json como código. Qué significa esto para un desarrollador de Wisej.NET y cómo leer este módulo.
- LecturaGuía del laboratorio / examen · 10 min
Lo que construirás en el laboratorio práctico, el enfoque sugerido y los entregables requeridos.
- Lección en vídeoRevisión del proyecto final en todos los perfiles · 14 min
Revisión del proyecto final en todos los perfiles: un recorrido guiado del Módulo 7, construido paso a paso en Adaptive Operations Console. Se reproduce aquí mismo, en el reproductor.
Transcripción de la narración
Revise la Consola de operaciones de Adaptive terminada como un producto que debe permanecer utilizable después de cambios futuros. El final verifica la accesibilidad, el costo de cambio de tamaño y la propiedad de las reglas visuales, convirtiendo una demostración funcional en un sistema responsivo que se puede mantener.
El tema, las apariencias semánticas, los estilos de ámbito, los contenedores y los perfiles de cliente ya están presentes. Ahora demuestre que trabajan juntos para cada perfil, con teclado y acceso táctil, trabajo de cambio de tamaño razonable y decisiones que otro desarrollador puede explicar.
Comience con el tema y sus variantes de apariencia. Utilice hojas de estilo en cascada solo cuando sea necesario y luego considere los contenedores y las propiedades responsivas. Agregue un código de cambio de perfil o perfiles personalizados cuando las opciones más simples no puedan expresar el requisito y documente ese motivo.
ApplyProfile debería regresar temprano para un perfil sin cambios y asignar valores finales en lugar de alternarlos. Eso hace que las llamadas repetidas sean estables; La limpieza elimina las suscripciones, mientras que un marco de enfoque compartido preserva la visibilidad del teclado en los estados enfocados del tema.
Compare vistas de escritorio, tableta y teléfono utilizando el indicador de perfil en modo de prueba. La navegación cambia de texto a íconos y a un menú, mientras que los detalles se mueven del costado a debajo de la cuadrícula a un modal, preservando el acceso a través de diferentes presentaciones.
Registre seis casos de prueba responsivos con perfiles esperados, capturas de pantalla y comprobaciones de diseño, desplazamiento, enfoque, estados no válidos y toque. Repita esta matriz después de los cambios y actualizaciones del tema para que las regresiones se comparen con expectativas explícitas en lugar de con la memoria.
Mantenga el foco visible, complemente los colores de error con íconos o mensajes, etiquete acciones solo con íconos y recorra el orden de tabulación. Revise los límites de tamaño y el tamaño automático, luego versione el tema, los estilos y los perfiles juntos para que los cambios de accesibilidad y diseño reciban revisión del código.
Haga que el paquete de base explique cómo responder a partir de la evidencia del curso y el árbol de decisiones de propiedad. Marque los frágiles selectores de documentos internos y las anulaciones directas, y solicite el perfil y el tamaño de pantalla reales cuando el problema de respuesta aún no sea lo suficientemente específico.
Entregue la consola terminada con su controlador de perfil repetible, indicador de prueba, revisión de accesibilidad, matriz de orientación, nota de arquitectura y paquete de conexión a tierra. En conjunto, estos muestran no sólo que el diseño actual funciona, sino también cómo se evaluará el próximo cambio.
- LecturaEjercicio de programación con IA · 20 min
Construye el ejemplo AdaptiveOps de este módulo con ChatGPT o Claude a partir de un prompt listo para usar que dirige al modelo a la especificación del módulo, y después revisa, ejecuta y amplía lo que te devuelva — incluso comparándolo con nuestra propia solución de referencia en GitHub.
- CuestionarioEvaluación de conocimientos — Módulo 7 · 10 min · Nota mínima 80%
- Laboratorio prácticoLaboratorio — Proyecto final Adaptive Operations Console · 45 min
Objetivo: Completa el proyecto final de Adaptive Operations Console: un tema personalizado con tokens con nombre y al menos cuatro appearances semánticas, uso de CssClass con ámbito, un shell de escritorio con regiones Flow, Table y Flex, un ClientProfiles.json con comportamiento para teléfono, tableta, escritorio pequeño y escritorio, propiedades responsive junto con un manejador ResponsiveProfileChanged idempotente, y un indicador de perfil visible en modo de prueba. Realiza la revisión de accesibilidad de marcos de foco, estados no válidos, contraste, objetivos táctiles y orden de tabulación, completa la matriz de QA responsive con capturas para cada perfil, y redacta la nota de arquitectura y el paquete de contexto que expliquen cada decisión de tema, diseño y perfil. Entregables: Adaptive Operations Console terminada con tema personalizado, appearances semánticas, CSS con ámbito y regiones Flow, Table y Flex; ClientProfiles.json, propiedades responsive y un manejador ResponsiveProfileChanged idempotente con un indicador de perfil en modo de prueba; Revisión de accesibilidad que cubre marcos de foco, estados no válidos, contraste, objetivos táctiles y orden de tabulación; Matriz de QA responsive con capturas de escritorio, tableta y teléfono en ambas orientaciones; Nota de arquitectura y paquete de contexto para IA que explican cada decisión de tema, diseño y perfil.