Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Effective Use of Open Source Software
Ash Furrow
September 10, 2013
Programming
5
4.9k
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
87
How Artsy Automates Team Culture
ashfurrow
0
1.7k
Building Custom TSLint Rules
ashfurrow
0
170
Circumventing Fear of the Unknown
ashfurrow
1
230
Building Better Software by Building Better Teams
ashfurrow
1
290
Building Open Source Communities
ashfurrow
0
360
Comparative Asynchronous Programming
ashfurrow
2
8.4k
Building Compassionate Software
ashfurrow
0
190
Swift, Briskly
ashfurrow
0
82
Other Decks in Programming
See All in Programming
Viteはいいぞ/Vite is Good
dojineko
1
110
Unboxing Rails 7
claudiob
1
120
モデリングの費用対効果
masuda220
PRO
4
970
[RailsConf 2022] The pitfalls of realtime-ification
palkan
0
350
Named Document って何?
harunakano
0
590
【Qiita Night】新卒エンジニアによるSwift6与太予想
eiji127
0
190
Architectural practices for greater scalability and innovation
otaviojava
0
120
mrubyを1300円のボードで動かそう
yuuu
0
190
TextPruner による大規模言語モデルの軽量化 / Large language model pruning using TextPruner
misawann
0
330
スモールチームがAmazon Cognitoでコスパよく作るサービス間連携認証
tacke_jp
2
910
Why declarative UI frameworks?
tkuenneth
0
200
A technique to implement DSL in Ruby
okuramasafumi
0
820
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
169
20k
Scaling GitHub
holman
451
140k
The Brand Is Dead. Long Live the Brand.
mthomps
45
2.7k
Bash Introduction
62gerente
596
210k
Streamline your AJAX requests with AmplifyJS and jQuery
dougneiner
125
8.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
315
19k
Intergalactic Javascript Robots from Outer Space
tanoku
261
25k
The Illustrated Children's Guide to Kubernetes
chrisshort
14
35k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
212
20k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
181
15k
A better future with KSS
kneath
225
15k
Bootstrapping a Software Product
garrettdimon
296
110k
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!