Pregunta

¿Hay alguna manera estándar para hacer mis aplicaciones personalizable?

Por "personalizable" me refiero a la capacidad de la aplicación para soportar múltiples pieles.

No estoy apuntando a cualquier plataforma en particular aquí. Sólo quiero saber si hay algunas directrices generales para hacer aplicaciones personalizable.

Parece que pelar las aplicaciones web es relativamente fácil. ¿Qué pasa con las aplicaciones de escritorio?

¿Fue útil?

Solución

Las máscaras son simplemente otro nivel de abstracción (YALOA!).

Si usted lee arriba en la patrón de diseño MVC entonces entenderá muchos de los principios necesarios.

La capa de presentación (o piel) sólo se tiene que hacer algunas cosas:

  • Mostrar la interfaz
  • Cuando se toman ciertas acciones (hacer clic, la introducción de texto en una caja, etc), entonces se desencadena acciones
  • Tiene para recibir notificaciones desde el modelo y el controlador cuando se necesita cambiar

En un programa normal de esta abstracción se hace por tener código que conecta los cuadros de texto para los métodos y los objetos que están relacionados con, y tener el código que cambia la pantalla en base a los comandos del programa.

Si desea agregar desollar la que tiene que tomar esa capacidad y hacerlo de modo que se puede hacer sin compilar el código de nuevo.

Confirmar, por ejemplo, XUL y ver cómo se hace allí. Encontrará una gran cantidad de desollar proyectos utilizan XML para describir los diferentes 'caras' de la piel (que reproduce música, o la organización de la biblioteca para un reproductor de MP3 de la piel), y luego donde se encuentra cada control y qué datos y los métodos de TI debe atribuirse a en el programa.

Puede parecer duro hasta que lo haces, entonces te das cuenta que es igual que cualquier otro nivel de abstracción que ha tratado antes (a partir de un programa con GOTOS, para controlar las estructuras, a las funciones, a las estructuras, a las clases y objetos , a compiladores JIT, etc.).

La curva de aprendizaje inicial no es trivial, pero hacer algunos proyectos y encontrará que no es difícil.

-Adán

Otros consejos

Mantenga todos sus estilos en un archivo CSS independiente (s)

Manténgase alejado de cualquier estilo en línea

Realmente depende de cómo "personalizable" desea que sus aplicaciones sean. Permitiendo al usuario configurar los colores y las imágenes va a ser mucho más fácil de dejar que se ocultan / quitar componentes o incluso escribir sus propios componentes.

Para la mayoría de los casos, es probable que pueda salirse con la escritura de algún tipo de proveedor de recursos que sirve colores e imágenes en lugar de codificar en el archivo de origen. Por lo tanto, la siguiente:

Color backgroundColor = Color.BLUE;

se convertiría en algo como:

Color backgroundColor = ResourceManager.getColor("form.background");

A continuación, todo lo que tiene que hacer es cambiar las asignaciones en su clase ResourceManager y todos los clientes serán consistentes. Si desea hacer esto en tiempo real, el cambio de cualquiera de las asignaciones del ResourceManager probablemente enviar un evento para sus clientes y notificarles que algo ha cambiado. A continuación, los clientes pueden volver a dibujar sus componentes, si así lo desean.

Implementación varía según la plataforma, pero aquí hay algunas consideraciones generales de plataforma cruzada:

  • Es bueno tener un diseño general establecida en el que los elementos visuales pueden ser "conectados". Es más difícil (pero aún es posible) para apoyar completamente diferentes diseños generales a través de desollar.
  • Desarrollar una convención de nomenclatura bien documentado para los activos (imágenes, fragmentos de HTML, etc.) que comprenden una piel.
  • Diseño de una manera limpia de "descubrir" los aspectos ya existentes y añadir otras nuevas. Por ejemplo: Winamp utiliza un formato de archivo ZIP para almacenar todas las imágenes por sus pieles. Todos los archivos de la piel residen en una carpeta conocida de la carpeta de la aplicación.
  • Esté al tanto de las cuestiones de escala. No todo el mundo utiliza la misma resolución de pantalla.
  • ¿Se va a permitir el desarrollo de la piel de terceros? Esto afectará a su diseño.
  • Arquitectónicamente, el patrón Modelo-Vista-Controlador presta a desollar.

