viernes, 29 de enero de 2010

Tecnologías basadas en web y Web2py: framework web

Aún recuerdo cuando me había decantado por el uso de tecnologías web para el desarrollo de aplicaciones, en gran medida debido a que sentía que las herramientas con las que estaba trabajando no eran lo suficientemente ágiles como para poder reemplazar las aplicaciones de escritorio tradicionales.  Lo cierto es que ya con ROR (Ruby On Rails) se inicia una revolución en el desarrollo de aplicaciones, particularmente las basadas en web, que integrando nuevos conceptos y tecnologías (como es el caso de Ajax) dan lugar a un nuevo horizonte que hoy se llama web 2.0 y que más adelante dicen será la web 3.0.


Aplicación de Presentaciones Web 2.0: slideshare


Tenía que hacer este prefacio para que entiendan, quienes aún no creen, que el futuro está en las aplicaciones basadas en la red/web.  Hoy en día hay muy pocos nichos (y no son precisamente los negocios) en donde las aplicaciones de 'escritorio' todavía son una realidad, pero es posible que esto cambie en poco tiempo, como son los casos de videojuegos de alta performance, simuladores, etc.

Python no era un lenguaje que se caracterizara por hacer del web su mejor negocio, pero esto cambió dramáticamente con Django, un framework de desarrollo web basado en el paradigma MVC y que movió hacia adelante el lenguaje para luego encontrarse con otras soluciones (también inspiradas en ROR).  He probado todos los frameworks (o módulos) web en Python y lo cierto es que hay 3 que me han cautivado por su sencillez y rapidez: webpy, bottle y web2py;  es con este último (web2py) que estuve experimentando por más de un año y puedo decir que ICTEC ha logrando implementar diversas soluciones empleándolo exitosamente.


Panel Administrativo Web2py


Me encanta web2py porque no requiere dependencias externas para comenzar (si empleas sqlite), porque me ofrece un panel administrativo completamente basado en web, porque me permite administrar el modelo (BD) con una interfaz automáticamente generada, porque cambiar de BD se hace en una línea o porque todo tiene una respuesta por defecto (el controlador, la vista, etc.), entre muchas otras razones.  El proyecto no tiene la cobertura de django pero el creador y todos quienes contribuimos a este, procuramos implementar cuanta funcionalidad interesante pudiera existir, superando en todo sentido a cualquier framework web (hay un fact sheet que enumera y compara cada funcionalidad).
Como parte de mi contribución al proyecto me permití traducir la presentación y el fact sheet al castellano y así poder presentar a los desarrolladores hispanohablantes este maravilloso framework que debes comenzar a revisar por lo que dejo el documento (y que se encuentra por todo internet: scribd, slideshare, google docs, etc.).  Suerte!.