Cocoapods es una herramienta de gestión de dependencias, esto quiere decir que nos ayuda a utilizar librerías de terceros (por ejemplo un controlador de sonido, un manejador de imágenes, etc) en nuestros proyectos, permitiéndonos agilitar el desarrollo. La forma que se pudiera hacer esto es copiando manualmente las librerías a nuestro proyecto para usarlas, pero con Cocoapods es automático, con tan solo ejecutar un comando ya está. Acá les dejo más información sobre Cocoapods y cómo usarlo.

Durante años, Cocoapods ha sido una herramienta indispensable para el desarrollo, todo ello debido a la facilidad de su uso y a la amplia gama de librarías de terceros que tiene (en su gran mayoría Objective-C), pero ahora (y quizás pocos la conocen) existe otra opción llamada Carthage -> https://github.com/Carthage/Carthage

Carthage es igualmente una herramienta de gestión de dependencias simple y descentralizada. Lo bueno es que está apoyando totalmente al desarrollo con Swift, el nuevo y potente lenguaje de programación de Apple. La diferencia principal con Cocoapods es que Carthage soporta Frameworks dinámicos y esto es iOS8 y superiores. Teniendo en cuenta que en la actualidad ya casi nadie posee un viejo dispositivo con iOS6, es muy rentable hacer proyectos comenzando con iOS8, puesto que todos los devices que tenían iOS7 han sido actualizados al 8.

diferencias cocoapods y carthage

Otra diferencia entre ambas herramientas de gestión de dependencias es que CocoaPods crea y actualiza automáticamente un espacio de trabajo en Xcode (Workspace) por defecto para su aplicación y todas las dependencias. En cambio, Carthage “construye binarios” utilizando xcodebuild y deja la responsabilidad de integrarlos en manos del usuario. En resumen CocoaPods “es más fácil de usar y te instala todo en tu workspace” mientras que Carthage es flexible y discreto porque usa xcodebuild.

Desde mi punto de vista, si eres un desarrollador novato (junior), te recomendaría comenzar con Cocoapods por su fácil manejo y para que conozcas bien cómo es el proceso de usar una herramienta de gestión de dependencias con amplia variedad de librerías, pero si ya eres un Senior y aun no has probado Carthage, es momento de darle un mordisco ya que tiene muchas sorpresas que te gustarán y su punto de enfoque realmente es excelente.