SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
iOS Dependency Manager
Wasupol
Growth Session #3 - May 18-19 2017
Nimble
Intro
Since now, Developer has more choices when creating project in Xcode
Comparing Package Manager in iOS since git submodules to Swift PM
Give a key benefits and disadvantages too
Intro
● Using Third Party in Project If not, You are awesome
● Comparing many in development
○ Rubygems for Ruby
○ NPM for NodeJS
○ etc.
What are the options in iOS Development
● Git Submodule (Recommend by Apple since iOS 5)
● Cocoapods (Great Third party)
● Carthage (Also great third party)
● Swift Package Manager (Official way since Swift 3.0)
Git Submodule
● Pros
○ No required third party (Not rely on them)
○ No installing additional tools
○ No waiting third party updated (git branch checkout)
○ Most resistant to breaking changes
○ Flexible
Git Submodule
● Cons
○ Required some skill to set it up
○ Hard work of resolving conflict
○ Hard to config for every third party dependencies (Have to read docs)
○ Hard for versioning
● Base on Ruby gem (which is default in Mac)
● Create Podfile and using command to handle it
● Required to install pod command
● Pros
○ Provide you as easy setup and use
○ Provide you a lot of setting for you
○ Well grown community and support (32 k libs)
○ Already Handled for newer version
● Cons
○ Invasive (Modify your project a lots)
○ Centralized (Like Maven or another)
○ Required 2 processes
○ Loss of flexibility
Carthage
● Ruthlessly simple dependency management.
(Simple setup between Git and Xcode)
● This is in contrast to Cocoapods
● Required brew
Carthage
● Pros
○ Decentralized
○ Non-invasive
○ Support as submodules
Carthage
● Cons
○ Unstable
○ Slow
○ Very least libraries
○ Inflexible
Swift PM
● As a part of Swift open source
● Release along with Swift 3.0
Swift PM
● Pros
○ Decentralized
○ Official PM for Swift and Managed by Apple
○ Future proof
○ Server Side and Cross Platform
Swift PM
● Cons
○ Not All Third Party ready for it
○ Too new, not all features work
Demo And Summary
Thanks!
Contact Nimble
hello@nimblehq.co
399 Interchange 21 Sukhumvit
Road, Unit #2402-03, Klong Toei,
Wattana, Bangkok 10110, Thailand
20th Floor, Central Tower
28 Queen's Road
Central, Hong Kong
https://nimblehq.co

Weitere ähnliche Inhalte

Was ist angesagt?

WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
Igalia
 
Continuous integration for androids
Continuous integration for androidsContinuous integration for androids
Continuous integration for androids
Kirill Zotin
 
NODE JS OC Meetup 1
NODE JS OC Meetup 1NODE JS OC Meetup 1
NODE JS OC Meetup 1
eddify
 

Was ist angesagt? (20)

WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
 
Introduction to git flow
Introduction to git flowIntroduction to git flow
Introduction to git flow
 
Git work flow
Git work flowGit work flow
Git work flow
 
Continuous integration for androids
Continuous integration for androidsContinuous integration for androids
Continuous integration for androids
 
Frameworks choice
Frameworks choiceFrameworks choice
Frameworks choice
 
WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)
 
NODE JS OC Meetup 1
NODE JS OC Meetup 1NODE JS OC Meetup 1
NODE JS OC Meetup 1
 
Codemotion Madrid 2018 - Microservicios Reactivos con Micronaut
Codemotion Madrid 2018 - Microservicios Reactivos con MicronautCodemotion Madrid 2018 - Microservicios Reactivos con Micronaut
Codemotion Madrid 2018 - Microservicios Reactivos con Micronaut
 
BSides Rochester 2018: Dave Kukfa: BinDbg: Easy Windows Debugging for Binary ...
BSides Rochester 2018: Dave Kukfa: BinDbg: Easy Windows Debugging for Binary ...BSides Rochester 2018: Dave Kukfa: BinDbg: Easy Windows Debugging for Binary ...
BSides Rochester 2018: Dave Kukfa: BinDbg: Easy Windows Debugging for Binary ...
 
