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

Open Sourcing Swift Based Libraries

Open Sourcing Swift Based Libraries

Andrii Moskvin

Alexander Saenko

January 26, 2019
Tweet

More Decks by Alexander Saenko

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 • Easy to debug • Ready for security review and assessment • Integration is easier - no longer tied to the specific Swift compiler version • Additional contributors • Benefits your CV heavily 6
  6. Sigma Software, 26.01.19 Must have things • 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 Swift on Linux :) 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