
Issue 697
31st January 2025
Written by Dave Verwer
Comment
If you’ve been paying attention to Miguel de Icaza recently, you’ll know of his interest in integrating the Swift language with the Godot game engine. I linked to the SwiftGodot project last year, but it seems that was only the start of his plans.
I played with the TestFlight beta of his Xogot app this week. It’s a full-featured Godot game IDE. It has a code editor, a 2D and 3D design environment, a shader editor, and much more. It’s also round-trip compatible with the Godot desktop environment. I’d recommend watching this great conference talk from GodotCon for a bit of history and for details on some of the design decisions. It’s clearly an impressive app already, and it’s still in beta.
As I started playing with the app though, I couldn’t help wishing that it also supported macOS¹. Even using an external keyboard, which I’d say is essential for an app like this, I struggled. I want to be clear that this is not Miguel’s fault – it’s a well-designed iPad app. It’s more that I have always struggled with using an iPad for productivity tasks. The device is great for the occasional sketch I need to make with the pencil, and of course for entertainment. Though, I always reach for my Mac when it comes to writing, coding, or even email.
So when everyone got excited about the possibility of Apple creating Xcode for iPad a few years ago, I struggled to get on board with the excitement. There was clearly enthusiasm within the community for Apple to create that product, though.
Apple has taken a couple of steps down the road to Xcode on iPad by expanding Swift Playgrounds into an app that can build full apps and even submit them to the App Store. I don’t hear about many people using it², but it’s possibly because most of the people I interact with are also dinosaurs? 😂
It’s possible that the next generation of developers³ who grew up with iPads as their primary computing device will change everything. Tools like Xogot and the evolution of Swift Playgrounds into Xcode for iPad could be the future of software development.
That said, I also hope there ends up being a macOS version of Xogot one day. For us dinosaurs. 🦕
Dave Verwer
Sponsored Link
Supercharge GitHub Actions with M4 Pro runners from the creators of TartEnjoy the fastest Apple Silicon chips at a fixed monthly price — fully managed so you can focus on shipping great code. Get an additional 50% off your first month with code IOS50OFF — exclusively for subscribers. Start your free 10-day trial now.
News
Swift Everywhere: Bringing Swift Packages to AndroidThe folks over at SKIP.tools have been busy testing the Android compatibility of Swift packages recently. In this post, they outline how to improve package compatibility with Android and how to add your package to the test results, if you have one to add. Given how many Swift packages depend on Apple platform-specific frameworks, I was very surprised at how many are already compatible. How many? I’ll leave that surprise for you to find out when you visit their results website.
Tools
Debug apps that require launching from external actionsYou might not need to attach a debugger to your app in this way very often, but when you do, you’ll thank Natascha Fadeeva for publishing this quick tip. It’s essential if you need to debug something like a Home Screen Action.
Code
The Swift Concurrency GlossaryIf people still bookmarked sites anymore, this quick reference from Matt Massicotte would be one to bookmark. What’s the difference between an actor
and an Actor
? So many answers here, and he has linked everything to its related Swift evolution proposal for more detail.
Provide macOS system-wide services from your app
It’s such a tragedy that macOS Services are so underused. The concept is brilliant and the implementation is solid, but they have fallen by the wayside in recent years. Sure, Shortcuts is the new hotness, but I will always have a soft spot for services. Want to make one? Natalia Panferova takes us through how to implement them, step by step.
The advantages of using withAnimation
Magnus Kahr Jensen has a nice SwiftUI tip for us this week. He uses withAnimations
to keep animations closely associated with the component they animate. Useful!
Videos
Videos from Objective by the Sea v7.0The Objective by the Sea event might not be directly relevant to your everyday work as a security conference focused on Apple platforms. However, it’s close enough that you’ll almost certainly find something here to interest you.
Jobs
Staff iOS Engineer @ Outsmart College, Inc. – Team up with former Duolingo execs to tackle long-standing challenges in higher education! Outsmart is looking for a self-organized Staff iOS Engineer with a strong background in UIKit and SwiftUI development. TCA, ML/AI experience nice to have. Startup experience highly desired. – On-site (United States in CA or NY) with some remote work (within US timezones)
And finally...
This isn’t new by any means, but I only found it this week and it’s beautiful! 😱 Give it a try if you haven’t already.
¹ Yes, there’s already a Godot IDE for Mac. It’s fine, but it doesn’t feel at home on macOS, whereas Xogot lives and breathes the HIG. ❤️
² If you know of any Swift Playgrounds on iPad success stories, please let me know. I’d love to write more about this.
³ Including some of you, who will be a generation ahead of me.