Codemotion 2013 - presentación cocoa pods

65
@patoroco [email protected] http://tactilapp.com Jorge Maroto García Cuando haces Pods ya no hay stop Saturday, October 19, 13

description

 

Transcript of Codemotion 2013 - presentación cocoa pods

Page 1: Codemotion  2013 -  presentación cocoa pods

@patoroco

[email protected]

http://tactilapp.com

Jorge Maroto García

Cuando haces Pods ya no hay stop

Saturday, October 19, 13

Page 2: Codemotion  2013 -  presentación cocoa pods

Jorge Maroto García.Co-founder & iOS Developer @ Tactilapp.+3 años jugando con iOS.AFNetworking collaborative bookhttp://afnbook.github.io/Fanboy.

Hola, me presento…

Saturday, October 19, 13

Page 3: Codemotion  2013 -  presentación cocoa pods

Flickr: http://www.flickr.com/photos/julianaorihuela/384300758/

SOFTWARE

Saturday, October 19, 13

Page 4: Codemotion  2013 -  presentación cocoa pods

Eufemismo del copy & paste.Pros: ¿fácil?Contras:

descarga + configuración manual.lib.zip, lib-old.zip, lib-oldest.zip...

Modo hacker: git clone

Gestión de dependencias IReutilización ‘manual’ del código

Saturday, October 19, 13

Page 5: Codemotion  2013 -  presentación cocoa pods

