Lenguaje plano vs Framework

Todas las aplicaciones, independientemente de la plataforma en la que funcionen, tienen un componente común inexorable, detrás de ellas hay un código que dicta el funcionamiento.

Lo primero que se aprende para comenzar en el mundo del desarrollo es un lenguaje de programación específico, con sus funcionalidades básicas, su lógica de control, su paradigma, sus tipos de variables (si aplica)… Digamos, con otras palabras, que se aprende a hablar con un dispositivo electrónico de una manera específica. En este caso, hablamos de código plano.

Es habitual que, para asegurar una escalabilidad, se creen grupos de funcionalidades en ficheros independientes que se conocen como librerías, dicho de una forma simple, es el equivalente en el mundo del desarrollo de tener un estuche con varios destornilladores, cada uno para un tipo de tornillo específico.

Cuando un desarrollo se hace demasiado grande se termina por crear más de una librería, consiguiendo así, un ecosistema óptimo para una aplicación concreta, pero puede darse el caso de que, después de varios desarrollos, haya un conjunto de librerías en común ya que abarcan funcionalidades demasiado básicas y es entonces cuando se puede comenzar a hablar de Framerowk, poniendo otro simil, se trataría de nuestra caja de herramientas.

Y sabiendo ya qué significa «código plano» y «Framework» procedamos a responder a la siguiente pregunta, ¿qué es mejor? Puede parecer que la respuesta correcta es «un framework, trae más cosas» pero la realidad es muy diferente ya que, en realidad, la pregunta estaba mal planteada desde el comienzo, veamos un ejemplo.

Imaginemos que la pregunta se replantea para convertirse en «¿qué sistema es mejor para transportar agua, un vaso o un acueducto?» en este caso no está tan claro que la respuesta correcta sea el acueducto ya que depende de la cantidad de líquido que se quiera transportar y la distancia que va a recorrer, no tiene sentido alguno montar un sistema de tuberías muy complejo para acercar 33cl de agua desde la cocina al salón, como tampoco tiene sentido utilizar vasos de agua para desplazar 1000 litros de agua de Madrid a Barcelona.

En cuando a código, ocurre lo mismo, si nuestra aplicación va a ser muy pequeña y va a hacer tareas pequeñas y muy específicas, entonces la mejor opción es utilizar código plano, en caso contrario, mejor elegir un framework que ya disponga de herramientas testeadas que se encarguen de las tareas más complejas.

¿Quiere decir esto que no se puede utilizar un framework para aplicaciones pequeñas o código plano para aplicaciones grandes? Desde luego que no. Utilizar un framework para un desarrollo pequeño creará una aplicación con un peso innecesariamente mayor así como utilizar código plano en un software grande conllevará más tiempo de desarrollo y depuración y la estabilidad y la escalabilidad se verán afectadas.

Si bien, es cierto que ninguno de los implicados en el título de este post puede ser declarado como vencedor de este artículo, si que hay que declarar a la coherencia a la hora de elegir como ganador impepinable de este debate.