This massive WWDC introduced a number of new APIs and tools, such as SwiftUI, Combine, and Swift Package Manager support in Xcode. In addition, there are other community efforts like Vapor and Kitura that I have not have time nor cause to use.

I like to stay up to date on frameworks and APIs. Although they may not have direct impact on my day to day job, developing that familiarity with them has indirect benefit in the form of stretching my thinking and sharpening my learning. Adding them to my toolkit means that when there is a point at which they are a good solution, I can recognize that and have at least some baseline knowledge to go off of.

There are enough new things that are different, that this year I am going to take a different approach. I’m going to bring as many of these new things as I can together in a way that has structure and purpose, a way to direct my learning.

Yes, I’m writing a To Do App.

Almost like a Hello World of projects, it seems like a to do app is a common way to have a simple project for a developer to learn with. For mine, I’m going to have a Swift Package that contains the data model and logic, a Vapor web server, and macOS, iOS, and watchOS apps that all use the model package. I’ll use SwiftUI for the front end, and share parts of the UI across targets.

I have a lot of dreams and projects I believe I’ll get to, but which are overtaken by actual responsibilities. I know I’m not alone in this regard. And here is yet another. But this is for me and my edification, so there is little pressure. The difference is this time I decided to share this process as I go along.

Introducing EduTuDu: the Series.

A goofy name should help keep it light in my mind and clear this is for Edu-cation. That’s not to say that I won’t be trying to include everything that a real product would include, but that’s not my purpose. I just want a structure to learn around.

As a kind of Step 0, I’ve created a GitHub project to work with, trying to tag the work I do in each blog post. This is to try to keep to the principles laid out before. I’m using an MIT license, since I believe that is most fully inline with my goals and values.

Next up, Part I.