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

Scaling iOS Development

Scaling iOS Development

Hold at the Berlin edition of CocoaHeads with Vidu Pirathaparajah.

https://github.com/vimacs
https://github.com/pietbrauer

http://www.cocoaheads-berlin.org

48f07655aeed5ca639b37b05e52d4cb3?s=128

Piet Brauer

April 19, 2014
Tweet

Transcript

  1. Scaing iOS Development Vidu Pirathaparajah Piet Brauer XING AG

  2. What does scaling mean?

  3. Adding more people?

  4. Scaling Architecture

  5. Architecture should be about enabling small teams to work on

    small components » Mike Hadlow
  6. Many Feature Teams

  7. 4 + 1 iOS Engineers » Matthias » Marc »

    Piet » Vidu » Stefan (Sabbatical)
  8. Code base ~90.000 LOC

  9. Feature Development Work flow

  10. Work flow of building a new Feature

  11. Bottleneck

  12. Our Vision

  13. Baby steps

  14. None
  15. 1.

  16. 2.

  17. 3.

  18. How Infrastructure, Cococapods and pain

  19. CocoaPods » own specs repo » 20 Pods » own

    pod-template
  20. Rake tasks rake bootstrap # Installs dependencies rake ci #

    Runs everything needed for the ci server rake deploy # Deploy Beta rake release # Release a new version of the Pod rake spec # Runs the specs rake test:listen # Listens to file events and runs the tests rake test:setup_xing # Reset and setup simulator settings
  21. Jenkins » running unit tests » running KIF tests »

    Deploying Alpha/Beta
  22. Sandboxes

  23. XING internal App Store

  24. Pod template Creating `CocoaHeadsBerlin` Pod Configuring template To learn more

    about the template see: `https://github.com/xing/pod-template.git` To learn more about creating a new pod, see: `http://guides.cocoapods.org/making/making-a-cocoapod`
  25. Pain

  26. Versioning » Semantic versioning » updating minor versions and all

    dependent pods » Releasing a new version of a pod can break all others
  27. Data Model » one Core Data file » pods highly

    depend on it » Updating it is a mess » Updating all pods that depend on it much more
  28. Jenkins » setup Jenkins builds is time consuming » build

    forks on Jenkins is not possible yet
  29. Whats with a solution?

  30. See you at UIKonf 2014 and discover our solutions

  31. None
  32. Get in touch with us: @vimacs && @pietbrauer xing.to/vidu &&

    xing.to/PietBrauer