Grok: un framework muy bárbaro

Grok, tal y como lo definen sus autores, es "un framework para aplicaciones web hecho para desarrolladores de Python. Está enfocado tanto para principiantes como para los muy expertos. Grok está pensado para desarrollo agile."

Este framework procede del archiconocido Zope, todo un decano en el mundo de servidores de aplicaciones en entornos web, del cual se usan el ZTK (Zope Toolkit), un conjunto de librerías orientadas a objetos especialmente orientadas a la reutilización de componentes en entornos web.

Señor comercial, ¿qué tiene Grok de especial

Cuando comenzamos el primer proyecto no vemos nada especial. Parece que todos los frameworks de este tipo son iguales. Pero en cuanto empezamos a indagar más en el funcionamiento y la forma de hacer las cosas de Grok encontramos características diferenciadores que justifican su existencia en este competitivo ecosistema.

Lo primero es que comparte núcleo con Zope, lo cual le inyecta una enorme cantidad de bloques ya hechos, y no sólo eso, sino que también implementa una forma eficiente de unirlos en nuestros proyectos. Aparte de todo esto, Zope existe desde 2001, por lo que el otro punto fuerte es una base de conocimiento acumulado que lo convierte en una opción sólida y confiable.

Vale, seguro ... quiero que se ponga el técnico

Los bloques de Grok se realizan sin modificar nada del núcleo. Tenemos dos mecanismos principales para enlazar directamente con el sistema: anotaciones, que permiten modificar la estructura de los objetos desde bloques externos, sin que dichos bloques o módulos sepan (ni tengan que saber) qué puede estar pasando fuera de ellos mismo, y los hooks o enganches, donde nos ponemos enmedio de los eventos generados por el sistema para poder tomar parte en ellos.

De esta manera hay muchos módulos interesantes que podremos incluir fácilmente en nuestras aplicaciones, como un generador automático de formularios a partir de los esquemas de la base de datos, así como una integración de éstos mediante ORMs (Alchemy,etc), REST, JSON, XMLRPC, internacionalización, workflows y muchos más. Si echais un vistazo podéis ver que la lista es realmente grande y de sus componentes de buena calidad. ¿Para qué volver a inventarlo todo?

Y, ¿cómo puedo aprender a hacer todo esto?

Grok nos proporciona muchos recursos en su página web y, aparte de todos los tutoriales que podemos encontrar por todas partes, siempre es buena idea comenzar en el tutorial oficial donde nos aseguramos que se nos va a enseñar a hacer el desarrollo usando la forma correcta.

Y como siempre se dice (adaptado), un ejemplo vale más que mil palabras, en la misma documentación de Grok disponemos de un amplio abanico de aplicaciones de ejemplo para poder probar, cacharrear y espiar sin tener que dar muchas vueltas.

Más información | Página oficial de Grok

Portada de Genbeta