iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09)

Jonathan Engelsma
Jonathan EngelsmaAssociate Professor
Using 3rd Party Libraries /
Frameworks in iOS
Lecture 09
Jonathan R. Engelsma, Ph.D.
TOPICS
• Motivation
• UsefulThird Party Libraries
• Working with CocoaPods
WHY USE 3RD PARTY
LIBRARIES?
• Duh…..
• Avoid reinventing the wheel?
• Take advantage of tons of amazing open source software -
often written by smarter-than-average developers!
• Make your app more feature rich (and shiny) with less work!
AFNETWORKING
• Most popular networking library for iOS
• Extends the foundation networking frameworks on
iOS.
• More info: https://github.com/AFNetworking/
AFNetworking
NIMBUS
• iOS toolkit with commonly needed
components
• Well documented!
• http://nimbuskit.info/
CORE PLOT
• 2D Plotting Framework for iOS
and OS X.
• Supports a wide variety of
different kinds of graphs/plots.
• https://github.com/core-plot/core-
plot
FMDB
• An Cocoa/Objective-C wrapper around SQLite
• Higher level API that makes interacting with SQLite DB’s easy.
• https://github.com/ccgus/fmdb
SSTOOLKIT
• a collection of well-documented iOS
classes for making life easier by
solving common problems all iOS
developers face.
• http://sstoolk.it/
MBPROGRESSHUD
• translucent HUD with an indicator
and/or labels while work is being done
in a background thread.
• https://github.com/jdg/
MBProgressHUD
• Style your native iOS/Android apps using CSS
• Open source project has graduated into a startup
(pixate.com - beautiful but not free)!
• http://www.freestyle.org/
FONT AWESOME FOR IOS
• a Objective-C category that brings Font
awesome (an iconic font) to iOS.
• https://github.com/alexdrone/ios-
fontawesome
COCOACONTROLS.COM
COCOAPODS
• A popular dependency manager for Objective-C projects.
• Thousands of libraries/frameworks supported.
• Popular in the open source community.
• http://cocoapods.org/
WHY A DEPENDENCY MGR?
• Why not just manually download library/framework and add
to your project?
• library code is stored in each project you use it, wasting
space.
• No global catalog of available libraries that you can search..
• Difficult to update libraries to a new version, especially if
several libraries need to be updated together.
• You will be tempted to modify the code, making future
updates difficult!
COCOAPODS DEMO
1 of 15

Recommended

iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7) by
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 7)Jonathan Engelsma
988 views36 slides
Beginning iOS Development with Swift by
Beginning iOS Development with SwiftBeginning iOS Development with Swift
Beginning iOS Development with SwiftTurnToTech
384 views16 slides
Development of a mobile app for Android by
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for AndroidAlexJReid
1.2K views24 slides
Building iOS App Project & Architecture by
Building iOS App Project & ArchitectureBuilding iOS App Project & Architecture
Building iOS App Project & ArchitectureMassimo Oliviero
27.4K views67 slides
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06) by
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 06)Jonathan Engelsma
1K views26 slides
iOS App Architecture by
iOS App ArchitectureiOS App Architecture
iOS App ArchitectureManjula Jonnalagadda
1.1K views7 slides

More Related Content

What's hot

Unified logging on iOS by
Unified logging on iOSUnified logging on iOS
Unified logging on iOSLINE Corporation
1K views8 slides
Xcode, Basics and Beyond by
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyondrsebbe
4.2K views25 slides
CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet by
CocoaHeads Toulouse - iOS TechTalk - Mélanie BessagnetCocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads Toulouse - iOS TechTalk - Mélanie BessagnetCocoaHeads France
7.2K views24 slides
Mocast Postmortem by
Mocast PostmortemMocast Postmortem
Mocast PostmortemFrank Krueger
1.2K views34 slides
Core Java by
Core JavaCore Java
Core JavaPiyukornule
48 views12 slides
DjangoSki by
DjangoSkiDjangoSki
DjangoSkiBrian LeRoux
1.1K views55 slides

What's hot(20)

Xcode, Basics and Beyond by rsebbe
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyond
rsebbe4.2K views
CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet by CocoaHeads France
CocoaHeads Toulouse - iOS TechTalk - Mélanie BessagnetCocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads France7.2K views
Cross-Platform Desktop Apps with Electron (Condensed Version) by David Neal
Cross-Platform Desktop Apps with Electron (Condensed Version)Cross-Platform Desktop Apps with Electron (Condensed Version)
Cross-Platform Desktop Apps with Electron (Condensed Version)
David Neal755 views
Presentation on java by topu93
Presentation on javaPresentation on java
Presentation on java
topu9395 views
Computer Devices - What Are they? by Andrew Willetts
Computer Devices - What Are they?Computer Devices - What Are they?
Computer Devices - What Are they?
Andrew Willetts541 views
Independent Development and Writing Your Own Engine by ananseKmensah
Independent Development and Writing Your Own EngineIndependent Development and Writing Your Own Engine
Independent Development and Writing Your Own Engine
ananseKmensah283 views
Jailbreaking iOS by Kai Aras
Jailbreaking iOSJailbreaking iOS
Jailbreaking iOS
Kai Aras7.9K views
Breaking The Confinement Cycle Using Linux by Spencer Hunley
Breaking The Confinement Cycle Using LinuxBreaking The Confinement Cycle Using Linux
Breaking The Confinement Cycle Using Linux
Spencer Hunley265 views
DNN Connect - Mobile Development With Xamarin by Mark Allan
DNN Connect - Mobile Development With XamarinDNN Connect - Mobile Development With Xamarin
DNN Connect - Mobile Development With Xamarin
Mark Allan1.7K views
Jailbreaking iOS by Mihir Patel
Jailbreaking iOSJailbreaking iOS
Jailbreaking iOS
Mihir Patel1.5K views

Viewers also liked

NAAS Journal Rating 2013 by
NAAS Journal Rating 2013NAAS Journal Rating 2013
NAAS Journal Rating 2013sanchu007
1.8K views39 slides
WLC AAR by
WLC AARWLC AAR
WLC AARarmychef
335 views15 slides
Encyclopedia marketing management, Terms and Definitions by
Encyclopedia marketing management, Terms and DefinitionsEncyclopedia marketing management, Terms and Definitions
Encyclopedia marketing management, Terms and Definitionshttp://www.drawpack.com
692 views336 slides
Encyclopedia human resource, business terms by
Encyclopedia human resource, business termsEncyclopedia human resource, business terms
Encyclopedia human resource, business termshttp://www.drawpack.com
276 views333 slides
What Every IT Manager Should Know About Mobile Apps by
What Every IT Manager Should Know About Mobile AppsWhat Every IT Manager Should Know About Mobile Apps
What Every IT Manager Should Know About Mobile AppsJonathan Engelsma
866 views35 slides
Selling Honey at Farmers Markets, Expos, etc. by
Selling Honey at Farmers Markets, Expos, etc. Selling Honey at Farmers Markets, Expos, etc.
Selling Honey at Farmers Markets, Expos, etc. Jonathan Engelsma
1.3K views31 slides

Viewers also liked(14)

NAAS Journal Rating 2013 by sanchu007
NAAS Journal Rating 2013NAAS Journal Rating 2013
NAAS Journal Rating 2013
sanchu0071.8K views
WLC AAR by armychef
WLC AARWLC AAR
WLC AAR
armychef335 views
What Every IT Manager Should Know About Mobile Apps by Jonathan Engelsma
What Every IT Manager Should Know About Mobile AppsWhat Every IT Manager Should Know About Mobile Apps
What Every IT Manager Should Know About Mobile Apps
Jonathan Engelsma866 views
Selling Honey at Farmers Markets, Expos, etc. by Jonathan Engelsma
Selling Honey at Farmers Markets, Expos, etc. Selling Honey at Farmers Markets, Expos, etc.
Selling Honey at Farmers Markets, Expos, etc.
Jonathan Engelsma1.3K views
Réseaux Sociaux : Quand le marketing et la DSI partagent leurs expériences. by Marie_Estager
Réseaux Sociaux : Quand le marketing et la DSI partagent leurs expériences. Réseaux Sociaux : Quand le marketing et la DSI partagent leurs expériences.
Réseaux Sociaux : Quand le marketing et la DSI partagent leurs expériences.
Marie_Estager5K views

Similar to iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09)

A brief intro to RubyMotion by
A brief intro to RubyMotionA brief intro to RubyMotion
A brief intro to RubyMotionKamil Lelonek
465 views16 slides
Native App Development for iOS, Android, and Windows with Visual Studio by
Native App Development for iOS, Android, and Windows with Visual StudioNative App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual StudioXamarin
4.7K views14 slides
Delphi Prism for iPhone/iPad and Linux with Mono and Monotouch by
Delphi Prism for iPhone/iPad and Linux with Mono and MonotouchDelphi Prism for iPhone/iPad and Linux with Mono and Monotouch
Delphi Prism for iPhone/iPad and Linux with Mono and MonotouchAndreano Lanusse
1.1K views23 slides
Game On With NativeScript by
Game On With NativeScriptGame On With NativeScript
Game On With NativeScriptJen Looper
4 views62 slides
Firefox operating system by
Firefox operating systemFirefox operating system
Firefox operating systemNishant Mehare
1.4K views16 slides
Big analytics meetup - Extended Jupyter Kernel Gateway by
Big analytics meetup - Extended Jupyter Kernel GatewayBig analytics meetup - Extended Jupyter Kernel Gateway
Big analytics meetup - Extended Jupyter Kernel GatewayLuciano Resende
378 views20 slides

Similar to iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09)(20)

A brief intro to RubyMotion by Kamil Lelonek
A brief intro to RubyMotionA brief intro to RubyMotion
A brief intro to RubyMotion
Kamil Lelonek465 views
Native App Development for iOS, Android, and Windows with Visual Studio by Xamarin
Native App Development for iOS, Android, and Windows with Visual StudioNative App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual Studio
Xamarin4.7K views
Delphi Prism for iPhone/iPad and Linux with Mono and Monotouch by Andreano Lanusse
Delphi Prism for iPhone/iPad and Linux with Mono and MonotouchDelphi Prism for iPhone/iPad and Linux with Mono and Monotouch
Delphi Prism for iPhone/iPad and Linux with Mono and Monotouch
Andreano Lanusse1.1K views
Game On With NativeScript by Jen Looper
Game On With NativeScriptGame On With NativeScript
Game On With NativeScript
Jen Looper4 views
Big analytics meetup - Extended Jupyter Kernel Gateway by Luciano Resende
Big analytics meetup - Extended Jupyter Kernel GatewayBig analytics meetup - Extended Jupyter Kernel Gateway
Big analytics meetup - Extended Jupyter Kernel Gateway
Luciano Resende378 views
Mobile ECM with JavaScript - JSE 2011 by Nuxeo
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
Nuxeo865 views
OSS SW Basics Lecture 03: Fundamental parts of open-source projects by Jeongkyu Shin
OSS SW Basics Lecture 03: Fundamental parts of open-source projectsOSS SW Basics Lecture 03: Fundamental parts of open-source projects
OSS SW Basics Lecture 03: Fundamental parts of open-source projects
Jeongkyu Shin271 views
Building a Cross-Platform Mobile SDK in Rust.pdf by IanWagner13
Building a Cross-Platform Mobile SDK in Rust.pdfBuilding a Cross-Platform Mobile SDK in Rust.pdf
Building a Cross-Platform Mobile SDK in Rust.pdf
IanWagner1385 views
AFNetworking by joaopmaia
AFNetworking AFNetworking
AFNetworking
joaopmaia4.6K views
.NET per la Data Science e oltre by Marco Parenzan
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltre
Marco Parenzan180 views
Top programming Languages in software Industry companies by Kiran Patil
Top programming Languages in software Industry companiesTop programming Languages in software Industry companies
Top programming Languages in software Industry companies
Kiran Patil25 views
Let's Write Better Node Modules by Kevin Whinnery
Let's Write Better Node ModulesLet's Write Better Node Modules
Let's Write Better Node Modules
Kevin Whinnery4.5K views
Introduction to MonoTouch and Monodroid/Mono for Android by Chris Hardy
Introduction to MonoTouch and Monodroid/Mono for AndroidIntroduction to MonoTouch and Monodroid/Mono for Android
Introduction to MonoTouch and Monodroid/Mono for Android
Chris Hardy2.3K views

More from Jonathan Engelsma

Knowing Your Bees: Becoming a Better Beekeeper by
Knowing Your Bees: Becoming a Better BeekeeperKnowing Your Bees: Becoming a Better Beekeeper
Knowing Your Bees: Becoming a Better BeekeeperJonathan Engelsma
519 views35 slides
BIP Hive Scale Program Overview by
BIP Hive Scale Program OverviewBIP Hive Scale Program Overview
BIP Hive Scale Program OverviewJonathan Engelsma
677 views10 slides
Selling Honey Online by
Selling Honey OnlineSelling Honey Online
Selling Honey OnlineJonathan Engelsma
2.9K views33 slides
Harvesting and Handling Honey for Hobby and Small Sideline Beekeepers by
Harvesting and Handling Honey for Hobby and Small Sideline BeekeepersHarvesting and Handling Honey for Hobby and Small Sideline Beekeepers
Harvesting and Handling Honey for Hobby and Small Sideline BeekeepersJonathan Engelsma
1.9K views34 slides
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05) by
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05)Jonathan Engelsma
1.3K views31 slides
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04) by
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)Jonathan Engelsma
1.1K views20 slides

More from Jonathan Engelsma(12)

Knowing Your Bees: Becoming a Better Beekeeper by Jonathan Engelsma
Knowing Your Bees: Becoming a Better BeekeeperKnowing Your Bees: Becoming a Better Beekeeper
Knowing Your Bees: Becoming a Better Beekeeper
Jonathan Engelsma519 views
Harvesting and Handling Honey for Hobby and Small Sideline Beekeepers by Jonathan Engelsma
Harvesting and Handling Honey for Hobby and Small Sideline BeekeepersHarvesting and Handling Honey for Hobby and Small Sideline Beekeepers
Harvesting and Handling Honey for Hobby and Small Sideline Beekeepers
Jonathan Engelsma1.9K views
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05) by Jonathan Engelsma
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05)
Jonathan Engelsma1.3K views
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04) by Jonathan Engelsma
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)
Jonathan Engelsma1.1K views
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03) by Jonathan Engelsma
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03) iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03)
Jonathan Engelsma1.1K views
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02) by Jonathan Engelsma
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02) iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02)
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 02)
Jonathan Engelsma930 views
2013 Michigan Beekeepers Association Annual Spring Conference by Jonathan Engelsma
2013 Michigan Beekeepers Association Annual Spring Conference2013 Michigan Beekeepers Association Annual Spring Conference
2013 Michigan Beekeepers Association Annual Spring Conference
Jonathan Engelsma837 views
2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On... by Jonathan Engelsma
2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On...2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On...
2012 Michigan Beekeepers Association Annual Spring Conference - Beekeepers On...
Jonathan Engelsma1.1K views

Recently uploaded

Structure and Functions of Cell.pdf by
Structure and Functions of Cell.pdfStructure and Functions of Cell.pdf
Structure and Functions of Cell.pdfNithya Murugan
368 views10 slides
ICANN by
ICANNICANN
ICANNRajaulKarim20
64 views13 slides
Student Voice by
Student Voice Student Voice
Student Voice Pooky Knightsmith
164 views33 slides
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptx by
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptxGopal Chakraborty Memorial Quiz 2.0 Prelims.pptx
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptxDebapriya Chakraborty
598 views81 slides
Education and Diversity.pptx by
Education and Diversity.pptxEducation and Diversity.pptx
Education and Diversity.pptxDrHafizKosar
118 views16 slides
Classification of crude drugs.pptx by
Classification of crude drugs.pptxClassification of crude drugs.pptx
Classification of crude drugs.pptxGayatriPatra14
77 views13 slides

Recently uploaded(20)

