#56: Diving Into Dependencies
Download MP3In this final episode of 2023, the trio dive into the topic of dependencies! What kinds are there? How do you manage them? What are some examples? This episode is jam packed with great advice and a ton of useful links (see below!) to help you think about the tradeoffs of different kinds of dependencies as well as concrete advice on how to write cleaner code that your future self will appreciate. Have a great holiday season and a happy new year as you embark on your own developer journey into 2024! The trio will return in January!
## Topics Discussed:
- Introductions
- Dependencies Intro
- Metal shaders
- Godot vs Unity
- https://godotengine.org
- https://unity.com
- Platform Dependencies
- Godot/Unity
- Vendor like Apple/Google/Windows/etc.
- Library Dependencies
- Analytics
- Infrastructure Dependencies
- Linode
- Buddy Build
- OpenAI
- Managing Dependencies
- Platform alternatives
- How much work to migrate?
- Noclip Documentary: Remaking Demon’s Souls
- https://youtu.be/hCBJ2fiiUXk
- Emulators
- Getting updates “for free” when you use platform provided controls
- Programming Techniques
- Protocol Oriented Programming
- Themes
- Pragma Conf 2023 - Token Driven UI Development
- https://youtu.be/YvAkyiy6B3g
- Atomic Design by Brad Frost
- https://atomicdesign.bradfrost.com
- Protocol composition for dependency injection by Krzysztof Zabtocki
- https://www.merowing.info/using-protocol-compositon-for-dependency-injection/
- Protocol Witnesses by Point-Free
- https://www.pointfree.co/collections/protocol-witnesses
- Dependencies Library: https://github.com/pointfreeco/swift-dependencies
- Protocol Witnesses Introduction by NSScreencast
- https://nsscreencast.com/episodes/486-codable-witnesses-1
- SwiftData management
- Dependency management tips
- Don’t be too dependent
- Kotaro’s story about XLForm
- Think carefully about letting your “moat” be dependent on a third-party API
- e.g. DividentCalc
- What are your options for platform changes?
- Fork/mirror third-party SPMs and Pods
- https://github.com/apple/swift-evolution/blob/main/proposals/0219-package-manager-dependency-mirroring.md
- https://www.sonatype.com/products/sonatype-nexus-oss-download (cocoapods)
- Off Topic: Auto generating acknowledgements
- SwiftyStack
- https://www.swiftystack.com
- AcknowList
- https://swiftpackageregistry.com/vtourraine/AcknowList
- Wrap-Up & thanks!
Intro music: "When I Hit the Floor", © 2021 Lorne Behrman. Used with permission of the artist.