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


  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