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
Effective Use of Open Source Software
Search
Ash Furrow
September 10, 2013
Programming
5
5.4k
Effective Use of Open Source Software
Ash Furrow
September 10, 2013
Tweet
Share
More Decks by Ash Furrow
See All by Ash Furrow
Migrating to React Native: A Long-Term Retrospective
ashfurrow
0
220
How Artsy Automates Team Culture
ashfurrow
0
3.1k
Building Custom TSLint Rules
ashfurrow
0
410
Circumventing Fear of the Unknown
ashfurrow
1
500
Building Better Software by Building Better Teams
ashfurrow
1
540
Building Open Source Communities
ashfurrow
0
840
Comparative Asynchronous Programming
ashfurrow
2
9.4k
Building Compassionate Software
ashfurrow
0
420
Swift, Briskly
ashfurrow
0
130
Other Decks in Programming
See All in Programming
技術同人誌をMCP Serverにしてみた
74th
1
370
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
エラーって何種類あるの?
kajitack
5
310
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
470
GraphRAGの仕組みまるわかり
tosuri13
8
480
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
230
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.4k
NPOでのDevinの活用
codeforeveryone
0
310
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
関数型まつりレポート for JuliaTokai #22
antimon2
0
150
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
150
生成AIで日々のエラー調査を進めたい
yuyaabo
0
650
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Visualization
eitanlees
146
16k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
For a Future-Friendly Web
brad_frost
179
9.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
A designer walks into a library…
pauljervisheath
207
24k
Practical Orchestrator
shlominoach
188
11k
Navigating Team Friction
lara
187
15k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
940
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Transcript
Effective Use of Open Source Software Ash Furrow, Teehan+Lax @ashfurrow
None
Agenda 1. How to Choose a Library 2. Traditional library
management sucks 3. CocoaPods is the new hotness 4. Getting started is easy 3
Premise: using open source is good (more like “promise” amirite)
Why?
Why? • Build applications faster • Write less code •
Build better applications • Expose yourself to other devs’ code 6
“Library”?
None
None
None
File Management
None
This is a bad idea.
A Bad Idea • Dependency management Hell • Lack of
separation of code • No versioning of libraries • Per-file compiler flags 14
Git Submodules
Git Submodules • A submodule is like a pointer to
another repo • Another repo at a specific point in its history • Checks out code into your directory • Submodule interface is not mature • Still have to specify per-file flags • Requires command-line interface 16
None
None
Git Subtree I don’t even.
Git Subtree
CocoaPods
CocoaPods • Manages versions and dependencies • Solves a lot
of problems with file-management • Easy to use 22
CocoaPods is to Objective-C as RubyGems is to Ruby
What is a CocoaPod
CocoaPods • A CocoaPod is a file that specifies a
library • Name, dependencies, version, etc • CocoaPods is a tool to manage these specs 25
How does this work?
GitHub
None
Getting Started
None
None
None
None
None
None
None
None
None
None
Best Practices • Don’t check in your Pods directory •
Use .gitignore • Specify explicit version numbers • Inhibit pod warnings 40
Demo
Creating a Library
Creating a Library • Specify a license • Write a
good README • Include screenshots • Include sample library usage • Keep files organized 43
None
None
None
Agenda 1. How to Choose a Library 2. Traditional library
management sucks 3. CocoaPods is the new hotness, submodules are OK too 4. Getting started is easy 47
Ash Furrow @ashfurrow Thanks!