Aunque no tengo mucho tiempo libre voy a meterme en un nuevo jaleo: intentaré desarrollar una pequeña aplicación de
escritorio que trabaje con
imágenes.
Como no quiero caer en el cuento de la lechera me gustaría que fuera
modular y
extensible, de manera que pudiera ampliarla de cuando en cuando y que ya desde las primeras versiones
hiciera algo. También me gustaría que el mismo código fuente pudiera ejecutarse en
varias plataformas (aunque requiriera una compilación previa para cada una). Parte del reto consiste en trabajar con
librerías de tratamiento de imagen, terreno que desconozco completamente. Y, claro, si
no necesito pagar licencias para distribuirla ni desarrollarla, mejor que mejor. Ahora
sólo tengo que
decidir el lenguaje de programación a utilizar, sin importarme en este caso tener que aprender desde cero.
Antes de seguir añadiré que mi experiencia en aplicaciones de escritorio se limita a algún
quick and dirty -sobre todo
dirty ;) - en
Visual Basic y alguna aplicación en
Java sin demasiadas funcionalidades. Sé que existen herramientas y lenguajes muy potentes para entornos Windows como
Delphi y los consabidos
"Visual*", pero (por favor, corregidme si me equivoco) todos son de pago y atan al usuario al escritorio de Microsoft.
Otra opción sería utilizar algunas
librerías gráficas multiplataforma en C o C++, pero como no tengo práctica en desarrollar aplicaciones de escritorio no sé la complejidad que puede alcanzar la aplicación (sobre todo a la hora de ampliarla) ni las dificultades reales que encontraría para migrar a otras plataformas.
La última alternativa que he considerado sería utilizar un lenguaje como
C#,
Java o
Python (Alo, espero que no estés leyendo esto). En el caso de C# desconozco los problemas de cambiar de plataforma (por ejemplo con
mono). Con Python o Java ese asunto me preocupa menos, pero tampoco me quedo tranquilo pensando que si la aplicación crece puede volverse inmanejablemente lenta. Es cierto que algunas librerías como
wxWindows en Python o
SWT en Java son conocidas por ser menos lentas que el resto, pero nunca las he probado.
Ahora
pregunto: ¿Alguien tiene experiencia en el tema? ¿Qué lenguaje elegirías? ¿Por qué? ¿Conoces otras alternativas? Al menos parece que
no soy el único que se plantea estas cosas.
Este post fue originalmente publicado el 12 de Septiembre de 2003. El destino quiso que se perdiera y mediante la caché de Google sólo he podido recuperar el texto y no los comentarios: mil perdones a sus autores.