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
160
How Artsy Automates Team Culture
ashfurrow
0
2.6k
Building Custom TSLint Rules
ashfurrow
0
310
Circumventing Fear of the Unknown
ashfurrow
1
410
Building Better Software by Building Better Teams
ashfurrow
1
430
Building Open Source Communities
ashfurrow
0
630
Comparative Asynchronous Programming
ashfurrow
2
8.9k
Building Compassionate Software
ashfurrow
0
280
Swift, Briskly
ashfurrow
0
100
Other Decks in Programming
See All in Programming
Ruby Pattern Matching
bkuhlmann
0
920
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
170
Front-end application development, Symfony-style(s)
dunglas
2
1.9k
Ruby GitHub Packages
bkuhlmann
0
620
1BRC--Nerd Sniping the Java Community
gunnarmorling
0
300
Rails と人魚の話/rails-and-mermaid
sanfrecce_osaka
0
100
脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?
har1101
0
300
Hanami and htmx
bkuhlmann
0
190
App Router への移行は「改善」となり得るのか?/ Can migration to App Router be an improvement
takefumiyoshii
8
2.1k
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
22
15k
Build with AI 2024 Seoul - 제로부터 시작하는 Flutter with Gemini 생활 - 박제창
itsmedreamwalker
0
200
Java 22 Overview
kishida
1
160
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
421
63k
What's in a price? How to price your products and services
michaelherold
237
11k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
990
Reflections from 52 weeks, 52 projects
jeffersonlam
343
19k
Building Adaptive Systems
keathley
29
1.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Teambox: Starting and Learning
jrom
128
8.4k
How GitHub (no longer) Works
holman
304
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
How STYLIGHT went responsive
nonsquared
92
4.8k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
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!