WWDC21: Xcode on iPad?

WWDC21: Xcode on iPad?

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.  



Glenn Cole

Software Developer at Moebius Solutions, Inc.

3 年

First impressions of what was announced?

回复

要查看或添加评论,请登录

Steven Lipton的更多文章

  • Predicates and Predicate functions in HANA

    Predicates and Predicate functions in HANA

    #Bizoneness: Over the last few newsletters, we reviewed functions in HANA and their SQL equivalents. Our last in this…

  • LucaERP part 5: Building A Form

    LucaERP part 5: Building A Form

    In this series of biweekly columns, we're building an ERP from scratch, starting with the general ledger. We've learned…

  • BizOneness: Aggregate Functions in HANA

    BizOneness: Aggregate Functions in HANA

    #HANA #Bizoneness Over the last few newsletters, we've been looking at the basics of HANA. This time, I'd like to look…

  • LucaP: The Anatomy of User Interfaces for ERP

    LucaP: The Anatomy of User Interfaces for ERP

    #LucaP In the last installment of building the LucaP ERP, we discussed the part of the general journal. We have yet to…

  • Bizoneness: Common SQL and HANA types, Operators, and Functions

    Bizoneness: Common SQL and HANA types, Operators, and Functions

    Bizoneness: Common SQL and HANA types, operators, and Functions #Bizoneness #HANA Two weeks ago, I wrote the first of…

    1 条评论
  • LucaP ERP part 3: Adding General Journal Entries

    LucaP ERP part 3: Adding General Journal Entries

    #LucaP *Note:As I've gained a few followers and subscriptions in the last few weeks, I want to remind everyone that I…

  • Bizoneness: Introducing HANA

    Bizoneness: Introducing HANA

    #Bizoneness While I had planned something about the General Ledger for this newsletter, circumstances changed, so I'll…

    3 条评论
  • LucaP ERP part2: The Chart of Accounts

    LucaP ERP part2: The Chart of Accounts

    #LucaP #ERP In the ERP application, we have established credits and debits on a ledger with the five major accounts…

  • The Bizoneness Migration Guide

    The Bizoneness Migration Guide

    #Bizoneness Data migration is taking data from one source and merging it into another source. If you're very lucky, it…

  • LucaP ERP Part 1: The Basic Equation

    LucaP ERP Part 1: The Basic Equation

    #LucaP How do you start to understand the workings of an ERP system? By making one. In this biweekly column, we’ll make…

社区洞察