Upgrade to Pro — share decks privately, control downloads, hide ads and more …

3 Ways to Manage Your Dependencies

3 Ways to Manage Your Dependencies

Brooklyn Swift Developers Talk

Avatar for Satoshi Hachiya

Satoshi Hachiya

September 07, 2016
Tweet

More Decks by Satoshi Hachiya

Other Decks in Programming

Transcript

  1. Overview • Self-introduction • Existing popular dependency managers - CocoaPods

    and Carthage • Each of the movements after publishing Swift Package Manager
 (SwiftPM, SPM) • The status of Swift Package Manager
  2. Why am I JPMartha $ ? • I like a

    Japanese fighter called Ϛʔα (in Japanese) • Maybe Ϛʔα (in Japanese) is Martha in English • But...
  3. Possible useful tools • Molinillo: Dependency resolver • https://github.com/CocoaPods/Molinillo •

    Trunk: Web-service • https://github.com/CocoaPods/trunk.cocoapods.org
  4. SwiftPM Talks Boris Bügling - @NeoNacho • https://speakerdeck.com/neonichu/swift-package-manager • https://realm.io/news/altconf-boris-bugling-cross-platform-swift/

    JP Simard - @simjp • https://realm.io/news/tryswift-jp-simard-practical-cross-platform-swift/ Honza Dvorsky - @czechboy0 • https://honzadvorsky.com/articles/2016-06-30-19-00- nslondon_swift_package_manager/
  5. Blog, Slack Ankit Aggarwal - @aciidb0mb3r • https://ankit.im Swift Package

    Manager Slack Team • https://swift-package-manager.herokuapp.com/
  6. WWDC 2016 Videos Session 102: Platforms State of the Union

    • https://developer.apple.com/videos/play/wwdc2016/102/ • The Package Manager's a great way to build, share, and reuse cross-platform packages. Session 415: Going Server-side with Swift Open Source • https://developer.apple.com/videos/play/wwdc2016/415/
  7. Project Status Significant limitations: • Deployment binaries built with the

    package manager • SR-648, SR-674, SR-1968, SR-2048 • We are missing important workflows for a number of typical development scenarios: • SR-666, SE-0082, SR-679
  8. Future Directions • Editable packages: SE-0082 • Branch support: SR-666

    • Focused improvements to the Xcode project generator: 
 SR-1653, SR-1655, SR-1740, SR-1741 • Improvements to build consistency: SR-1708, SR-2182 • Improvements to documentation: SR-2179, SR-1586 • Improvements to diagnostics and usability: 
 SR-879, SR-1388, SR-2261, SR-2270, SR-2271
  9. README Generator Make Easy for You to Create a README.md

    of New Project ! • It duplicates an existing README.md • It replaces strings (e.g. Name) in a README.md
  10. Find it Help You Out of "image not found” !

    • It searches for a specified file in some directories. • It makes easy to compare our Xcode Build Settings and find a mistake.
  11. Version Strings Updater Make Easy for You to Update Version

    Strings in Specified Files ! 1c1 < DEVELOPMENT-SNAPSHOT-2016-05-31-a --- > DEVELOPMENT-SNAPSHOT-2016-06-06-a
  12. Development Snapshots Installer Make Easy for You to Install New

    Development Snapshots ! • It downloads a specified Developer Snapshot into your current working directory. • It installs the package via the sudo command. • It removes the pkg file.
  13. try! Swift 3.0 Make Easy for You to Set Environment

    Variables Swift 3.0 ! But, this is another shell script. (Bash)
  14. Summary • CocoaPods is in development. • Carthage is in

    development. • Swift Package Manager is still in early design and development. • Let’s working together towards best solutions for the iOS community! • Let’s spread our wings in the world!