¿Qué es un SDK, una librería o un framework?

¿Alguna vez has hablado con un programador o desarrollador y te ha empezado a hablar de frameworks, librerías o SKDs? Si es así y no te has enterado de nada, hoy te explico qué significa cada una de estas “cosas”.

Además, en nombre de esos desarrolladores pido disculpas, ya que lo hacemos inconscientemente.

¿Qué es una librería?

Una librería es una pieza de código que puedes implementar en tu propio código para realizar ciertas tareas de manera más sencilla o eficiente. Por ejemplo, imagina que quieres hacer la suma de los 100 primeros números naturales (1+2+3+...+99+100); nosotros podemos implementar una librería que permita realizar esta suma de forma eficiente (seguramente implementando la fórmula de Gauss)

Haciendo un símil en la vida real, si queremos construir una casa y necesitamos un frigorífico, no tenemos que construir el frigorífico, podemos comprar dicho frigorífico que ha hecho alguien. Es lo mismo que ocurre con las librerías, es código que ha hecho alguien y que puede facilitarnos mucho la tarea

¿Qué es un SDK?

Un SDK (Software Development Kit) es un conjunto de librerías, ejemplos, documentación, etc. y tiene un alcance mayor que las librerías. Un SDK te permite hacer tareas más complejas (hacer una aplicación de Android por ejemplo).

Siguiendo el símil de la vida real, si una librería es el “frigorífico”, el SDK sería como comprar toda la cocina de manera completa.

¿Qué es un framework?

Un framework es un gran conjunto de librerías que, a diferencia de las librerías o los SDKs, no se enfocan en un solo objetivo. Mientras que las librerías o los SDKs es lo que se añade a tu código fuente para realizar una acción específica, el framework es el que proporciona la base para que puedas crear tu propio código con las reglas del propio framework.

Es por esto último que aprender un framework puede llegar a ser tan complicado como aprender el lenguaje de programación base, ya que utiliza unas reglas de programación propias. Tanto es así que normalmente las empresas que necesitan desarrolladores no suelen pedir conocimientos en lenguajes de programación puros, si no en frameworks específicos de dicho lenguaje.

Volviendo con el símil, el framework es como una fábrica que te permite construir cada habitación y cada elemento de la casa siguiendo una misma estética.

Últimas palabras

Aunque el post de hoy puede parecer que está destinado a aquellas personas que no son desarrolladoras, la verdad es que también va dirigido a aquellas personas que están empezando en el mundo de la programación y no comprenden la diferencia entre estos términos.

Sea cual sea tu posición, espero que con estas breves descripciones y similitudes con la vida real te hayan ayudado a diferenciar entre estos términos. Por supuesto, si tienes dudas o sugerencias, no dudes en ponerte en contacto con nosotros!


Creado por Francisco Javier Peña Vela el día 2022-04-20.