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

CocoaPods - The Road to 1.0

Orta
January 11, 2014

CocoaPods - The Road to 1.0

What is CocoaPods?
Who Makes CocoaPods?
How do you stay up to date?
What is New?
Roadmap to 1.0

Orta

January 11, 2014
Tweet

More Decks by Orta

Other Decks in Programming

Transcript

  1. #mceconf #mce-cocoapods 11 Jan 2014
    @orta
    Orta Therox
    CocoaPods
    The Road to 1.0

    View Slide

  2. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    What is CocoaPods?

    View Slide

  3. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    WHAT IS COCOAPODS?
    A Dependency Manager
    A Community around mostly Open source
    Objective-C code

    View Slide

  4. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    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

  5. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    REAL LIFE USAGE

    View Slide

  6. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    Who Makes
    CocoaPods?

    View Slide

  7. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    WHO MAKES COCOAPODS?

    View Slide

  8. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    WHO MAKES COCOAPODS?

    View Slide

  9. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    WHO MAKES COCOAPODS?

    View Slide

  10. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods

    View Slide

  11. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods

    View Slide

  12. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    How to stay up to date?

    View Slide

  13. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    BLOG

    View Slide

  14. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    BLOG

    View Slide

  15. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    TWITTER

    View Slide

  16. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    UPDATING THE GEM

    View Slide

  17. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    CHANGELOG

    View Slide

  18. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    What is New?

    View Slide

  19. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    WHAT IS NEW?
    pod browse ARAnalytics
    pod doc FLKAutoLayout
    pod try ORStackView
    TRUNK
    PLUGINS DESIGN

    View Slide

  20. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    WHAT IS NEW?
    Centralised authentication server
    Handles taking a JSON Podspec and merging
    into the Specs repo
    TRUNK
    PLUGINS DESIGN

    View Slide

  21. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    TRUNK

    View Slide

  22. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    TRUNK

    View Slide

  23. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    WHAT IS NEW?
    TRUNK
    PLUGINS DESIGN

    View Slide

  24. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    WHAT IS NEW?
    TRUNK
    PLUGINS DESIGN

    View Slide

  25. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    WHAT IS NEW?
    TRUNK
    PLUGINS DESIGN

    View Slide

  26. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    Roadmap

    View Slide

  27. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    ITERATIVE DEPENDENCY RESOLVER
    Create a recursive dependency graph, looking
    through history
    This means that very complex dependencies can
    be automated

    View Slide

  28. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    OSX SANDBOXING
    Exists since 0.20 as sandbox-pod
    CocoaPods only has access to project folder

    View Slide

  29. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    POD EDIT COMMAND
    Simplify contributing back to open source
    Convert the local pod into a forked remote that
    uses symlinks allowing edits

    View Slide

  30. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    POD ANALYTICS
    Built into CocoaPods command line tool
    Provide download / install numbers

    View Slide

  31. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    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
    In action from 0.29 with pod push

    View Slide

  32. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    OFFICIAL COCOAPODS API
    Documented fast search API
    Related metadata on-top for CocoaPods
    Web hooks for external services

    View Slide

  33. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    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
    Push Notifications for Pod updates

    View Slide

  34. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    COCOAPODS.ORG SEARCH V2
    • Inline READMEs
    • Relative Popularity
    • Github stars / forks
    • Project maturity
    • Release cycle
    • Related Projects
    • Screenshots
    • Improved Attribution
    • Comments (maybe)

    View Slide

  35. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    COCOADOCS.ORG V2
    Re-think design.
    Improve DocSets support
    Improved error handling

    View Slide

  36. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    Note

    View Slide

  37. #mceconf 11 Jan 2014
    @orta
    #mce-cocoapods
    TRUNK

    View Slide

  38. #mceconf #mce-cocoapods 11 Jan 2014
    @orta
    Thanks
    @orta / @CocoaPods / @CocoaPodsFeed

    View Slide