Estoy trabajando en una aplicación python que se ejecuta en 2 plataformas diferentes, a saber, escritorio regular Linux y Maemo 4. Utilizamos PyGTK en ambas plataformas, pero en Maemo hay un montón de pequeños ajustes para que se vea bien que se implementan como la siguiente manera:¿Cómo trato con múltiples interfaces de usuario comunes?
if util.platform.MAEMO:
# do something fancy for maemo
else:
# regular pygtk
Hay aproximadamente 15 de ellos si las declaraciones necesarias para obtener la interfaz de usuario en busca de trabajo y agradable en Maemo 4.
esto ha sido muy manejable para todo este tiempo. El problema es que hace un tiempo hubo una nueva versión de Maemo lanzada (5, también conocida como fremantle) y tiene algunas grandes diferencias en comparación con Maemo 4. No quiero agregar muchos controles en el código GUI para poder consigue que las 3 plataformas funcionen bien con la misma base de código porque eso sería complicado. Tampoco quiero crear una copia del código GUI original para cada plataforma y simplemente modificarlo para la plataforma específica (me gustaría volver a usar la mayor cantidad de código posible).
Entonces, ¿cuáles son las formas de tener ligeramente UI diferentes para plataformas diferentes que se basan en el mismo código de interfaz de usuario central? No creo que esta sea una pregunta específica de Python o Maemo, solo me gustaría saber cómo se hace esto.
¿Qué tipo de código es diferente entre las plataformas: las devoluciones de llamada, los widgets utilizado, la forma de los widgets están dispuestas (es decir, en diferentes contenedores o diferentes pedidos), o solo ciertas propiedades específicas de la plataforma en los widgets? – LeafStorm
Lo siento, lo olvidé. Es todo lo de arriba.En el núcleo de todas las plataformas está PyGTK, luego en Maemo 4 hay algunas cosas de hildon (widgets específicos de Maemo que tienen diferentes nombres/señales/etc.) y luego en Maemo 5 hay cosas de hildon más sofisticadas y otros widgets que hacen aplicación más útil. Además, en la versión de Maemo 5 queremos soporte de rotación que requiere reorganizar widgets sobre la marcha. – nikosapi