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
160
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
700
The Future Of Computing
pietbrauer
0
47
DevOps in the iOS world
pietbrauer
0
380
FBSnapshotTestCase
pietbrauer
1
260
Modular iOS App @ UIKonf 2014
pietbrauer
7
260
Scaling iOS Development
pietbrauer
1
83
Modular iOS Apps
pietbrauer
2
340
Unit Testing
pietbrauer
1
74
Other Decks in Programming
See All in Programming
Webからモバイルへ Vue.js × Capacitor 活用事例
naokihaba
0
740
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
360
Create a website using Spatial Web
akkeylab
0
290
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
240
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
840
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
1
850
複数アプリケーションを育てていくための共通化戦略
irof
10
4k
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
380
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
0
140
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
3
760
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
210
ReadMoreTextView
fornewid
1
450
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Making Projects Easy
brettharned
116
6.3k
Writing Fast Ruby
sferik
628
61k
Visualization
eitanlees
146
16k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.9k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Being A Developer After 40
akosma
90
590k
GraphQLとの向き合い方2022年版
quramy
46
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
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.