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.
Durante algún tiempo me dediqué a acumular
cheatsheets, esas tarjetas y hojas que resumen un montón de conocimiento en un pequeño (bueno, no siempre tan pequeño) pliego de papel. Me recuerdan a los esquemas que hacía antes de un examen: aunque rápidamente se quedan cortas, a veces pueden resultar vitales para salir del paso y no perder tiempo consultando mastodontes enciclopédicos. Algunas son todo un ejemplo de cómo transmitir la máxima información con la mayor claridad y menor espacio posibles.
Como no podía ser de otra forma perdí mi colección, pero hace poco encontré
aquí unas cuantas relacionadas con la programación, espero que a alguien le resulten útiles o, al menos, curiosas.
Este post fue originalmente publicado el 10 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.
Si hace poco
me enteré de que existía la
bitácora de Bruce Eckel, hoy he descubierto (de nuevo gracias a
JavaHispano, ¡vaya enlaces te marcas,
Martín!) el
Bliki (cruce de blog y wiki) de
Martin Fowler: toda una eminencia en el diseño de software.
Muchos hemos aprendido
UML con su libro
"UML distilled", una obra breve, concisa y clara, bastante completa para su reducido volumen (vamos, un libro ideal para
perder el miedo).
En varios de sus
libros y
artículos aborda también el uso de patrones en aplicaciones empresariales.
También aporta su granito de arena en el terreno de las metodologías de desarrollo, opinando sobre
eXtreme Programming y otras
metodologías ágiles de desarrollo.
Por último (y seguramente más importante), se trata del gurú del
refactoring, una técnica para mejorar el código ya existente aplicando pequeños refinamientos que lo hacen más robusto, más modular, mejor diseñado, y por ello más reutilizable.
Vaya, vaya... vuelve uno del único puente tranquilo que ha tenido y se encuentra con tantas cosas que le da pena no haberlas leido in situ:
- Kusor no sólo remodela su página, sino que parece tomar nuevo rumbo, más personal pero sin dejar de deleitarnos con esos pedazo de enlaces que (parece mentira) llevaban mucho tiempo esperándonos, a tan sólo un click de distancia.
- Ese cambio casi coincide temporalmente con esa crítica constructiva que Earful descarga sobre la blogosfera hispana, sin dar nombres pero de forma que todos reconocemos en qué círculo (en todos los sentidos) nos estábamos moviendo... Coincido plenamente con él, aquí huele a cerrado. No contento con eso, el tío se marca uno de esos artículos que hacen afición, una introducción a las expresiones regulares (herramienta útil donde las haya), y además nos promete seguir su estupenda serie sobre patrones de diseño.
- Curiosamente sobre patrones de diseño aplicados a PHP hablaron en la recién terminada PHP-Conference 2003 de primavera. Entre las traspas que podemos descargar me parecen especialmente interesantes no sólo las que tratan sobre patrones, sino también las que tratan temas generales y otras más específicas: una curiosa guía para exprimir al máximo los hostings escasos de recursos, POO, cuestiones de seguridad y rendimiento, combinaciones de PHP con XML y PDF, y -ojito Maelmori- aplicaciones con PHP y SVG.
- También edmz habla de PHP, concretamente de algunas funciones que nos hacen la vida mucho más fácil, entre ellas algunas que sirvieron para que rvr fabricara Blogalia.
- Precisamente es rvr el primer entrevistado en El Espejo de Terisa, que a partir de ahora nos obsequiará con entrevistas a nuestros favoritos, como ya hiciera en su día mini-d - por cierto Diego, el enlace a las entrevistas no funciona :(
- Por último, me entero de que Ctugha ha conseguido sacar adelante su pecaminosa instalación de Drupal que, aunque a veces le da algún que otro problema, dice mucho de su constancia y esfuerzo ¡Ánimo! :)
En fin, que parece que no se puede uno dar la vuelta ;)
Este tipo ha escrito el que para muchos es el mejor libro para aprender (perdón, APRENDER) Java (¡ojo!, comienza a estar disponible su nuevo libro sobre Enterprise Java, vía javaHispano). Otros muchos han elogiado su libro sobre C++. Lo mejor de todo es siempre ha tenido estos y otros libros disponibles en su web, actualizándolos gracias a las aportaciones de los lectores.
Pues bien, hace poco ha comenzado a publicar un weblog, en el que comenta por ejemplo que los responsables de la próxima versión de Java están tomando ideas del C# de Microsoft, y que será la versión más innovadora desde la revolución que supuso Java 1.2.
Otra bitácora que visitar, y van...