T3chFest 2017 - La Revolucion del Open Source
T3chFest 2017 - La Revolucion del Open SourceT3chFest 2017 - La Revolucion del Open Source
T3chFest 2017 - La Revolucion del Open Source
 
GNOME 3 accessibility: State of the Union (GUADEC 2012)
GNOME 3 accessibility: State of the Union (GUADEC 2012)GNOME 3 accessibility: State of the Union (GUADEC 2012)
GNOME 3 accessibility: State of the Union (GUADEC 2012)
 
It is easy contributing to open source - JCON 2020
It is easy contributing to open source - JCON 2020It is easy contributing to open source - JCON 2020
It is easy contributing to open source - JCON 2020
 
Bootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to HeroBootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to Hero
 
Pavimentando el camino con Jakarta EE 9 y Apache TomEE
Pavimentando el camino con Jakarta EE 9 y Apache TomEE Pavimentando el camino con Jakarta EE 9 y Apache TomEE
Pavimentando el camino con Jakarta EE 9 y Apache TomEE
 
Pipenv - The Python Companion You Wish You Always Had
Pipenv - The Python Companion You Wish You Always HadPipenv - The Python Companion You Wish You Always Had
Pipenv - The Python Companion You Wish You Always Had
 
Engineering Frontends
Engineering FrontendsEngineering Frontends
Engineering Frontends
 
Angular intro
Angular introAngular intro
Angular intro
 
TDD with Python and App Engine
TDD with Python and App EngineTDD with Python and App Engine
TDD with Python and App Engine
 
Mobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse BindingMobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse Binding
 
MeteorJS - How to start
MeteorJS  -  How to startMeteorJS  -  How to start
MeteorJS - How to start
 

Ähnlich wie Nimble - iOS dependency management

Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 
Elephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and VariantsElephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and Variants
PostgreSQL Experts, Inc.
 

Ähnlich wie Nimble - iOS dependency management (20)

libreCMC : The Libre Embedded GNU/Linux Distro
libreCMC : The Libre Embedded GNU/Linux DistrolibreCMC : The Libre Embedded GNU/Linux Distro
libreCMC : The Libre Embedded GNU/Linux Distro
 
Microservices Development Process at Predix.io
Microservices Development Process at Predix.ioMicroservices Development Process at Predix.io
Microservices Development Process at Predix.io
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
 
Mumbai MuleSoft Meetup #17 - GraphQL
Mumbai MuleSoft Meetup #17 - GraphQLMumbai MuleSoft Meetup #17 - GraphQL
Mumbai MuleSoft Meetup #17 - GraphQL
 
Odoo.sh for Project Managers and Developers
Odoo.sh for Project Managers and DevelopersOdoo.sh for Project Managers and Developers
Odoo.sh for Project Managers and Developers
 
Git Basics
Git BasicsGit Basics
Git Basics
 
Teaching Open Source In The University
Teaching Open Source In The UniversityTeaching Open Source In The University
Teaching Open Source In The University
 
Introduction to Idem for Microsoft Azure
Introduction to Idem for Microsoft AzureIntroduction to Idem for Microsoft Azure
Introduction to Idem for Microsoft Azure
 
Git for work groups ironhack talk
Git for work groups ironhack talkGit for work groups ironhack talk
Git for work groups ironhack talk
 
Meetup 2020 - Back to the Basics part 101 : IaC
Meetup 2020 - Back to the Basics part 101 : IaCMeetup 2020 - Back to the Basics part 101 : IaC
Meetup 2020 - Back to the Basics part 101 : IaC
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
 
Opensource Software usability
Opensource Software usabilityOpensource Software usability
Opensource Software usability
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
 
Last 2019: Designing a DevOps Dependency Diagram to Decide Development Direction
Last 2019: Designing a DevOps Dependency Diagram to Decide Development DirectionLast 2019: Designing a DevOps Dependency Diagram to Decide Development Direction
Last 2019: Designing a DevOps Dependency Diagram to Decide Development Direction
 
BRANCHING MODELS (workshop)
BRANCHING MODELS (workshop)BRANCHING MODELS (workshop)
BRANCHING MODELS (workshop)
 
Open source
Open sourceOpen source
Open source
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
IoT Prototyping using BBB and Debian
IoT Prototyping using BBB and DebianIoT Prototyping using BBB and Debian
IoT Prototyping using BBB and Debian
 
Elephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and VariantsElephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and Variants
 
Elephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksElephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forks
 

Mehr von Nimble

Mehr von Nimble (6)

Nimble Workhiro - Exploring Kotlin for Android Development
Nimble Workhiro  - Exploring Kotlin for Android DevelopmentNimble Workhiro  - Exploring Kotlin for Android Development
Nimble Workhiro - Exploring Kotlin for Android Development
 
Nimble - Reddit Feed React native
Nimble - Reddit Feed  React nativeNimble - Reddit Feed  React native
Nimble - Reddit Feed React native
 
Athena 0.2.0 - Nimble
Athena 0.2.0 - NimbleAthena 0.2.0 - Nimble
Athena 0.2.0 - Nimble
 
Android build tools - Nimble
Android build tools - NimbleAndroid build tools - Nimble
Android build tools - Nimble
 
Nimble Athena v 0.1.0
Nimble Athena v 0.1.0Nimble Athena v 0.1.0
Nimble Athena v 0.1.0
 
Nimble Athena - Project setup & planning
Nimble Athena   - Project setup & planningNimble Athena   - Project setup & planning
Nimble Athena - Project setup & planning
 

Kürzlich hochgeladen

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Kürzlich hochgeladen (20)

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Nimble - iOS dependency management

  • 1. iOS Dependency Manager Wasupol Growth Session #3 - May 18-19 2017 Nimble
  • 2. Intro Since now, Developer has more choices when creating project in Xcode Comparing Package Manager in iOS since git submodules to Swift PM Give a key benefits and disadvantages too
  • 3. Intro ● Using Third Party in Project If not, You are awesome ● Comparing many in development ○ Rubygems for Ruby ○ NPM for NodeJS ○ etc.
  • 4. What are the options in iOS Development ● Git Submodule (Recommend by Apple since iOS 5) ● Cocoapods (Great Third party) ● Carthage (Also great third party) ● Swift Package Manager (Official way since Swift 3.0)
  • 5. Git Submodule ● Pros ○ No required third party (Not rely on them) ○ No installing additional tools ○ No waiting third party updated (git branch checkout) ○ Most resistant to breaking changes ○ Flexible
  • 6. Git Submodule ● Cons ○ Required some skill to set it up ○ Hard work of resolving conflict ○ Hard to config for every third party dependencies (Have to read docs) ○ Hard for versioning
  • 7. ● Base on Ruby gem (which is default in Mac) ● Create Podfile and using command to handle it ● Required to install pod command
  • 8. ● Pros ○ Provide you as easy setup and use ○ Provide you a lot of setting for you ○ Well grown community and support (32 k libs) ○ Already Handled for newer version
  • 9. ● Cons ○ Invasive (Modify your project a lots) ○ Centralized (Like Maven or another) ○ Required 2 processes ○ Loss of flexibility
  • 10. Carthage ● Ruthlessly simple dependency management. (Simple setup between Git and Xcode) ● This is in contrast to Cocoapods ● Required brew
  • 11. Carthage ● Pros ○ Decentralized ○ Non-invasive ○ Support as submodules
  • 12. Carthage ● Cons ○ Unstable ○ Slow ○ Very least libraries ○ Inflexible
  • 13. Swift PM ● As a part of Swift open source ● Release along with Swift 3.0
  • 14. Swift PM ● Pros ○ Decentralized ○ Official PM for Swift and Managed by Apple ○ Future proof ○ Server Side and Cross Platform
  • 15. Swift PM ● Cons ○ Not All Third Party ready for it ○ Too new, not all features work
  • 17.
  • 18. Thanks! Contact Nimble hello@nimblehq.co 399 Interchange 21 Sukhumvit Road, Unit #2402-03, Klong Toei, Wattana, Bangkok 10110, Thailand 20th Floor, Central Tower 28 Queen's Road Central, Hong Kong https://nimblehq.co