Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Snow*Mobile - CocoaPods

Orta
February 21, 2014

Snow*Mobile - CocoaPods

An overview of CocoaPods oriented towards people who may have not heard of the dependency manager.

Orta

February 21, 2014
Tweet

More Decks by Orta

Other Decks in Technology

Transcript

  1. 21 Feb 2014
    @orta
    Orta Therox
    CocoaPods

    View Slide

  2. 21 Feb 2014
    @orta
    This guy
    r

    View Slide

  3. 21 Feb 2014
    @orta

    View Slide

  4. 21 Feb 2014
    @orta

    View Slide

  5. 21 Feb 2014
    @orta

    View Slide

  6. 21 Feb 2014
    @orta

    View Slide

  7. 21 Feb 2014
    @orta
    What is
    CocoaPods?

    View Slide

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

    View Slide

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

    View Slide

  10. 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

    View Slide

  11. 21 Feb 2014
    @orta
    REAL LIFE USAGE

    View Slide

  12. 21 Feb 2014
    @orta
    When would you
    use CocoaPods?

    View Slide

  13. 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

    View Slide

  14. 21 Feb 2014
    @orta
    Example

    View Slide

  15. 21 Feb 2014
    @orta
    REAL LIFE USAGE

    View Slide

  16. 21 Feb 2014
    @orta
    REAL LIFE USAGE

    View Slide

  17. 21 Feb 2014
    @orta
    REAL LIFE USAGE

    View Slide

  18. 21 Feb 2014
    @orta
    How does it
    compare?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  23. 21 Feb 2014
    @orta
    2013

    View Slide

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

    View Slide

  25. 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

    View Slide

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

    View Slide

  27. 21 Feb 2014
    @orta
    BLOG

    View Slide

  28. 21 Feb 2014
    @orta
    BLOG

    View Slide

  29. 21 Feb 2014
    @orta
    TWITTER

    View Slide

  30. 21 Feb 2014
    @orta
    UPDATING THE GEM

    View Slide

  31. 21 Feb 2014
    @orta
    CHANGELOG

    View Slide

  32. 21 Feb 2014
    @orta
    What is New?

    View Slide

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

    View Slide

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

    View Slide

  35. 21 Feb 2014
    @orta
    TRUNK

    View Slide

  36. 21 Feb 2014
    @orta
    TRUNK

    View Slide

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

    View Slide

  38. 21 Feb 2014
    @orta
    BRIEF DEMO OF WEBSITES

    View Slide

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

    View Slide

  40. 21 Feb 2014
    @orta
    Roadmap

    View Slide

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

    View Slide

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

    View Slide

  43. 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

    View Slide

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

    View Slide

  45. 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

    View Slide

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

    View Slide

  47. 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

    View Slide

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

    View Slide

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

    View Slide

  50. 21 Feb 2014
    @orta
    Note

    View Slide

  51. 21 Feb 2014
    @orta
    TRUNK

    View Slide

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

    View Slide