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
230
How Artsy Automates Team Culture
ashfurrow
0
3.1k
Building Custom TSLint Rules
ashfurrow
0
420
Circumventing Fear of the Unknown
ashfurrow
1
520
Building Better Software by Building Better Teams
ashfurrow
1
560
Building Open Source Communities
ashfurrow
0
850
Comparative Asynchronous Programming
ashfurrow
2
9.5k
Building Compassionate Software
ashfurrow
0
440
Swift, Briskly
ashfurrow
0
130
Other Decks in Programming
See All in Programming
Reading Rails 1.0 Source Code
okuramasafumi
0
250
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
290
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
2.1k
1から理解するWeb Push
dora1998
7
1.9k
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
480
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
110
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
310
旅行プランAIエージェント開発の裏側
ippo012
2
930
スケールする組織の実現に向けた インナーソース育成術 - ISGT2025
teamlab
PRO
2
170
個人開発で徳島大学生60%以上の心を掴んだアプリ、そして手放した話
akidon0000
1
150
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
780
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
930
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Unsuck your backbone
ammeep
671
58k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
A better future with KSS
kneath
239
17k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
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!