Slide 1

Slide 1 text

21 Feb 2014 @orta Orta Therox CocoaPods

Slide 2

Slide 2 text

21 Feb 2014 @orta This guy r

Slide 3

Slide 3 text

21 Feb 2014 @orta

Slide 4

Slide 4 text

21 Feb 2014 @orta

Slide 5

Slide 5 text

21 Feb 2014 @orta

Slide 6

Slide 6 text

21 Feb 2014 @orta

Slide 7

Slide 7 text

21 Feb 2014 @orta What is CocoaPods?

Slide 8

Slide 8 text

21 Feb 2014 @orta WHAT IS COCOAPODS? A Dependency Manager A Community around mostly Open source Objective-C code

Slide 9

Slide 9 text

21 Feb 2014 @orta WHAT IS COCOAPODS? Three heads Core team of ~15 ~150 Contributors to tools Thousands of contributors to libraries

Slide 10

Slide 10 text

21 Feb 2014 @orta WHAT IS COCOAPODS? Users downloads a ruby gem Developers provide recipes for creating Xcode projects call Podspecs Users write a list of dependencies in a Podfile CocoaPods pulls in externals to your project with as little changes to your project as possible

Slide 11

Slide 11 text

21 Feb 2014 @orta REAL LIFE USAGE

Slide 12

Slide 12 text

21 Feb 2014 @orta When would you use CocoaPods?

Slide 13

Slide 13 text

21 Feb 2014 @orta WHEN WOULD YOU USE COCOAPODS? You want to use someone else's code You want to start splitting up your code base

Slide 14

Slide 14 text

21 Feb 2014 @orta Example

Slide 15

Slide 15 text

21 Feb 2014 @orta REAL LIFE USAGE

Slide 16

Slide 16 text

21 Feb 2014 @orta REAL LIFE USAGE

Slide 17

Slide 17 text

21 Feb 2014 @orta REAL LIFE USAGE

Slide 18

Slide 18 text

21 Feb 2014 @orta How does it compare?

Slide 19

Slide 19 text

21 Feb 2014 @orta BREW Dependency manager for mac terminal apps Collection of steps for installing Started the trend towards externalising code

Slide 20

Slide 20 text

21 Feb 2014 @orta RUBY + BUNDLER Hosts source files Very deep dependency resolving

Slide 21

Slide 21 text

21 Feb 2014 @orta NPM Has every feature under the sun Costs the owners 6 figures

Slide 22

Slide 22 text

21 Feb 2014 @orta ANDROID? They don’t have one… Someone should fix that.

Slide 23

Slide 23 text

21 Feb 2014 @orta 2013

Slide 24

Slide 24 text

21 Feb 2014 @orta THE BAD Lack of authentication Still a lot of manual work Hit libgit bug

Slide 25

Slide 25 text

21 Feb 2014 @orta THE GOOD Hit 3500 libraries 2nd most merged Pull Requests on Github 2nd most contributors to a repo Rebranding shows big increase in engagement

Slide 26

Slide 26 text

21 Feb 2014 @orta How do we deal with communication?

Slide 27

Slide 27 text

21 Feb 2014 @orta BLOG

Slide 28

Slide 28 text

21 Feb 2014 @orta BLOG

Slide 29

Slide 29 text

21 Feb 2014 @orta TWITTER

Slide 30

Slide 30 text

21 Feb 2014 @orta UPDATING THE GEM

Slide 31

Slide 31 text

21 Feb 2014 @orta CHANGELOG

Slide 32

Slide 32 text

21 Feb 2014 @orta What is New?

Slide 33

Slide 33 text

21 Feb 2014 @orta WHAT IS NEW? pod browse ARAnalytics pod doc FLKAutoLayout pod try ORStackView TRUNK PLUGINS DESIGN

Slide 34

Slide 34 text

21 Feb 2014 @orta WHAT IS NEW? Centralised authentication server Handles taking a JSON Podspec and merging into the Specs repo TRUNK PLUGINS DESIGN

Slide 35

Slide 35 text

21 Feb 2014 @orta TRUNK

Slide 36

Slide 36 text

21 Feb 2014 @orta TRUNK

Slide 37

Slide 37 text

21 Feb 2014 @orta WHAT IS NEW? TRUNK PLUGINS DESIGN

Slide 38

Slide 38 text

21 Feb 2014 @orta BRIEF DEMO OF WEBSITES

Slide 39

Slide 39 text

21 Feb 2014 @orta WHAT IS NEW? TRUNK PLUGINS DESIGN

Slide 40

Slide 40 text

21 Feb 2014 @orta Roadmap

Slide 41

Slide 41 text

21 Feb 2014 @orta ITERATIVE DEPENDENCY RESOLVER Create a recursive dependency graph, looking through history This means that very complex dependencies can be automated

Slide 42

Slide 42 text

21 Feb 2014 @orta OSX SANDBOXING Existed for a year as sandbox-pod CocoaPods only has access to project folder

Slide 43

Slide 43 text

21 Feb 2014 @orta POD EDIT COMMAND Simplify contributing back to open source Convert the local pod into a forked remote that uses symlinks allowing edits

Slide 44

Slide 44 text

21 Feb 2014 @orta POD ANALYTICS Built into CocoaPods command line tool Provide download / install numbers

Slide 45

Slide 45 text

21 Feb 2014 @orta SPECS REPO JSON SWITCH No more executable code coming from external sources Means the “CocoaPods API” redirects to github as the canonical source for files Briefly in action with 0.29’s pod push

Slide 46

Slide 46 text

21 Feb 2014 @orta OFFICIAL COCOAPODS API Documented fast search API Related metadata on-top for CocoaPods Web hooks for external services

Slide 47

Slide 47 text

21 Feb 2014 @orta COCOAPODS.ORG V2 Should be able to find the right pod on one page Each pod will have its own page Search will provide large amounts of context Safari push notifications for library updates

Slide 48

Slide 48 text

21 Feb 2014 @orta COCOAPODS.ORG SEARCH V2 • Inline READMEs • Relative Popularity • Github stars / forks • Project maturity • Release cycle • Related Projects • Screenshots • Improved Attribution

Slide 49

Slide 49 text

21 Feb 2014 @orta COCOADOCS.ORG V2 Re-think design. Improve DocSets support Improved error handling

Slide 50

Slide 50 text

21 Feb 2014 @orta Note

Slide 51

Slide 51 text

21 Feb 2014 @orta TRUNK

Slide 52

Slide 52 text

21 Feb 2014 @orta Thanks @orta / @CocoaPods / @CocoaPodsFeed