Una de las conversaciones concurrentes, en las tertulias delante de una cervecita, es la de la actual tendencia, por parte de gran parte de los “desarrolladores” de no realmente programar sobre las necesidades del cliente sino simplemente utilizar módulos/componentes/plugins/…

uso de componentes

El uso de componentes excesivos para necesidades muy simples

Esto provoca que la solución final no es más que una amalgama de elementos, muchos de ellos que no fueron diseñados para esa función y otros que realmente no son necesarios,  que no hacen más que crear la sensación de que está solucionado todo pero,  como una solución “AS IS”. De estas de no tocarlas, porque no sabemos si algo puede fallar, ni como, ni porque.

Componentes formando una solución "peligrosa"

Algunas veces la solución entraña más “peligros” de los necesarios

Uno de los ejemplos es, en WordPress, la frase “hay un plugin que lo hace”, y no nos damos cuenta que sólo adaptar ese plugin es más costoso que sólo programar a mano la parte de ese plugin que realmente utilizaremos, muchas veces es solo crear un “Custom post type” en el functions.php, y crear un par de plantillas, pero se acaba utilizando el plugin. Muchas veces modificado.

Esto se aplica muchas veces a “si yo soy muy bueno con X utilizaré X para todo”, y así nos encontramos con que muchas veces entendemos que la herramienta X es cómo una navaja suiza, y no lo es. En este punto se pondría como ejemplo: “Con Joomla se puede hacer cualquier web”, frase que también he escuchado de WordPress.

Soy de los que piensan que debemos estar aprendiendo nuevas tecnologías, no porque sean mejores que las que usamos normalmente, sino porque nos pueden aportar nuevas herramientas para presentes y futuros desarrollos.

Ejemplos:

– Hace unos años me decidí por SOLr frente a Elastic Search, entre otros porque no había un “More like this” usable, ahora utilizo más Elastic Search que SOLr.

– También hace mucho tiempo evalué Angular, era la versión 0.9.6,  y no me resultaba atractivo por los requisitos de navegador y las funcionalidades que aportaba, hoy en día es lo que utilizó todos los días.

Y así con muchos elementos, y con una clara determinación, cada problema requiere sus propias herramientas, no las mías.