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.2k
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
170
How Artsy Automates Team Culture
ashfurrow
0
2.7k
Building Custom TSLint Rules
ashfurrow
0
330
Circumventing Fear of the Unknown
ashfurrow
1
430
Building Better Software by Building Better Teams
ashfurrow
1
470
Building Open Source Communities
ashfurrow
0
690
Comparative Asynchronous Programming
ashfurrow
2
9k
Building Compassionate Software
ashfurrow
0
310
Swift, Briskly
ashfurrow
0
100
Other Decks in Programming
See All in Programming
20240706_CDKConf
takuyay0ne
0
1.2k
Activities at Cairo Library
cairolibrary720
0
1.2k
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
15
8.5k
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
6
1.3k
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
200
Xcode 16のPreviewModifierと@Previewableを活用した効率的なプレビュー方法の考察
ojun9
2
160
OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた
tomiyan
0
790
初心者がおさえておきたいAWS CDKのベストプラクティス 2024
konokenj
15
7.3k
【Go言語】ジェネリクス
tomo1227
0
170
Google's Recipe for Scaling (Web) Security – LocoMocoSec 2024
lweichselbaum
0
170
CSC307 Lecture 11
javiergs
PRO
0
240
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
1
620
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
We Have a Design System, Now What?
morganepeng
46
7k
Build your cross-platform service in a week with App Engine
jlugia
227
17k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
12
3.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
The Invisible Customer
myddelton
117
13k
Building Flexible Design Systems
yeseniaperezcruz
323
37k
Rails Girls Zürich Keynote
gr2m
93
13k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
A better future with KSS
kneath
231
17k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
Faster Mobile Websites
deanohume
303
30k
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!