WWDC21: Xcode on iPad?
Steven Lipton
Author, consultant and Speaker on technology, creativity, iOS Development, and SAP Business One
With less than a week to the next World Wide developer's conference, Pundits and press are all speculating about what's coming to this year's online gathering of Apple developers. This year, besides the usual clueless press speculating about new devices to be released, we have developers in a hot debate about a potential new product for iPad that would change everything, and I have my thoughts about that change.
Speculation arose On April 20th, when Apple announced the iPad Pro with the M1 chip. The new macs and the new iPads are running the same processor, which means it will be easier for them to share applications. One application came to the mind of many developers almost instantly: Xcode on iPad. Having the developer environment on an iPad makes some developers drool, while others are not so impressed, and others a cynical.
A development environment on an iPad is not new. I use Swift Playgrounds almost daily to write iOS development tips weekly, more so pre-COVID when I could sit in a coffee shop and write. Swift Playgrounds works for professional prototyping and playing. However, the target audience is primary and secondary education to teach Swift as a first coding language. It is more of a toy than a development environment.
In playgrounds, developers are a second thought. I wrote a course in the LinkedIn Learning Library on Swift Playgrounds application development, showing how to use the iPad as a development tool despite that.
Swift Playgrounds is much better to work with devices like cameras and gyroscopes during prototyping as the Mac does not have those available to developers in Xcode directly.
The Playgrounds app is also very buggy. Applications that work in XCode do not work in Swift Playgrounds. Even worse, the file system for Swift Playgrounds is not the same as Xcode. Creating an application on your iPad is a painful process to transfer to production code in Xcode on a Mac. Sadly, Swift Playgrounds still works best as the kiddie pool more than a solid element to a production environment.
Xcode on the iPad would solve all these problems. It would use the Xcode file organization for an application, creating portability between a Mac and an iPad. Developers could take smaller, lighter iPads to work remotely and even bring prototypes to clients or team meetings, working quickly to solve problems. A running application would be using the processor the same way as a published app for excellent performance testing. Adjustments to code would be lightning fast. All sensors and cameras would be available to the developer, which is especially important to AR development. For some developers, this would be a dream development environment.
Nothing would please me more than Xcode on an iPad Pro. I'd be out the door and buying a new iPad just to run it. However, I'm also pessimistic about such a fantastic tool ever existing. While the last hardware problem is gone, business decisions at Apple make such a tool problematic. For non-developers, Xcode on iPad would be a runtime system for iPadOS projects, allowing for distribution without the App Store. As we wait for the judgment, in Epic vs. Apple, it's clear that would be a situation Apple would not allow. An Xcode with storyboards on a touch interface would need a UI so different than the Mac that it may not be a viable idea.
Of course, not every developer is interested in Xcode for iPad. Front-end developers of UI and those using sensors and connections are the most to enjoy it. For many, the Mac has some significant advantages, especially with backend development.
If we see anything, I do not think we will see a full Xcode on the iPad. What would get the job done would be an iPad app that does this:
- Runs and edits Xcode file structures
- SwiftUI the primary, if not only UI Framework
- If UIKit is available, it will have read-only storyboards, but programmatic UI with auto layout and UIStackViews
- Available only to licensed developers
- No simulators
- Builds and runs applications only in Xcode in a resizable preview window with a phone and iPad resolution
Xcode for iPad might happen this year, within a few years or never. Such a product would be a boon for current developers and move beyond the kiddie pool of playgrounds. Xcode for iPad would be the app for secondary education and new developers.
We can only hope.
Steven Lipton is the Chief Information Officer of Scientific Device Laboratory, a medical device and diagnostics manufacturer specialing in microscope slide printing and TB diagnostic products. Steve is also the author of many courses for LinkedIn Learning including SAP Business One Essential Training and SwiftUI Essential Training. He is also the author and host for the weekly series iOS Development Tips Weekly on LinkedIn Learning.
Software Developer at Moebius Solutions, Inc.
3 年First impressions of what was announced?