Initial thoughts of Swift Playgrounds 4

Initial thoughts of Swift Playgrounds 4
Photo by Shanthi Raja / Unsplash

I’ve been waiting for Swift Playgrounds 4 since it was announced at WWDC this year. I even tried to push off MyWheels for it as long as I could so I could work on it on my iPad Pro instead of having to be on my Mac and inside Xcode. I am all about making the iPad my on the go device and making apps on it is a big step in that direction.

The first thing I wanted to do with Playgrounds was open one of my existing apps, and I must say I was dissappointed when I couldn’t do that. I have a few theories as to why that couldn’t happen, but let’s continue on with some other first impressions.

Creating an app

Creating an app is easy and there are some neat starter apps that anyone can go in and edit. You don’t need an apple developer license to edit it, but you will need one to eventually publish the app to the App Store.

The “icon generator” is so much fun and I love the icons!

Image.png

It’s really easy to add capabilities to apps as well! In the same window where you change the icon, the option to add capabilities is there!

IMG_0111.png
Image.png

Just fill in the reason and you’re good to go it looks like.

It’s also relatively easy to start using Swift Packages available on GitHub. It’s actually as easy as it is in Xcode. You just need to add it with the URL and you’re ready to use it!

Auto complete for code works like it does in Xcode, but I did notice some lag, which I was surprised more than anything. I am running it on an M1 iPad Pro 12.9" so I would think it should be like butter. Now, if you were hoping to input code via your Apple Pencil using scribble, you are out of luck. Scribble just doesn't work in Playgrounds. I'm not sure if it ever worked though...

Why do I think importing an app had its challenges?

Playgrounds doesn’t support normal Xcode projects. It needs to be an app package. You can open these app packages in the latest version of Xcode and supposedly take them back and forth (I haven’t tried this yet), but at least from my 3 hours of poking around with Playgrounds I couldn’t find a way to open my pure SwiftUI apps in it. There might be another factor as to why it won’t open:

Swift Playgrounds doesn’t have support for CoreData, CloudKit, or in-app purchases capabilities

These are just some limitations with Swift Playgrounds that makes it hard to launch a full featured app. I also didn’t see a way to run tests which is also a hold back for some developers.

Am I satisfied?

I’m not quite satisfied with this version, but I think it’s a great start. I also think this update to Swift Playgrounds is going to make it possible for so many more people to get started with App Development and that’s the whole point with Swift Playgrounds. From my perspective, I can start my app on my iPad and maybe do some tweaking, but I don’t see me using Swift Playgrounds as my full time IDE for iOS and iPadOS apps.