¿Los Frameworks apestan?
Visita este artículo en http://www.estadobeta.com/2006/05/09/%c2%bflos-frameworks-apestan/
Por Ismael en Patrones de diseño, notasEric Meyer (si, el mismo gurú de CSS) y Jonathan Snook publican casi en paralelo unos posts donde postulan la inutilidad de los frameworks de desarrollo como Ruby on Rails, CakePHP, Django y otros ambientes basados en MVC.
Los argumentos gravitan sobre la dificultad de aprender a manejar las características específicas del framework (”es como aprender un nuevo lenguaje!”) hasta el reclamo de que los frameworks limitan la libertad del programador (este último muy común entre los aficionados a PHP ).
Sobre el primer argumento, qué esperaban! Al parecer existe la presunción de que los frameworks de desarrollo son para facilitar el desarollo para los no programadores. Nada más lejos de la verdad: los framework estan diseñados para facilitar el desarrollo de tareas comunes a los programadores experimentados. Antes de ponerse a trabajar con un framework es necesario manejar conceptos como OOP y Patrones de Diseño (especialmente MVC).
Sobre el segundo, traduzco textual el comentario que dejé en esos blogs:
La arquitectura de HTTP es “solicitud y respuesta“. El usuario presiona algo en la página y el navegador envía una solicitud al servidor, quien a su vez envía una respuesta de vuelta al navegador para que este la muestre. Cualquier cosa que hagas para la Web debe estar construida sobre esa limitación. Buenos frameworks MVC como Ruby on Rails o CakePHP simplemente ponen una clase escuchando las solicitudes (el Controlador) y otra que imprima la respuesta de vuelta a la pantalla (la Vista) -además del Modelo, opcionalmente, que efectua los procesos “pesados” necesarios-. Esas dos instancias, la solicitud y la respuesta, son un supuesto en el mundo del desarollo para la Web y no hay forma de evitarlos. Dentro del Controlador, el Modelo o la Vista puedes hacer lo que quieras y lo que sea que hagas comunmente sin frameworks. Los frameworks simplemente preparan el terreno para que agregues tu código en los lugares adecuados y refuerzan la separación de tareas, algo muy bueno en programación.
En verdad no veo cómo un buen framework puede limitarte para hacer cosas complejas para la Web.
- Servicios:
- Comentarios RSS
- Menear!
- Del.icio.us

5/9/2006 at 12:35 pm
Y, ¿por qué será que Zend acaba de iniciar esto http://framework.zend.com/ ?
Saludos.
5/9/2006 at 1:07 pm
Cierto. Al parecer la idea del Zend Framework es poner a competir a PHP con tecnologías como J2E y .NET, que tienen sus propios frameworks muy maduros.
Lo especial del Zend Framework es que está a medias entre un framework “de verdad” (o sea un ambiente que automatice la relación entre sus módulos) y una biblioteca de clases utilitarias independientes que puedes usar por separado. Por ejemplo, puedes elegir usar la clase para Base de Datos pero no el sistema de templates o el controlador. A excepción del Active Record de Rails, que es un componente autónomo de Ruby, esto es raro en los otros frameworks.
1/13/2008 at 3:40 pm
Me encuentro utilizando cakephp para mis proyectos y lo encuentro muy productivo. Coincido en que ahorra trabajo solo a un programador experimentado, y si, es necesario dedicarle tiempo para conocer el framework.
2/5/2008 at 1:38 pm
Claro en la actualidad estamos es una carrera contra el tiempo en productividad; eso de frameworks, no va con algunos (yo por ejemplo), los frameworks como realmente deben ser tienen q ayudar realmente al programador no hacer todo por el, pareciera una estrategia tipo microsoft q cree q todos somos estupidos, soy de los q prefiere reinventar la rueda o ver que esta hecho y mejorarlo luego liberarlo, ni sikiera en J2SE y J2EE me agradaron los frameworks a excepcion de hibernate
7/23/2008 at 5:51 pm
bueno, creo que la necesidad de crear un framework en caso de php es justamente para “separar” el entorno de un diseñador y un desarrollador web que tienen diferentes fines, es por eso que es indispensable, sin embargo estoy de acuerdo que es molestoso aprender un “nuevo lenguaje” tal es el caso de smarty el cual vengo usando, pero tambien tengo que alabar ese trabajo porque no mezclo codigo se cuando actuar como diseñador y cuando como desarrollador, claro que sera un gran inconveniente si existe un diseñador porque no va a entrar a programar y ver un codigo diferente provoca mareos, pero debemos estar acostumbrandonos a eso por una simple filosofia en la web “divide y venceras”