Estudio preliminar: El software de control en el PC

Se realizará una aplicación para configurar los nodos de la red y para mostrar los valores de cada nodo. Esta aplicación debe ser preferentemente gráfica y debe ser capaz, como mínimo, de permitir al usuario acceder a toda la información de la red de medida, temperatura y humedad relativa en cada uno de los puntos de medición, así como modificar el período de actualización de los datos o ver un histórico de medidas.

En primer lugar, es importante seleccionar el lenguaje de programación con el que se realizará. Existe multitud de lenguajes de programación que permiten programación de entornos gráficos. Son los lenguajes orientados a objetos los que permiten programación de entornos gráficos, tales como C++, C#, Java, Phyton, MSVisualBasic, etc. Sin embargo, hay lenguajes no orientados a objetos que también lo permiten como por ejemplo C haciendo uso de la librería GTK y libglade.

Dado que normalmente se utilizan APIs intermedias entre el sistema operativo y la aplicación para facilitar la programación gráfica, como por ejemplo las API de BorlandC++, la aplicación resultante queda ligada a un único sistema operativo. No obstante, los lenguajes de programación interpretados como Java y Phyton, mantienen una relativa independencia con sistema operativo. Sin embargo, los lenguajes interpretados son típicamente más "lentos". Puesto que la velocidad en esta la aplicación no es crítica, se optará por un lenguaje interpretado dada la ventaja de ser multiplataforma.

De los lenguajes interpretados se ha optado por el lenguaje de programación Java por poseer mejores herramientas para su desarrollo.

El lenguaje de programación Java fue desarrollado por Sun Microsystems a principio de los 90. En el lenguaje de programación Java, el código fuente, de extensión .java, se compila, mediante el compilador de java (javac), obteniéndose un fichero de extensión .class. Estos ficheros no contienen código nativo de la plataforma del compilador; en su lugar contienen bytecodes, el lenguaje máquina de la máquina virtual Java (Java VM).

Es esta máquina virtual la encargada de convertir el lenguaje bytecodes a el lenguaje máquina específico de la arquitectura en la que sea ejecutado, por tanto la máquina virtual es específica de la arquitectura, tal y como muestra la figura siguiente.

Como la máquina virtual está disponible para diferentes sistemas y arquitecturas, el mismo fichero compilado .class, puede ser ejecutado en distintas arquitecturas.

Personalmente, desconozco el lenguaje de programación Java. No obstante tengo nociones básicas de programación orientada a objetos por lo que no espero que me sea complicado aprender a programar Java. Una de las ventajas de Java es su documentación, Sun tiene unos tutoriales muy completos (ver referencias) y existe multitud de bibliografía sobre el lenguaje. Además NetBeans, un entorno multiplataforma iniciado por Sun y ahora libre es muy cómodo y completo para la programación, soporta completamente todas las versiones de Java (Java SE, Java EE, Java ME), y dispone de diversas herramientas como un constructor de interfaces gráficas o soporte para el depurado línea a línea.

Referencias

Sun Microsystems The Java Tutorials.

No hay comentarios: