I'm not sure why you'd want to use it as a development device when there is a not much heavier MacBook Air available with the same brain in it. I actually ran from September 2021 to January 2022 with just my iPad Pro as a computer for all personal tasks, which include programming, and decided that I was artificially limiting what I was doing for the sake of a minimalist ideal. iOS is just not the right tool for the job.
Each Apple device has a very nice overlapping niche and a lot of consistency between them but some devices are intentionally not designed to do some tasks. iOS is fine for non power user tasks and simple automation but nothing more. For 80% of what I do that is fine so I usually go to the iPad first always. But if I want to sit down and do full on keyboard based productivity it's the MBP every time.
The iPad Pro has a very special place in my heart though. It's the most reliable and efficient machine and with the Apple Pencil it's a game changer. I love to take it with me when I go out for a weekend and will sit in a hotel, do spreadsheet, organise tasks, do some drawing, watch some streams, casual messaging and emails and even video and photo editing. But not programming!
That’s a circular explanation. The iPad isn’t suitable for programming because it isn’t suitable for programming. The limitation is completely arbitrary because Apple thinks they can tell users what they should use their devices for. It’s “Your holding it wrong” applied to software.
Actually that’s not it. It’s not suitable because of the modality, window management and state and data management concepts which are all compromises required for high efficiency touch driven mobile devices.
1. People already use remote desktop software in order to interact with desktop OSs from the iPad.
2. The iPad Pro already has keyboard and mouse support
3. The iPad Pro is already powerfull enough to run virtual machines via emulation, see UTM
4. The formfactor is already prooven by the success of Microsoft Surface and copies.
5. The virtualization APIs created by Apple already exist
This is just a matter of Apple having an enforced monopoly on app distribution and using that power to dictate what you should be able to use each device for.
2. Sort of. It has good keyboard support and completely different mouse support to most platforms.
3. It probably isn’t within the thermal envelope specified and the storage available.
4. Surface is horrible so I’m not sure why that’s comparable.
5. Yes they do and are exposed by macOS only.
I agree with apple. One of the reason iPads are so damn good is that they put some constraints on them to stop people doing horrible things. Virtualisation is one of those horrible things.
1. I matters not that it is remotely. Wether remotely or as a local VM, it prooves that your claim that "It’s not suitable because of the modality, window management and state and data management concepts which are all compromises required for high efficiency touch driven mobile devices." is FALSE.
2. A keyboard is a keyboard and a mouse is a mouse. Remotely or inside a VM they behave as you expect the remote/guest to behave.
3. Bullshit, the Macbook Air has the same thermal envelope
4. Horrible or not, it prooves the formfactor is viable and desired by people.
5. An arbitrary decision designed to protect market segmentation.
That is a rather emotional response. What did the horrible virtualization ever do to you?
1. It's pretty terrible doing it remotely as well. I ran off iOS for a whole three months only for personal stuff. It's wearing gloves when you don't have to.
2. Yes and no. It uses finger emulation on iOS. There is precision control if you need it but the UI is designed for fingers not pointers and switching between one and the other is jarring to say the least.
3. No it doesn't. I have one. The MBA has a much lower thermal resistance than the iPad Pro does and doesn't even get remotely as hot.
4. It proves it was sold to people, not that it is desirable for any particular tasks. You can't draw than conclusion without more data which you have not presented.
5. Not at all.
As for virtualization it is a pretty bad solution for most problem domains. It adds overhead, inefficiency, latency. At that point it is illogical to use it for devices which require low overhead, efficiency and low latency i.e. most mobile devices out there. Taking the initial post into consideration, in what insane world does it even make sense to run a full windows stack on a mobile device when the only thing that matters is the applications?
It's an insane proposition really. I don't do it on any laptops either. Same set of compromises. It barely even makes sense in the cloud either where we end up gaining cost and reduction in performance. Containers are as far as virtualization should go at this point.
> Surface is horrible so I’m not sure why that’s comparable.
The Surface Go with type cover is an amazing janky device. It weighs almost nothing and has the CPU power to match, but I can toss it in my backpack and have a lightweight dev environment with me all the time.
It's great because it's has no software constraints, despite all the hardware compromises. I'd ditch it in a second if the iPad could run full macOS.
Virtualization is the only way they can give users a Mac experience while still being a walled garden with the associated security.
So may be they never will give us Mac experience on iPad (including the shell, forking processes, compile any program which include JIT, etc.) But if they do, it is very likely it is some kind of virtualization that contain the associated risks of those freedoms.
>I agree with apple. One of the reason iPads are so damn good is that they put some constraints on them to stop people doing horrible things. Virtualisation is one of those horrible things.
The iPhone was originally planned not to have any apps. I guess that would've been even better (and less horrible)?
No there's a happy medium in the middle. They took the approach of starting with a bowl and adding holes as required rather than start with a sieve and try and fill all the bad holes up.
The funny thing is you can code redistributable stuff on iPad/iphone, just only within Roblox who made a special deal with Apple to avoid the normal dev license cost and Mac requirement, to enable child-labor entreprenuerers and where the cut is more like 70% instead of 30%.
Of course you're going to get a different experience than on a desktop OS, and you're not going to satisfy every programming environment. But between "virtually none" and "every" there is a huge space that iOS would be able to fill with its current OS design. I'd argue that a lot of developers could do their job on the iPad, if there was VS Code available for it. Right now this isn't even possible, because alternative browser engines aren't allowed on iOS. Why not allow the software on the device? There's no need to change the OS in the slightest. It's easy to dismiss the concept, when it hasn't even had the chance to prove itself.
That's why I wrote "virtually". Others suggested virtualization, which I think would be a good tradeoff that doesn't require usability changes to the underlying OS (and would finally put the processor to good use). Other than that, the inability to code on iOS is due to artificial gatekeeping by Apple, not due to design decisions. There are many ways coding (and probably other types of apps!) on iOS would be possible, if it wasn't for Apple.
First of all, just having a full-blown shell with a text terminal would make the iPad much more usefull for small programming tasks. Then I can't see a reason why it couldn't run an X or Wayland desktop full-screen in a VM app, providing a standard GUI desktop just inside that app. It would make an iPad Pro much more useful when you can't justify to buy or just bring a dedicated laptop.
Macbook air isn't a lot larger or heavier, especially when you add a keyboard case to it. In fact my MBA weighs less than my MBP with the logitech case on it.
Right, but then you might have to carry another device where just an app on the iPad would have been sufficient. Not to mention, that you would have to buy another device. And while that sounds like an incentive to Apple not to provide those capabilities to the iPad, I would have renewed my iPad Pro much earlier, if it were a bit more capable software-wise.
I usually don't need a laptop, just a little bit more capable iPad.
A mentor of mine got her start working with a Big Giant Brain as his assistant - he only programmed by reading fanfold paper output and writing his code down. She would type it up, run it, and then bring the output back for him to analyse.
I can imagine such a person finding this idea gratifying, albeit perhaps too much of a REPL for his tastes.
When I started at technical school writing pseudo code in paper before coding into a 512 KB PC with 8" floppies was common, like doing diagrams of data structures, so maybe I am biased.
Each Apple device has a very nice overlapping niche and a lot of consistency between them but some devices are intentionally not designed to do some tasks. iOS is fine for non power user tasks and simple automation but nothing more. For 80% of what I do that is fine so I usually go to the iPad first always. But if I want to sit down and do full on keyboard based productivity it's the MBP every time.
The iPad Pro has a very special place in my heart though. It's the most reliable and efficient machine and with the Apple Pencil it's a game changer. I love to take it with me when I go out for a weekend and will sit in a hotel, do spreadsheet, organise tasks, do some drawing, watch some streams, casual messaging and emails and even video and photo editing. But not programming!