Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Yet another Dependency Manager
Search
Piet Brauer
January 08, 2015
Programming
0
150
Yet another Dependency Manager
Held at the local Cocoaheads Hamburg
Piet Brauer
January 08, 2015
Tweet
Share
More Decks by Piet Brauer
See All by Piet Brauer
Designing Pro Apps @ FrenchKit 2016
pietbrauer
0
650
The Future Of Computing
pietbrauer
0
44
DevOps in the iOS world
pietbrauer
0
370
FBSnapshotTestCase
pietbrauer
1
260
Modular iOS App @ UIKonf 2014
pietbrauer
7
260
Scaling iOS Development
pietbrauer
1
79
Modular iOS Apps
pietbrauer
2
330
Unit Testing
pietbrauer
1
68
Other Decks in Programming
See All in Programming
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
510
LangChainの現在とv0.3にむけて
os1ma
4
940
Regular Expressions, REXML, Automata Learning
makenowjust
0
220
サーバーレスで負荷試験!Step Functions + Lambdaを使ったk6の分散実行
shuntakahashi
6
1.6k
Method Swizzlingを行うライブラリにおけるマルチモジュール設計
yoshikma
0
120
Prolog入門
qnighy
4
1k
GraphQL あるいは React における自律的なデータ取得について
quramy
11
3k
AndroidアプリのUIバリエーションをあの手この手で確認する / Check UI variations of Android apps by various means
tkmnzm
1
200
Debugging: All you need to know (for simultaneous interpreting)
jmatsu
2
920
開発を加速する共有Swift Package実践
elmetal
PRO
0
420
Pythonで改めて考える「クラス(class)」の使いどころ
os1ma
4
930
React + TextAliveでカッコいいLyric Applicatioinを作ろう!!
tosuri13
0
400
Featured
See All Featured
Become a Pro
speakerdeck
PRO
22
4.9k
RailsConf 2023
tenderlove
28
810
Web development in the modern age
philhawksworth
205
10k
Building Adaptive Systems
keathley
36
2.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
24
610
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
278
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
Code Reviewing Like a Champion
maltzj
517
39k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
Why You Should Never Use an ORM
jnunemaker
PRO
53
8.9k
The Cost Of JavaScript in 2023
addyosmani
42
5.7k
Teambox: Starting and Learning
jrom
131
8.7k
Transcript
Yet another Dependency manager by the creator of @AirportQuiz
Cocoapods • since 17/9/2011 • originally created by @alloy •
written in ruby • currently 7499 packages published
Carthage • since 18/11/2014 • created by jspahrsummers • written
in Swift • theoretically every Xcode project can be a package
Cocoapods Installation gem install cocoapods
Carthage installation brew install carthage
Providing a package (Cocoapods edition) • build your project •
specify a podspec (easy ruby syntax) • push it to trunk • new authentication system • pushes it to Github specs repository
Providing a package (Carthage edition) • build your project •
define dependencies (if any) in a Cartfile (custom DSL) • provide a Xcode project that builds a framework
Integrating other projects into yours (Cocoapods) • Write it down
in Podfile • pod "NBNRealmBrowser", '~> 0.2.0' • pod install • Cocoapods will download dependencies and integrate them into your project
Integrate other projects into yours (Carthage) • Write down in
Cartfile • github "NBNPhotoChooser" ~> 0.2.0 • carthage update • integrate the built .frameworks yourself
Upsides Cocoapods • well done dev toolset around dependencies •
Cocoadocs • project bootstrapping • widely adopted and supported • no integration pain
Upsides Carthage • new and fresh • not another language
to know • feels more natural for iOS developers
Downsides Cocoapods • modifies your project and you have to
use a Xcode workspace • written in Ruby
Downsides Carthage • pretty new • adoption is not as
widely as with cocoapods • integration is still a small pain • iOS 8 only
Conclusion This page intentionally left blank.