enchufado
   RSS
#
Breve introducción II (Programación) 2004-06-04 04:27:25

Intro

Ogre es el proyecto que vamos a presentar este año mi compañero de batallas y yo como PFC, para el CFGS de DAI. Los lenguajes que he ido viendo a lo largo de estos 3 años (¡cómo pasa el tiempo!) son pocos. Entre ellos, C, un poco de PHP, VB (dentro de Visual Studio .NET) y, por mi cuenta, Java. El proyecto de este año, a diferencia del Ciclo de ASI, en el cual no se pedía ningún requisito especial, requiere que sea una tarea de programar una aplicación, con documentación técnica detallada del proceso, que utilice una DDBB, y que éstos datos se puedan consultar, independientemente de la aplicación, desde un entorno web. Otro último requisito es que la aplicación tenga entorno gráfico.

Bien, las posibilidades son infinitas, y la decisión del tipo de aplicación a realizar, y en qué lenguaje implementarla, es nuestra. En clase, el único lenguaje que estamos dando con posibilidad sencilla de incorporar un entorno gráfico es, cómo no, VB. Particularmente no me gusta demasiado -más bien nada- la idea. Quizás la principal traba que le encuentro es que esté única y exclusivamente orientado a desarrollar aplicaciones para Hasefroch. Aunque lo es también que el Entorno de Desarrollo cueste una pasta. Hay alternativas más abiertas y menos restrictivas. Pero yo busco un lenguaje que tenga una licencia abierta (en la medida de lo posible), que tenga posibilidad de incorporar entorno gráfico en el propio lenguaje (no me vale incorporar librerías gráficas externas, en principio), que me dé facilidades a la hora de diseñar y programar (esto es, que sea Orientado a Objetos), y... ¡que sea multiplataforma! Eso no lo tienen todos los lenguajes. Los intérpretes y VM's hacen que la ejecución de la aplicación sea considerablemente más lenta que un lenguaje completamente compilado, pero para mi el rendimiento no es una razón suficiente como para no tener en cuenta a un lenguaje en el proceso de selección. Prefiero que una aplicación no solamente funcione bien y haga lo que deba, sino también que lo haga en el mayor número de plataformas posibles; me encanta la idea de la portabilidad.

Presentación

Pues bien, tras haber estado haciendo un curso de Java en CAST-INFO, alternado con el primer semestre de clases, se decide hacer una aplicación de mail (un cliente) en este lenguaje. Para entender mejor algunas cosas, adquiero "Piensa en Java" (la versión -bien- traducida de "Thinking In Java", de Bruce Eckel), un buen libro de programación en Java.

Los nombres que me pasan por la cabeza para bautizar a la aplicación son varios. Pero resulta que no soy demasiado original, porque google me revela que las primeras ideas ya están cogidas. JavaMail no, porque es precisamente el nombre de una API de Java que voy a usar. JMail tampoco, pues ya es el nombre de otra aplicación de mail basada en Java. Empecé a buscar ideas. Como el cliente de correo que uso actualmente es sylpheed (de sílfide, supongo), pensé en darle un nombre que significara justo lo contrario. ¿Que por qué? Pues porque considero a sylpheed un lightweight-client, y justamente mi aplicación sería todo lo contrario: pesada y "lenta" por la necesidad de ejecutar una JVM.

Vamos a ver qué dice la RAE de ésto. "Sílfide; (de silfo) 1. f. Según los cabalistas, ser fantástico o espíritu elemental del aire". Alguna gente del IRC lo relaciona también con seres fantásticos, elfos, hadas, gnomos... Entonces, quizás no es muy apropiado, pero se me pasa por la cabeza un ser contrario a los mencionados de belleza fantástica: los ogros. Pues así queda; se llamará Ogre.

¿Qué se decide hacer? En principio, un cliente de mail que disponga de agenda. También la idea de que la agenda sea gráfica, es decir, que los contactos puedan mostrarse con una foto. Se me ocurren muchas ideas para el programa, pero vamos a ir paso a paso y a ver hasta dónde llegamos (no puedo decicarle todo el tiempo al proyecto, aunque quisiera).

Implementación

Vamos a usar J2SE (a destacar el API de Swing para la interfaz gráfica) y J2EE (JavaMail y JAF como API's principales), de Sun, en sus versiones 1.4.1 y 1.4, respectivamente. Para el desarrollo se va a utilizar el IDE/Framework eclipse, de IBM. Tanto Java como eclipse están para las plataformas Windows y Linux. Mi compañero trabajará desde Windows (y en clase también lo haremos así), y yo trabajaré en casa desde Linux.


Comentarios (0)


Volver al indice

login, admin, form, register