¿Ahora picar frameworks propios es malo?

Vaya, vaya. Leo en PHP Senior:

Si por cualquier razón la respuesta es “tenemos un framework propio”, mal pinta la cosa. De hecho, hasta me atrevería a ser radical y decir que es hora de huir de ahí como del demonio. A 2008, el mundo del software no necesita otro framework casero realizado por mentes privilegiadas

Vamos a ver si yo le encuentro sentido a picar un framework propio a ese 1% de situaciones :)

Utilizar un framework desarrollado por otros es bastante útil, completamente cierto. Por varias razones: seguramente lo haya hecho gente más lista que tú, lo han revisado muchas más personas y lo han usado en muchas más situaciones por lo que es mucho menos probable que haya bugs…

Pero ¿qué pasaría si todo el mundo pensara así? ¿qué pasaría si nadie se tirara a la arena? ¿que pasaría si nadie pensara que las cosas se pueden hacer mejor? Pues que no tendríamos Rails, no tendríamos CodeIgniter, etc, etc, etc…

Yo en mi caso no he picado un framework propio sino 3 :) En la mayoría de casos por requerimientos de los proyectos. Por ejemplo, el que tenemos en mi curro actual tenía que ser compatible hasta con player 6 y cuando miré los frameworks disponibles no encontré ninguno que se adaptara.

Dicho esto, desde que he descubierto CodeIgniter he desechado mi triste wanna-be framework en PHP. ¿Por qué? Pues porque como PHP no es mi fuerte, estaba claro que mejor ser usuario y no creador. Mejor beneficiarme del curro de gente que sabe mucho más que yo de PHP.

En lugar de deshechar tan rápidamente los frameworks propios hay que pensar un poco más, hay ocasiones en las que yo creo que es la mejor solución. Lo que nos lleva a la gran pregunta:

¿Cuándo picar y cuándo usar el código de los demás?

Sólo la experiencia te lo puede decir. ¿Y cómo pillar la experiencia? Picando un framework propio :) No lo digo en broma, yo creo que es un MUY buen ejercicio. No se tarda tanto en darse cuenta de que si lo que has picado es bueno o no.

Si lo puedes reutilizar fácilmente, si se pueden añadir nuevas funcionalidades sin tener que tocar muchas clases, si se puede utilizar para proyectos muy variados…. entonces lo has hecho bien. Si es todo lo contrario, échale un ojo a los frameworks que tengas a tu alrededor.

Así, a las malas, picar un framework propio es bueno aunque sea para saber que no lo tienes que hacer más. Es el clásico “no soy tan malo, por lo menos sirvo ejemplo de lo que no hay que hacer”.

+1 por reinventar la rueda con sentido.

Salud!

Educa al friki

6 Responses to “¿Ahora picar frameworks propios es malo?”

  1. Sputnik Says:

    Muy buena lección de sentido común.
    A lo mejor deberías mandarle este artículo al Juez y Verdugo de PHP Senior…

  2. sole Says:

    Ermmm mmmmmm que te diria yo? Mejor un framework propio donde haces lo que hace falta, que alguien que no sabe lo que esta ocurriendo, usando un framework ajeno (y sus consecuencias). Si empiezas desde cero a usar un framework, no te enteras de un monton de cosas que estan pasando “en la sombra”, como tu dices.

    Ahora bien, creo que si voy a una empresa, prefiero encontrarme un framework ajeno y conocido. Mil veces antes que uno in-house. Y yo te dire porque: por poca que sea, hay alguna documentacion cuando los frameworks son ajenos y open source, y ademas… se “medio respetan” las decisiones en ese framework.

    Mientras que si fuera un desarrollo propio, hay siempre “politics” e intrigas varias acerca de quien de la empresa hizo tal cosa, por que funciona mal (siempre es culpa de alguien), discusiones sobre los coding standards, el no se que y el no se cuantos… y el framework es un cachondeo basicamente.

    Y te lo digo por experiencia. Estuve en una empresa en la que habian ido construyendo un frame-engendro con el paso de los anyos, para llevar todas las websites que se traian entre manos. Instalar una web en local te podia traer UNA SEMANA, porque los requerimientos no estaban documentados en ningun sitio, ademas ibas encontrando bugs (”features” que decian ellos) que tenias que resolver para poder instalarlo en otra maquina que no fuera el servidor, etc, etc.

    Eso en un framework conocido no pasa, o no deberia pasar.

    Asi que: para aprender, hay que hacerse un framework pequenyito. Para currar con otros, usar uno ajeno y a ser posible open.

    Y a lo mejor te das cuenta, usando el tuyo, de que hay uno mejor o que cubre exactamente lo que querrias tener en el tuyo pero que no tienes tiempo de hacer. Pues hale, se coge y se usa. Sin complejos :-P

  3. fernando Says:

    un saludo a todos….
    bueno bajo mi experiencia personal, yo animaria a todo el mundo a hacerse uno propio, de momento para aprender bien, creo q es como se ven las cosas con profundidad, y ademas por otro lado en cada sitio se trabaja de una manera, entran unos proyectos concretos q con el tiempo vas viendo q necesidades tienen, q te interesa automatizar y q no.
    por otro lado, tampoco es mala idea ir viendo lo q se cuece por ahi :-)

  4. Marcos Says:

    Que poco me gusta la palabra framework y tantas otras del estilo…

    Yo voto por hacerte tu uno, y no demasiado pequeño no vaya a ser que no topes con ningun problema y no te sirva de nada.

    Un tema que no ha salido en el post o en los comentarios, en contra del uso de soluciones estándar: como mola cuando se detecta una vulnerabilidad en algun sistema de estos, y luego resulta que se revientan 1.000.000 de websites en 2 días por 20 hackercillos de 12 años con ganas de fardar ante sus amigos. Eso también va incluido con los sistemas muy utilizados y reutilizados.

    Muy buena reflexión zárate, como molan tus chapas!

  5. Enrique Place Says:

    Estimado, mal me referencias. Lo que estás citando no es de mi puño y letra, es de otro artículo (que de todas formas comparto).

    De lo que habla es justamente de lo que comentas aquí, no tiene sentido seguir re-inventando la rueda, para aprender ya tienes el propio framework y los proyectos que puedes construir arriba de ellos, sin tener que seguir lidiando con programación artesanal y errores típicos de la falta de experiencia.

    Si quieres aprender, nadie te impide que te hagas un framework, pero si quieres ser profesional y te dedicas a proyectos comerciales concretos, no será muy buena decisión optar por un framework no probado.

    PD: a título personal te comento, si has tenido que hacer 3 frameworks, es que ninguno han sido lo suficientemente “frameworks” (herramientas genéricas) como para seguir construyendo y mejorando a continuación de cada proyecto.

  6. Dando la chapa - » Frameworks propios, parte 2 Says:

    [...] que debido a la magia de los trackbacks Enrique Place (PHP Senior) se pasó por aquí a comentar mi post sobre su post sobre frameworks propios. Volvemos a estar en desacuerdo :) No tiene sentido seguir [...]

Leave a Reply