Programación Orientada a Librerías

Los programadores la odian. Usa este simple truco para hacer mejores apps.

Lo hemos escuchado cientos de veces, “las dependencias son terribles, no hay que usar ninguna librería hecha por terceros”. En mi opinión es un fatal error de muchas personas que llegan a infectan equipos y hasta empresas con una mentalidad tóxica frente a lo que ha sido uno de los mayores logros del Internet. El compartir conocimiento.

Dejando atrás el título superfluo, me gustaría explicar qué hace una librería algo esencial para el desarrollo de apps. Las librerías deben ser:

  • Independientes.
  • De un solo propósito.
  • Fácil de usar.
  • Código abierto

Independientes

Las librerías que creamos y consumimos deben compilar independientemente de tu proyecto, esto quiere decir que se puede extraer el código de la librería, y poder compilar y ejecutarlo sin ningún problema.

De un solo propósito

Solo deben hacer una cosa y debe hacerla muy bien. Esto permite un código más legible y fácil de entender. Pero, también nos entrena a resolver problemas informáticos de manera mas precisa.

Fácil de usar

Siempre se debe intentar obtener claridad sobre «magia». El código siempre es leído por un humano, lo escribimos para nosotros, que una computadora puede ejecutarlo es algo adicional.

Código abierto

Compartir experiencias, dudas, proyectos en Internet es algo que se ha transformado en nuestro día a día, sitios web como github.com y stackoverflow.com posiblemente llevan sobre sus hombros la mayoría de los proyectos actuales en iOS.

Integrar librerías de terceros es más fácil que nunca gracias a Cocoapods, Carthage y el nuevo Swift Package Manager de Apple 😍. Pero esto no se debe tomar a la ligera, es importante recordar que cualquier librería que incluimos en nuestros proyectos es nuestra librería, debemos asumir responsabilidad, corregir errores, mejorarla.

Crecer como profesional usando librerías

Cuando compartimos con otras personas que piensan totalmente distinto, que solucionan problemas similares a nosotros, nos hace incrementar nuestra capacidad de entendimiento y de habilidad. Esto es un valor agregado de adoptar soluciones externas a nuestros problemas.

Limites.

Todo tiene un limite, agregar una libreria para solucionar un problema y después nunca saber como poder hacer eso nosotros es un error. Por eso recomiendo usar librerías solo para resolver problemas que conoces, nunca límites tu conocimiento por temor a lo desconocido.


Este es un tema que tuve la suerte de presentar ante un público en Dublín, Irlanda. Si deseas ver las diapositivas en inglés, las puedes encontrar en el siguiente enlace:

https://speakerdeck.com/raulriera/library-orientated-programming