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

Treat Yourself: Keeping an Eye on Your Dependency Graph

Bas Broek
October 23, 2019

Treat Yourself: Keeping an Eye on Your Dependency Graph

On tackling dependency challenges in large apps.

References:

Bismuth (https://bismuthlabs.io)
So You're Writing a Framework... (https://www.youtube.com/watch?v=V9zmHUlPMfs)

Bas Broek

October 23, 2019
Tweet

More Decks by Bas Broek

Other Decks in Programming

Transcript

  1. Treat Yourself:
    Keeping an Eye on Your
    Dependency Graph
    1 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  2. What do you
    mean, treat
    yourself?
    2 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  3. Takeaways
    → Why dependencies matter
    → How you can prevent dependency challenges
    3 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  4. A little history
    4 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  5. 5

    View Slide

  6. Seperate
    repositories
    6 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  7. Monorepo
    7 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  8. !
    Feature Frameworks
    8 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  9. !
    Microframeworks
    9 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  10. 10

    View Slide

  11. With all these ideas layed
    out...
    11 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  12. Breaking
    changes
    12 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  13. 13

    View Slide

  14. Tests
    Code
    Documentation
    14 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  15. Tests
    Code
    Documentation
    =
    Understanding
    15 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  16. Optimize code for
    reading, not writing
    16 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  17. Communication is hard
    17 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  18. 18

    View Slide

  19. 19

    View Slide

  20. Where to
    start?
    20 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  21. =
    Understanding
    21 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  22. 22

    View Slide

  23. That's me.
    23 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  24. Cleaning up unused
    dependencies
    24 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  25. 25

    View Slide

  26. =
    Understanding
    26 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  27. 27

    View Slide

  28. 28

    View Slide

  29. 29

    View Slide

  30. 30

    View Slide

  31. New and improved Build
    System
    31 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  32. 32

    View Slide

  33. So... what did we learn?
    33 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  34. 34

    View Slide

  35. How to define
    interfaces
    35 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  36. !
    Keep in the loop
    36 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  37. Don't give up
    37 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  38. You can do
    this
    38 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  39. Don't start
    anew...
    probably
    39 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  40. Do find time for
    technological
    improvements
    40 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  41. Never
    Stand
    Still
    41 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  42. Share your
    learnings
    42 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  43. Thank you!
    43 — @basthomas, CocoaHeads Porto, October 2019

    View Slide

  44. References
    → Bismuth
    → So You're Writing a Framework...
    44 — @basthomas, CocoaHeads Porto, October 2019

    View Slide