App Development in Swift Playgrounds

19 July 2022

During the week I attended “App Development in Swift Playgrounds” run by Matt Richards with the support of some of the Apple team and hosted by Dr Michelle Ellis . It was aimed a teachers looking at using Playgrounds for digi-tech teaching.

The day included pulling apart one of the Playgrounds apps and rebuilding it - this being an example of a “top-down” approach - starting with a complete app and fiddling around with it - to better engage students. The alternative being a bottom-up approach where lesson one would be “good morning students, this is a variable, it can hold a value, it has a name we can use to refer to the value”.

This is of particular interest since in my learning journey I am trying to do both - I’m working through the 100 days of, as well as having a stab at building my first app. The cs193p course also is tackling the problem from both ends - students start building the app in their first lecture, but also their first home reading assignment is 80% of the Swift Programming Language book .

Clearly this top-down approach is highly engaging, but the cost is that when students (or me in this case) run into problems, they get super-complex super-quick. Even Swift noobs at the course were able to confidently alter the existing app to look quite different, but many (including me) ran aground in the afternoon when they tried to create an app to suit a different purpose.

In any case, it was a great environment to learn in - being able to put your hand up and get expert assistance is a magical experience when you’ve previously been self-teaching and don’t even know the form of words you need to google to address your current problem, or that the answers you find at are a higher level than you can comprehend.

Matt was a big proponent of using the example apps in the Playgrounds App Gallery to pinch ideas of how to accomplish things. For example, my app needed a scrolling list from where an entry could be selected and edited in another view, Matt straight away suggested I should have a look at the “Date Planner” app that had some similar functionality.