Eloy Durán - Without Cocoa Pods (https://vimeo.com/63891717)

Saturday, October 19, 13

Page 6: Codemotion  2013 -  presentación cocoa pods

Gestión de dependencias IISubmódulos GIT

Pros: fácil de actualizar.Contras: configuración manual.

Saturday, October 19, 13

Page 7: Codemotion  2013 -  presentación cocoa pods

Gestión de dependencias III

Saturday, October 19, 13

Page 8: Codemotion  2013 -  presentación cocoa pods

¿Qué?

Gestor de dependencias para Objective-C(iOS & Mac OS X).Basado en Ruby Gems + Bundler.Símiles para otros lenguajes.npm, gems, composer, Maven,...

Saturday, October 19, 13

Page 9: Codemotion  2013 -  presentación cocoa pods

¿Cuándo?

First commit, 12 Agosto 2011.Eloy Durán (@alloy).Versión actual: 0.26.2 (19.10.13).Historia & hitos:https://speakerdeck.com/orta/cocoapods-state-of-the-union

Saturday, October 19, 13

Page 10: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 11: Codemotion  2013 -  presentación cocoa pods

¿Cómo?

Gema de Ruby.Podfile + .podspec.Repositorio en github con todas las specs.

Saturday, October 19, 13

Page 12: Codemotion  2013 -  presentación cocoa pods

¿Dónde?

Web de Cocoa Podshttp://cocoapods.org/Gema de Rubyhttp://rubygems.org/gems/cocoapods

Saturday, October 19, 13

Page 13: Codemotion  2013 -  presentación cocoa pods

¿Quién?

Fuente: https://speakerdeck.com/orta/cocoapods-state-of-the-unionSaturday, October 19, 13

Page 14: Codemotion  2013 -  presentación cocoa pods

¿Cuánto?

Saturday, October 19, 13

Page 15: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 16: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 17: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 18: Codemotion  2013 -  presentación cocoa pods

Datos2 años de trabajo.1.400 colaboradores.2.300 librerías.4.000 pull-requests.6.000 podspecs.220.000 descargas (Ruby Gems).

Fuente: https://speakerdeck.com/orta/cocoapods-state-of-the-unionSaturday, October 19, 13

Page 19: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 20: Codemotion  2013 -  presentación cocoa pods

Instalación

Tip: Gemfile por proyecto *

* http://www.punteroavoid.com/blog/2013/07/12/iniciando-un-nuevo-proyecto-ios/

Saturday, October 19, 13

Page 21: Codemotion  2013 -  presentación cocoa pods

Backstage

Saturday, October 19, 13

Page 22: Codemotion  2013 -  presentación cocoa pods

Hello Pods! 1. Crear proyecto en XCode.2. Crear y configurar el Podfile.3. pod install.4. A partir de ahora se utiliza el .xcworkspace en

vez de el .xcodeproj.

Saturday, October 19, 13

Page 23: Codemotion  2013 -  presentación cocoa pods

Crear el podfile

Saturday, October 19, 13

Page 24: Codemotion  2013 -  presentación cocoa pods

Crear el podfile

Saturday, October 19, 13

Page 25: Codemotion  2013 -  presentación cocoa pods

Editar Podfile

Saturday, October 19, 13

Page 26: Codemotion  2013 -  presentación cocoa pods

Instalación

Saturday, October 19, 13

Page 27: Codemotion  2013 -  presentación cocoa pods

.xcworkspaceNuevo proyecto Pods.Añadidas las librerías del Podfile.Añadidas las dependencias.Frameworks del SDK.Otras librerías Cocoa Pods.

Saturday, October 19, 13

Page 28: Codemotion  2013 -  presentación cocoa pods

Utilizando la librería

Saturday, October 19, 13

Page 29: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 30: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 31: Codemotion  2013 -  presentación cocoa pods

Control de versiones

.xcworkspacePodfilePodfile.lockPods/

Saturday, October 19, 13

Page 32: Codemotion  2013 -  presentación cocoa pods

¿Librerías?

Foto: http://www.dogwallpapers.netSaturday, October 19, 13

Page 33: Codemotion  2013 -  presentación cocoa pods

http://cocoapods.org

Saturday, October 19, 13

Page 34: Codemotion  2013 -  presentación cocoa pods

@cocoapods

Saturday, October 19, 13

Page 35: Codemotion  2013 -  presentación cocoa pods

http://github.com/CocoaPods/specs

Saturday, October 19, 13

Page 36: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 37: Codemotion  2013 -  presentación cocoa pods

¡Mi librería tiene que ser c00l!

Saturday, October 19, 13

Page 38: Codemotion  2013 -  presentación cocoa pods

Do It Yourself

1. Crea la librería.2. git tag (*)3. Súbela a Github.4. Crea el fichero .podspec5. ¡Comparte!

* Ruby Gems Semantic Versioning http://guides.rubygems.org/patterns/#semantic_versioning

Saturday, October 19, 13

Page 39: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 40: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 41: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 42: Codemotion  2013 -  presentación cocoa pods

Los niños buenos testean los podspecs antes de enviarlos

Saturday, October 19, 13

Page 43: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 44: Codemotion  2013 -  presentación cocoa pods

Comparte el podspec

1. Repito: verifica tu podspec.2. No te saltes el paso 1.3. Fork del repositorio de Specs.4. Crear carpeta versionada de la librería.5. Push.

Saturday, October 19, 13

Page 45: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 46: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 47: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 48: Codemotion  2013 -  presentación cocoa pods

¿Y si no es mi librería?Foto: http://www.fondosni.com/

Saturday, October 19, 13

Page 49: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 50: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 51: Codemotion  2013 -  presentación cocoa pods

A mi jefe no le gusta que enseñeFoto: https://vimeo.com/51631519

Saturday, October 19, 13

Page 52: Codemotion  2013 -  presentación cocoa pods

Specs privados

1. Fork del repo Specs de github (opcional).2. Añadir repo a la búsqueda de pods.3. Crear pod normalmente.4. Guardar versionado.

Saturday, October 19, 13

Page 53: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 54: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 55: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 56: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 57: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 58: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 59: Codemotion  2013 -  presentación cocoa pods

Una ayudita, por favorSaturday, October 19, 13

Page 60: Codemotion  2013 -  presentación cocoa pods

KFCocoaPodsPlugin

https://github.com/ricobeck/KFCocoaPodsPlugin

Saturday, October 19, 13

Page 61: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 63: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 64: Codemotion  2013 -  presentación cocoa pods

Saturday, October 19, 13

Page 65: Codemotion  2013 -  presentación cocoa pods

[email protected]

http://tactilapp.com

Jorge Maroto García

Cuando haces Pods ya no hay stop

@patoroco

http://jorgemaroto.es

http://git.jorgemaroto.es

http://in.jorgemaroto.es

Saturday, October 19, 13