Los frameworks de programación han adquirido popularidad recientemente e inevitablemente, han tenido reacciones tanto positivas como negativas. Antes de averiguar de qué lado del debate te encuentras sería bueno definir qué es un framework (ojo que incluso eso está abierto a discusión).

Esencialmente, un framework, es una estructura de soporte y código que simplifica las tareas de los programadores. Los ejemplos más comunes son para JavaScript e incluyen jQuery y Prototype. Además, tenemos otros ejemplos como Ruby on Rails y Django.

Haciendo que las cosas ‘apesten’ menos

Los frameworks como Ruby on Rails y Django hacen que las tareas de desarrollar para la web sean un poco menos dolorosas. Herramientas como Dojo o jQuery hacen la creación de interfaces para el usuario ligeramente más sencillas.

Pero incluso con la cantidad de herramientas a nuestra disposición hay muchas tareas “mundanas” que simplemente apestan: puede llegar a ser difícil, repetitivo y aburrido, como bien lo expresó Jacob Kaplan-Moss. De hecho, muchos de las innovaciones en desarrollo web han surgido cuando alguien se propuso hacer que alguna tarea “apestara” menos.

Uno de los más grandes problemas con las primeras etapas del desarrollo web es que la mentalidad está esencialmente orientada a páginas. Todo lo que hicimos en estas etapas tempranas fue cambiar página.html por página.cgi por página.php.

Dijo Kaplan-Moss y continúa:

La gran revolución llegó cuando empezamos a cuestionar esto, cuando empezamos a preguntar si podíamos pensar estas cosas como aplicaciones, no como páginas.

Este es uno de los grandes avances que hemos hecho. Sin embargo, ya es tiempo de hacer una nueva transición y comenzar a pensar holísticamente en un sitio web y en toda la tecnología que se asocia a él (entiéndase: todo desde un framework hasta HTML 5, que cambiará toda la forma de trabajo de los desarrolladores).

Nota del editor

Buscas hosting de calidad?
asegura tu tranquilidad contratando tu plan de hospedaje con Okhosting, una empresa confiable y con experiencia en México, en todos nuestros servicios de alojamiento web ilimitado gratis asesoría ayuda y orientación para principiantes y avanzados, compra tu dominio .MX y si aun no tienes sitio web utiliza nuestro programa para hacer paginas web en minutos,  te invitamos a conocer nuestros planes de alojamiento ahora con mas espacio y con mas funciones profesionales. OKhosting.com  todo lo necesario para estar en internet

Algunos ejemplos

El ejemplo que Kaplan-Moss nos planteó fue el de 280slides.com, que luce y se comporta como una aplicación de escritorio: drag and drop para insertar elementos en la aplicación. Sin embargo, para lograr sus objetivos, el equipo de 280Slides tuvo que crear un nuevo framework (Capuccino) y un nuevo lenguaje (ObjectiveJ).

Si la creación de todo un nuevo framework es difícil, crear un nuevo lenguaje lo es incluso más. De seguro hay una mejor manera para hacerlo.

El problema con los frameworks

Kaplan-Moss opina que debemos repensar los frameworks porque presentan dos grandes problemas: no puedes utilizarlos más allá de un cierto punto y, peor aún, te encierran dentro del mismo framework.

Los frameworks están optimizados para lo genérico y es por eso que funcionan para muchos sitios. Sin embargo, a medida que estos sitios crecen, necesitan soluciones específicas, no genéricas. Django, Ruby on Rails y otros similares son geniales para hacer que las cosas comiencen a trabajar de forma rápida, pero con el tiempo el sitio crecerá y habrá sobrepasado las capacidades de tu framework: vaya problema.

Actualmente no es posible que escribas parte de tu sitio en Django, parte de él en Ruby on Rails y parte de él en Erlang. ¿La solución? Aún no ha llegado, pero definitivamente involucrará tomar ese gran paso y dejar atrás a los frameworks “monoteístas”. Muchos desarrolladores han escrito partes críticas de sus aplicaciones en C++ o Java y luego han usado Python para atar las tareas de mayor nivel, como una especie de “lenguaje-pegamento”.

Algo parecido podría suceder en la red, usando un lenguaje para atar otros que se utilizaron en distintas partes de la creación de un sitio. El problema es que esa solución está bastante lejana y la web sigue creciendo en complejidad y tamaño.

Es cierto que la mayoría de sitios son demasiado pequeños como para preocuparse por obtener tanto tráfico como con el que tiene que lidiar Twitter, Facebook y Google, por ejemplo. Ya vimos cómo Twitter abandonó Ruby on Rails precisamente por esto. Sin embargo, las herramientas que sitios con mucho tráfico han tenido que crear para su propio funcionamiento son precisamente las fuentes de la innovación que eventualmente llegará a todos nosotros.

Escrito por Luis Eduardo Barrueto