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
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Yet another Dependency Manager
Held at the local Cocoaheads Hamburg
Piet Brauer
January 08, 2015
More Decks by Piet Brauer
See All by Piet Brauer
Designing Pro Apps @ FrenchKit 2016
pietbrauer
0
760
The Future Of Computing
pietbrauer
0
81
DevOps in the iOS world
pietbrauer
0
410
FBSnapshotTestCase
pietbrauer
1
280
Modular iOS App @ UIKonf 2014
pietbrauer
7
290
Scaling iOS Development
pietbrauer
1
110
Modular iOS Apps
pietbrauer
2
360
Unit Testing
pietbrauer
1
93
Other Decks in Programming
See All in Programming
数百円から始めるRuby電子工作
tarosay
0
140
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
180
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
220
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
260
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.7k
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
210
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
740
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.1k
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
670
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
150
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.2k
Utilizing Notion as your number one productivity tool
mfonobong
4
520
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Are puppies a ranking factor?
jonoalderson
1
3.8k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
460
Side Projects
sachag
455
43k
Design in an AI World
tapps
1
280
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Marketing to machines
jonoalderson
1
5.7k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
540
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
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.