Structure and Functions of Cell.pdf by Nithya Murugan
Structure and Functions of Cell.pdfStructure and Functions of Cell.pdf
Structure and Functions of Cell.pdf
Nithya Murugan368 views
Education and Diversity.pptx by DrHafizKosar
Education and Diversity.pptxEducation and Diversity.pptx
Education and Diversity.pptx
DrHafizKosar118 views
Classification of crude drugs.pptx by GayatriPatra14
Classification of crude drugs.pptxClassification of crude drugs.pptx
Classification of crude drugs.pptx
GayatriPatra1477 views
JiscOAWeek_LAIR_slides_October2023.pptx by Jisc
JiscOAWeek_LAIR_slides_October2023.pptxJiscOAWeek_LAIR_slides_October2023.pptx
JiscOAWeek_LAIR_slides_October2023.pptx
Jisc79 views
Narration ppt.pptx by TARIQ KHAN
Narration  ppt.pptxNarration  ppt.pptx
Narration ppt.pptx
TARIQ KHAN119 views
AI Tools for Business and Startups by Svetlin Nakov
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and Startups
Svetlin Nakov101 views
Use of Probiotics in Aquaculture.pptx by AKSHAY MANDAL
Use of Probiotics in Aquaculture.pptxUse of Probiotics in Aquaculture.pptx
Use of Probiotics in Aquaculture.pptx
AKSHAY MANDAL89 views
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively by PECB
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks EffectivelyISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively
ISO/IEC 27001 and ISO/IEC 27005: Managing AI Risks Effectively
PECB 545 views
The Accursed House by Émile Gaboriau by DivyaSheta
The Accursed House  by Émile GaboriauThe Accursed House  by Émile Gaboriau
The Accursed House by Émile Gaboriau
DivyaSheta158 views
American Psychological Association 7th Edition.pptx by SamiullahAfridi4
American Psychological Association  7th Edition.pptxAmerican Psychological Association  7th Edition.pptx
American Psychological Association 7th Edition.pptx
SamiullahAfridi482 views
Compare the flora and fauna of Kerala and Chhattisgarh ( Charttabulation) by AnshulDewangan3
 Compare the flora and fauna of Kerala and Chhattisgarh ( Charttabulation) Compare the flora and fauna of Kerala and Chhattisgarh ( Charttabulation)
Compare the flora and fauna of Kerala and Chhattisgarh ( Charttabulation)
AnshulDewangan3316 views

iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 09)

  • 1. Using 3rd Party Libraries / Frameworks in iOS Lecture 09 Jonathan R. Engelsma, Ph.D.
  • 2. TOPICS • Motivation • UsefulThird Party Libraries • Working with CocoaPods
  • 3. WHY USE 3RD PARTY LIBRARIES? • Duh….. • Avoid reinventing the wheel? • Take advantage of tons of amazing open source software - often written by smarter-than-average developers! • Make your app more feature rich (and shiny) with less work!
  • 4. AFNETWORKING • Most popular networking library for iOS • Extends the foundation networking frameworks on iOS. • More info: https://github.com/AFNetworking/ AFNetworking
  • 5. NIMBUS • iOS toolkit with commonly needed components • Well documented! • http://nimbuskit.info/
  • 6. CORE PLOT • 2D Plotting Framework for iOS and OS X. • Supports a wide variety of different kinds of graphs/plots. • https://github.com/core-plot/core- plot
  • 7. FMDB • An Cocoa/Objective-C wrapper around SQLite • Higher level API that makes interacting with SQLite DB’s easy. • https://github.com/ccgus/fmdb
  • 8. SSTOOLKIT • a collection of well-documented iOS classes for making life easier by solving common problems all iOS developers face. • http://sstoolk.it/
  • 9. MBPROGRESSHUD • translucent HUD with an indicator and/or labels while work is being done in a background thread. • https://github.com/jdg/ MBProgressHUD
  • 10. • Style your native iOS/Android apps using CSS • Open source project has graduated into a startup (pixate.com - beautiful but not free)! • http://www.freestyle.org/
  • 11. FONT AWESOME FOR IOS • a Objective-C category that brings Font awesome (an iconic font) to iOS. • https://github.com/alexdrone/ios- fontawesome
  • 13. COCOAPODS • A popular dependency manager for Objective-C projects. • Thousands of libraries/frameworks supported. • Popular in the open source community. • http://cocoapods.org/
  • 14. WHY A DEPENDENCY MGR? • Why not just manually download library/framework and add to your project? • library code is stored in each project you use it, wasting space. • No global catalog of available libraries that you can search.. • Difficult to update libraries to a new version, especially if several libraries need to be updated together. • You will be tempted to modify the code, making future updates difficult!