Currently I’m spending most of my programming time learning new things instead of actually building something. My next project should include technology I don’t know anything about yet. I’d love for it to be something that’s online.
Building little apps that store data on your device is cute and everything but for me the magic lies in stuff being on the internet. Unfortunately I don’t yet know anything about how databases work.
I stumbled upon Swiftful Thinking, a YouTube channel explaining Swift and SwiftUI topics in a way that resonates very well with how I learn. His videos taught me that CloudKit is exactly what I was looking for. Who would have thought that that’s a database solution from Apple that I’m already paying for? I know how to connect an app to CloudKit, how to put data in a database and how to fetch it again. I even know what CRUD stands for. Look at me, knowing my acronyms.
What surprised me was how easy it is to subscribe to changes on a database to trigger push notifications. I thought features like that would be incredibly complicated and require 3-4 backend engineers to implement but it seems like Apple made this relatively trivial. This excites me a lot more than I’m willing to admit. The sheer amount of possibilities that open up through these things makes me feel like a child locked into a LEGO store over night. If that’s a metaphor that works for you.
Following Swiftful Thinking’s CloudKit series I came to a point where my lack of fundamental knowledge became apparent. So now I’m deep in the rabbit hole of better understanding protocols, generics,
@ViewBuilder and publishing/subscribing with Combine. All these topics make me giddy with excitement because I can’t wait to finally use them in real projects.
I love how there’s so much to learn and play around with. Having spend a Sunday learning opened up hundreds of Sundays of tinkering around with new digital toys. What’s not to love about that?