This week, the trio celebrates their podcast mid-life crisis by discussing a concept coined by Daniel Steinberg in a 2022 talk, "Packaged Oriented Programming." How do you organize your app using Swift Package Manager packages? What are the benefits and costs? There is also some discussion on dealing with JSON API changes, using Codable vs DTOs, and strategies for caching external package dependencies for the longterm. Be sure to stay until the end where Kotaro engages in some live "prompt engineering" with Chat GPT that generates some impressively bad jokes.
Mid-life crisis episode
Are we buying the rumored AR headset?
PickleJarTodo / LazyGrids are cool!
Package Oriented Programming
Previews and Package Oriented Programming
Daniel Steinberg
CocoaHeadsNL, Do iOS 2022
https://youtu.be/_5uBJeJVUm0
Why?
How?
How many frameworks per SPM?
Codable/Decodable/Encodable/DTO
Dealing with JSON API changes
Unit testing
Project organization
Circular dependencies
Assets/Resources
Apple Food Truck example
Caching SPMs for the future
https://www.sonatype.com/products/sonatype-nexus-repository
Swift Package Index
https://swiftpackageindex.com
Be mindful of importing dependencies
Wrap-Up
Chat GPT Prompting for Jokes!
Intro music: "When I Hit the Floor", © 2021 Lorne Behrman. Used with permission of the artist.