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

Open-sourcing Swift-based libraries

Open-sourcing Swift-based libraries

Andrey Moskvin

January 26, 2019
Tweet

More Decks by Andrey Moskvin

Other Decks in Programming

Transcript

  1. Open Sourcing Swift- based Libraries Andrii Moskvin Senior Software Developer

    Sigma Software, 1 Ac. Proskura Str., Kharkiv 26.01.19
  2. Sigma Software, 26.01.19 Background • 7+ years in Software Development

    • Last 4+ years of developing libraries and frameworks for iOS platform 2
  3. Sigma Software, 26.01.19 Swift • ABI stability & Swift 5

    • Static and Dynamic frameworks (доклад Юлии Васильченко с CocoaHeads 2018) • Swift Binary Frameworks • Peter Steinberg's talk about Swift Binary Frameworks • Understanding Xcode version and Swift version coupling 3
  4. Sigma Software, 26.01.19 Distributing Swift library as a binary -

    sounds… easy, right? • Xcode update hell (delay in getting latest and greatest sources to customers) • Have to support multiple versions of Xcode - welcome to CI matrixes for multiple Xcode versions • Have to store & manage binaries somewhere (welcome to GitHub Releases or other cloud storage’s) • Customer’s resistance in upgrading to latest version of Swift 4
  5. Sigma Software, 26.01.19 Benefits • Transparency & clarity - no

    binary “black box” magic • Integration is easier - no longer tied to the specific Swift compiler version • Easy to debug • Ready for security review and assessment • Additional contributors • Benefits your CV heavily 6
  6. Sigma Software, 26.01.19 Must have things in OSS library •

    Unit tests or other proofs of working library • CI setup + status badge • Playground or demo application setup & ready to tryout • License • README.md • CHANGELOG.md • SEMVER2.0.0 7
  7. Sigma Software, 26.01.19 Dependency Managers • Currently Swift lacks built

    in DM :( 
 (comparing to JS and Golang we have the worst dependency managers ) • Support most popular DMs - CocoaPods, Carthage and even SPM if you are doing Server Side Development with Swift :) 8
  8. Sigma Software, 26.01.19 • Travis CI • CircleCI • StyleCI

    • Other awesome CI's 10 CI is free to use for OSS
  9. Sigma Software, 26.01.19 Our Open-Source Repositories • https://github.com/VerizonAdPlatforms/VerizonVideoPartnerSDK-iOS • https://github.com/VerizonAdPlatforms/VerizonVideoPartnerSDK-PlayerCore-iOS

    • https://github.com/VerizonAdPlatforms/VerizonVideoPartnerSDK-videorenderer-ios • https://github.com/VerizonAdPlatforms/VerizonVideoPartnerSDK-controls-ios • https://github.com/VerizonAdPlatforms/VerizonVideoPartnerSDK-build-scripts-ios • https://github.com/VerizonAdPlatforms/VerizonVideoPartnerSDK-releases-iOS 11