miércoles, 27 de abril de 2011

Desarrollo de aplicaciones con interfaz gráfica

Quienes desarrollan hardware en algún momento se han encontrado con la necesidad de implementar una aplicación para el computador, la cual muchas veces debe incluir una interfaz gráfica. Este tipo de aplicaciones a menudo requiere ingreso de datos por parte del usuario, visualización de reportes, e incluso manejo de bases de datos y conectividad a Internet. A parte de lo anterior, se hace necesaria la interacción con dispositivos externos y sistemas desarrollados con microcontroladores y software embebido. La interacción con estos dispositivos de hardware se realiza a través de puertos USB, RS-232, Ethernet, e incluso dispositivos inalámbricos como Bluetooth o WiFi.

El lenguaje de programación Python es un lenguaje muy sencillo y potente que permite la implementación de programas y sistemas complejos en poco tiempo de desarrollo, con lo cual se desarrollan productos complejos que puedan satisfacer las necesidades del cliente. La principal desventaja de Python es la dificultad para la creación de interfaces gráficas y desarrollo de aplicativos finales para el usuario.

El framework de desarrollo Web Django es una excelente herramienta que permite integrar programación en Python, manejo de puertos e interacción con hardware, uso de bases de datos, y desarrollo de una interfaz gráfica de usuario. Todo esto se implementa en un entorno Web, por lo cual el diseño gráfico de la interfaz es sencillo, y se reduce al diseño de plantillas HTML.


Una aplicación en Django tiene la forma de un sitio Web, con la ventaja que se puede manipular fácilmente el hardware del computador usando código Python. Mientras se encuentra en etapa de desarrollo, es posible usar un servidor incluido con el framework Django, sin embargo, en el momento de implementar la aplicación de producción, se recomienda el uso de un servidor Web robusto. Se pueden instalar módulos adicionales al servidor Apache para que tenga la capacidad de ejecutar aplicaciones desarrolladas en Django.

En cuanto a bases de datos, Django permite una fácil integración con sqlite, mysql y posgresql, y además incluye un sitio administrativo muy completo en donde es posible visualizar y editar registros de la base de datos.

El link del sitio es http://www.djangoproject.com/, y recomiendo hacer el tutorial básico de 4 pasos, en el cual se ilustran las principales características y funcionalidades de Django. La instalación en Linux es sencilla, y todos los paquetes adicionales necesarios se pueden bajar usando los repositorios y el gestor de paquetes.