miércoles, noviembre 16, 2005

Mi foto
RRRRR
Reducir, Reutilizar, Reciclar. Son las ideas sobre las que se basan los así llamados Componentes R3. Se trata de librerías de utilidad en diversas situaciones. Librerías que se usan en muchos proyectos dentro de NTS, y que permiten ahorrar tiempo, costes y, con suerte, quebraderos de cabeza.

Pero eso son 3 erres... no 5, como indica el título del post. ¿A cuento de qué vienen las otras dos? Pues a lo que bien describía Miguel en un post del otro día. Como seguramente habréis intuido, el marrón me ha tocado arreglarlo a mi. Pero la verdad no me quejo. No me lo he tomado como "ala, a arreglar el problemón este", sino como un reto bastante interesante.

El problema era simple: hemos creado una interfaz para pantallas de resolución 240x320, pero el cliente especifica que tiene que valer también para 240x240, 480x480 y 480x640. El cliente manda, así que hay que adaptar todas las ventanucas a las nuevas dimensiones.

La solución tradicional habría sido duplicar toda la interfaz para cada una de las nuevas resoluciones. Se puede resumir en dos palabras: redundancia y REDUNDANCIA. Amos, que no me gusta un pelo la idea.
Así que optamos por la solución... emm no-tradicional. Crear un redimensionador de forms. Y eso he hecho: un redimensionador que adapta forms para cualquier resolución. Tenía algo de experiencia en el tema por algún proyectillo que hice cuando era joven (no pongáis caras raras, no es que me considere viejo... es una frase que empezó con una coña y ahora uso sin pensar) en VB5, pero aquello era para una ventana con controles bien determinados. Esto, en cambio, transforma cualquier cosa.


Por otra parte, el cliente, en una reciente reunión, también mostró interés en poder cambiar los colores a la interfaz. Y esa también me cayó a mi. Y así nació el recolorizador. Que, al igual que el redimensionador, puede usarse con cualquier proyecto. Realmente se trata de un gestor de themes, porque también cambia logotipos y estilos de botones...

La verdad es que ha sido interesante. Ha sido divertido y todo. Este tipo de cosas son las que más disfruto: resultados que saltan a la vista con pocos días de trabajo.

Aparte, no me había fijado hasta que leí un email de Juan, pero ambos componentes pueden reutilizarse para cualquier proyecto. Aasí que, si $DEITY lo permite, no estaría mal dedicarle algunas horillas para convertirlas en DLLs independientes de proyecto, para de esa forma ser compañeros de piso con el resto de librerías R3.

Weno, que me enrollo un poco y no programo, así que vuelvo al tajo. Por cierto, adivinad en qué estoy trabajando... estoy modificando una de las R3 para que sea compatible con el theme-o-matic de Casandra :)