Estas son sólo algunas cosas a tener en cuenta. Su aplicación puede variar entre web y cliente pesado, y por sus requerimientos de características. HTH.

El principio básico es el utilizado por CSS en páginas web.

En lugar de cada vez que especifica el formato (color / fuente / diseño [en cierta medida]) de su contenido, sólo tiene que describir qué tipo de contenido que es.

Para dar un ejemplo web, de los contenidos de una página de blog que podrían marcar diferentes secciones como un:

  1. Título
  2. Entrada de Blog
  3. Archivo Panel

etc.

La entrada podría estar hecho de subsecciones severl tales como "la partida", "cuerpo" y "marca de tiempo".

A continuación, en otro lugar que tiene una hoja de estilo que especifica todas las propiedades de cada tipo de elemento, tamaño, alineación, color, fondo, tipo de letra, etc. Al renderizar la página o srawing / inicializar los componatns en la interfaz de usuario consulte siempre la corriente de estilo para mirar hacia arriba estas propiedades.

A continuación, desollado, y de hecho la edición de su diseño, se hace mucho más fácil. Usted sencilla de crear una hoja de estilo diferente y ajustar los valores al contenido de su calor.

Editar:

Un punto clave a recordar es la diferencia entre un estilo general (como en las clases CSS) y un estilo específico (como identificaciones en CSS). ¿Quieres ser capaz de identificar de forma exclusiva algunos elementos en su diseño, como por ejemplo el título, como un solo elemento de identificación que se puede aplicar un estilo único a, mientras que otros elementos (tales como una entrada en un blog, o en un campo de una vista de base de datos) será todos quieren tener el mismo estilo.

Es diferente para cada plataforma / tecnología.

En WPF, echar un vistazo a lo que Josh Smith llama desollado estructural: http: / /www.codeproject.com/KB/WPF/podder2.aspx

Esto debería ser relativamente fácil, siga estos pasos:

  1. Tira de todo estilo para su aplicación web completo o sitio web
  2. Usar CSS para cambiar la manera en que su aplicación se ve.

Para obtener más información, visite css jardín zen para las ideas.

No debería. O por lo menos usted debe preguntarse si es realmente la decisión correcta.

Aplicación de aspectos rompe las directrices de diseño de interfaz de usuario. Se "tarros" el usuario debido a que su aplicación funciona de piel y se ve totalmente diferente de todas las otras aplicaciones que utilizan su. Cosas como teclas de acceso directo comando no serán consistentes y van a perder productividad. Será menos accesibles para personas discapacitadas debido a los lectores de pantalla tendrán más dificultades para comprenderla.

Hay un montón de razones para no piel. Si lo que desea es que su aplicación sea visualmente distinto, eso es una razón pobre en mi opinión. Va a hacer su aplicación más difícil de usar y menos probable que la gente siempre ir más allá del período de prueba.

Una vez dicho todo esto, hay algunas clases de aplicaciones donde básicamente se espera desollado, tales como reproductores multimedia y imersive juegos de pantalla completa. Pero si su aplicación no se encuentra en una clase en la que pela es obligatoria en gran medida, yo consideraría seriamente la búsqueda de otras formas de hacer que su aplicación mejor que su competencia.

En función de la profundidad que desea para cavar, puede optar por usar un marco 'formato' (por ejemplo Java FAPL, CSS de la web), o una arquitectura de nivel múltiple totalmente desacoplado.

Si desea definir una piel enchufable, debe tener en cuenta que desde el principio. La capa de presentación conoce no sobre la lógica de negocio pero es API y viceversa.

Parece que la mayoría de la gente aquí se refieren a CSS, como si su única opción desollado. Reproductor de Windows Media (y Winamp, AFAIR) utilizar XML, así como imágenes (si es NECESARIO) para definir una piel.

Los ganchos referencias XML, eventos, etc., y se ocupa de cómo se ven las cosas y reaccionar. No estoy seguro acerca de cómo manejan la parte de atrás, pero al cargar un aspecto determinado es realmente tan simple como encontrar el archivo XML adecuada, la carga de las imágenes a continuación, colocarlos donde tienen que ir.

XML también le da mucho más control sobre lo que puede hacer (es decir, la creación de nuevos componentes, tamaño de los componentes de cambio, etc.).

XML combinado con CSS podría dar resultados maravillosos para un motor de revestimiento de una aplicación de escritorio o en la web.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top