Post Actualizado en julio 25, 2013
Python ¿Un lenguaje para la Web?
Las herramientas que escojamos para llevar acabo el trabajo de programación de las funcionalidades dentro de nuestras páginas y sitios es crucial para poder cumplir con nuestras expectativas. Desde algunos años el uso de Php y Java para programar el scripting del lado del servidor se ha expandido de manera general. Ha opacada a tecnologías […]
Las herramientas que escojamos para llevar acabo el trabajo de programación de las funcionalidades dentro de nuestras páginas y sitios es crucial para poder cumplir con nuestras expectativas. Desde algunos años el uso de Php y Java para programar el scripting del lado del servidor se ha expandido de manera general. Ha opacada a tecnologías como ASP y el CGI (C, Bash, Perl, AWK, etc.).
Se ha complementado con otras como JavaScript, Flash y el ya tradicional HTML, pero: ¿No ofrece la tecnología nada nuevo? En ultimo tiempo ha emergido la tecnología AJAX con la idea de trabajar de manera interactiva con el servidor sin la necesidad de recargar la página cada vez que se interactúa con ella. Pero esto no ha sido automatizado por un framework para el usuarios final en los lenguajes comunes.
A partir de esto se ha estado observando cada vez con mayor interés el surgimiento de nuevas interfaces para la construcción de sitios con lenguajes que habían estado relegados a otras tareas o que apenas han emergido. Entre los nuevos lenguajes que han entrado a escena están Python y Ruby, peleando codo a codo por el predominio del mundo del la web interactiva a un nuevo nivel, los dos con sus frameworks que soportan las nuevas funciones web sin entrar en los detalles del funcionamiento de la base de datos, ni en la navegación, centrándose únicamente en el resultado final interactivo. Así, estas herramientas logran la creación de poderosas páginas web sin gran esfuerzo ni requerimientos de hosting elevados, presentación de calidad, sin recurrir a un CMS. Los Frameworks son para Python Zope y Django, y para Ruby On Rails.
Python es un lenguaje fácil de aprender, alabado por su lógica y su claridad de escritura, además de ser considerado como mucho más limpio y elegante para programar que otros lenguajes. Una de las características mas destacadas es que Python permite dividir el programa en módulos que son reutilizables donde otros scripts o programas de Python sin mayor procedimiento que incluir una cabecera. Incluye varios módulos estándar además de una gran variedad de módulos creados por la comunidad como por ejemplo módulos que permiten E/S de ficheros, llamadas al sistema, sockets, interfaces a interfaz gráfica con el usuario como PyGTK, Tkinter, PyQt, interfaces con manejadores de bases de datos, etc.
Usado para comprender de forma sencilla algoritmos y procedimientos ha sido pasado al mundo del Internet, en primer lugar como un lenguaje capaz de realizar scripting, además de servir como araña o robot, construir servidores, etc. Pero a partir de 2005 se ha integrado una nueva herramienta al mundo Python: Django que es un framework de desarrollo web de código abierto, escrito en este lenguaje, que se basa en especificar que tipos de datos se manejarán y como se presentarán a través de un template.
El modelo de desarrollo de Django solo nos hace preocuparnos en dos aspectos del contenido, los datos de este, y su presentación, sin meternos en ningún momento con las cuestiones internas de las cuales se encargará nuestro framwork. Django corre como un programa en servidor y espera que alguna navegador funja como cliente y responderá a todas sus peticiones, incluyendo los objetos HttpRequest de AJAX.
Otra posibilidad de crear un sitio con tecnología Python es Zope. Funciona como un servidor de aplicaciones que para las funciones de edición de contenidos, así como personalizaciones básicas, puede ser usado mediante un navegador web. La programación avanzada así como el desarrollo de nuevas funcionalidades requiere la edición de componentes.
Esperamos haber motivado la exploración de nuevas tecnologías y opciones para facilitar la actividad diaria del webmaster. Para más información consulte los siguientes dominios:
http://www.python.org/ http://www.djangoproject.com/ y http://www.zope.org/