3 Ways to Manage Your Dependencies

3 Ways to Manage Your Dependencies

Brooklyn Swift Developers Talk

5eee847529e8f5ec2f634a85075fd5aa?s=128

Satoshi Hachiya

September 07, 2016
Tweet

Transcript

  1. 3 Ways to Manage Your Dependencies 2016-09-07 Brooklyn Swift Developers

    aka JPMartha
  2. 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
  3. ⚠ No intention of talking about which one is the

    best
  4. Self-introduction

  5. I love pancakes @JPMartha_jp JPMartha

  6. None
  7. Activities

  8. None
  9. Realm News Translation • https://realm.io/jp/news/

  10. Swift Package Manager • https://github.com/apple/swift-package-manager

  11. Quick • https://github.com/Quick/Quick

  12. try! Swift NYC

  13. try! Swift NYC People in Japan said to me, "You

    went to NYC as a comedian?"
  14. Why am I JPMartha $ ? • I like a

    Japanese fighter called Ϛʔα (in Japanese) • Maybe Ϛʔα (in Japanese) is Martha in English • But...
  15. I didn’t know Martha was a female name

  16. Why am I JPMartha $ ? JP Martha

  17. Why am I JPMartha $ ? JPMartha

  18. ¯\_(π)_/¯

  19. CocoaPods

  20. CocoaPods

  21. CocoaPods SwiftPM • https://guides.cocoapods.org/using/faq.html

  22. CocoaPods SwiftPM • https://lists.swift.org/pipermail/swift-build-dev/Week-of-Mon-20151130/000025.html

  23. CocoaPods SwiftPM • https://lists.swift.org/pipermail/swift-build-dev/Week-of-Mon-20151130/000027.html

  24. CocoaPods SwiftPM • https://lists.swift.org/pipermail/swift-build-dev/Week-of-Mon-20151130/000026.html

  25. Possible useful tools • Molinillo: Dependency resolver • https://github.com/CocoaPods/Molinillo •

    Trunk: Web-service • https://github.com/CocoaPods/trunk.cocoapods.org
  26. None
  27. Carthage

  28. Carthage

  29. Carthage SwiftPM • https://github.com/Carthage/Carthage/issues/969

  30. Carthage SwiftPM • https://github.com/Carthage/Carthage/issues/1226

  31. None
  32. Swift Package Manager

  33. Swift Package Manager

  34. 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/
  35. Blog, Slack Ankit Aggarwal - @aciidb0mb3r • https://ankit.im Swift Package

    Manager Slack Team • https://swift-package-manager.herokuapp.com/
  36. The Status of SwiftPM

  37. 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/
  38. The swift-build-dev Mailing List • https://lists.swift.org/pipermail/swift-build-dev/Week-of- Mon-20160815/000608.html • Posted on

    Aug 17 • Project Status • Future Directions
  39. 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
  40. 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
  41. Addition

  42. Command Line Tool Built via SwiftPM tryswift on GitHub

  43. tryswiftdev A Command Line Tool for Open-Source Development

  44. 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
  45. None
  46. None
  47. 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.
  48. None
  49. 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
  50. None
  51. 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.
  52. None
  53. try! Swift 3.0 Make Easy for You to Set Environment

    Variables Swift 3.0 ! But, this is another shell script. (Bash)
  54. None
  55. WORK IN PROGRESS ' • https://github.com/tryswift/tryswiftdev

  56. 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!
  57. Thanks! 
 ͋Γ͕ͱ͏͍͟͝·ͨ͠