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

How We Work at PSPDFKit

How We Work at PSPDFKit

Licensing an SDK has unique challenges that often do not need to be considered when writing a typical application. Since our SDK is integrated into thousands of apps, people expect our API to be consistent, and ideally it shouldn't ever change (unless someone runs into a limitation). We're taking great care to evolve our API in a meaningful way, and often the design is forward-thinking, so future extensions are easier.

Presented at Cocoaheads Portugal, Feb 4 2019.

Peter Steinberger

February 04, 2019

More Decks by Peter Steinberger

Other Decks in Technology


  1. How We Work at PSPDFKit

  2. None
  3. None
  4. Why is this interesting to you?

  5. SDK == Large Software Project Challenges

  6. API Evolution

  7. Cross-Platform Considerations

  8. Proposal-Based Development

  9. Proposal-Based Development 4 Summary, Motivation, Details 4 Trade-Offs 4 Current+Proposed

    Public APIs (All platforms!) 4 Documentation Changes 4 Marketing Updates 4 Open Questions 4 Alternatives Considered
  10. None
  11. Feature Planning

  12. None
  13. Refactorings As Roadmap Items

  14. None
  15. None
  16. Pull Requests / Merging Code

  17. Releases

  18. None
  19. Backporting backport-ios -> backport-ios-done backport-android

  20. None
  21. Changelog Management bundle exec pspdfkit changelog add -g pspdfkitui -i

    15077 -m “The home indicator on iPhone X is now automatically hidden when the HUD is not visible.” alias cla='bundle exec pspdfkit changelog add' alias clg='bundle exec pspdfkit changelog generate'
  22. JSON Changelogs

  23. Monorepo

  24. None
  25. Continuous Integration

  26. None
  27. None
  28. Thanks! Peter Steinberger, @steipete

  29. BONUS PSPDFKit & Swift

  30. PSPDFKit & Swift: 3 APIs 4 Objective-C API 4 Regular

    Swift API 4 Refined Swift API via PSPDFKitSwift