Arbitrary Swift code which can only run because Apple grants themselves private entitlements that let it work.
As one example, the music ecosystem is really good. There's Garageband and several great 3rd party DAWs, and a ton of apps which provide audio units that you can plug into, such as Model D for synths, or Stark for guitar amp modeling.
For photo/video, there are a few really great options: Affinity Photo is comparable to Photoshop, and LumaFusion is comparable to Final Cut or Premiere.
LumaFusion is good but I really wish iOS supported more video codecs than two delivery codecs (h264 and h265). I mean, they own ProRes. Cmon just add support for it in iOS.
I don't swap keyboards, I always use that one.
If that market were larger it would be catered to.
The reason that VS Code is not on iPad is 100%, top to bottom that the framework and App Store restrictions prevent running arbitrary processes.
[0]: VS Code can run any binary on your system, iPad apps can only run binaries that they are compiled with. This distinction is why almost no existing development tools can be ported to iPad, almost all development tools are built on interacting with many binaries that the tool was not necessarily compiled with.
Hell, why aren’t there more desktop class video games on the iPad? Not because it can’t run them, that’s for sure. The hardware is more than powerful enough.
Yes, no good IDE because the target audience is wielding MBPs anyway.
--
[1] https://en.wikipedia.org/wiki/Guitar_Hero
[2] https://en.wikipedia.org/wiki/Rock_Band
[3] Guitar Hero III was the first game to reach $1 billion in sales https://arstechnica.com/gaming/2009/01/guitar-hero-iii-first...
There are and were limitations preventing desktop class software on the iPad, some have lifted but it also takes quite a long time to take up on that, see also above.
- Keyboard support. For a lot of tasks, you need a keyboard. It took a long time until Apple sold keyboards for the iPad, and it still was quirky. There is a row of keys missing and even when coupling bluetooth keyboards, the extra keys didn't work. What Apple didn't really get was: a lot of people need an Esc key for their work, many would like funktion keys. It is still a struggle to run as simple as an ssh session on the iPad. Also, so far I haven't found a truely good SSH client on the iPad.
- Mouse support - really has been added only with 13.4, we will see how this develops.
Restrictions by Apple:
- For a long time, there was no real file exchange between apps, no joint file spaces. This has been partially fixed, still feels cumbersome and very much depends on the apps to get right.
- There is a ton of stuff that could be done on the iPad, but is banned outright. Termux is great on Android, not allowed on the iPad. The iPad would be great for development, if not mostly disallowed.
- And yes, for a lot of things, the screen is just too small :).
- The app store. Great and bad at the same time. The issues are probably best seen on macOS, because on macOS the app store is not mandatory. A lost of applications only exists outside the app store. While I liked the convenience of the app store and the fact that I don't have to deal with license keys and was free to use the app I bought across all my devices, the perpetual updates for free are condemning most longterm development. Paid upgrades were the life blood of the software industry for decades. They mean a regular revenue stream from power users like subscriptions, but didn't force the casual user to constantly pay, only when that user wanted the features of the newer versions. Subscriptions currently seem to be the only way, how a actively developed application can survive in that universe, but limits the user base.
- In app purchases. In principle a good idea, it lead to a reality where apps are flooding the app store which constantly try to extort money from the user. That games are allowed to charge in total more than lets say 2x what an AAA title would cost, is scandaleous. A model where an app could offer a free trial and then is purchased normally would be much more supportive of quality app development.
Many of this can be worked around, but unfortunately that is rather the exception. There are still great apps around which are a joy to use, but the whole ecosystem is drowned by all the bad stuff.
It might be worth checking out Prompt - supports some nice edge cases too, like SSH agent forwarding.
> - There is a ton of stuff that could be done on the iPad, but is banned outright. Termux is great on Android, not allowed on the iPad. The iPad would be great for development, if not mostly disallowed.
Check out iSH (free, available as a testflight, but also open source on GitHub) - https://github.com/tbodt/ish It's a full user mode x86 emulator, letting you run alpine Linux in a nice terminal, and install packages from it. I don't know to what extent iSH would address your desire for something like Termux.
I am aware of iSH, but as you say, its requires "using" the testflight system and while that might be ok for enthusiasts, it is nothing for the large audience. Obviously , as testflight is limited to 10k users.
Arbitrary Javascript code written on the iPad can run, as evidenced by Play.js. Arbitrary Python code written on the iPad can run as evidenced by Pythonista. Arbitrary Swift code can run as evidenced by Swift Playgrounds. There's a Github app, there's a file explorer app, you can connect USB drives and keyboard and as of very recently, a mouse.
So where is VS Code for the iPad? Where is desktop-class software for the iPad? Why is this [1] article from 8 years ago still the best-in-class way to write code on an iPad? Is there still some kind of missing support I'm not seeing?
[1] https://yieldthought.com/post/12239282034/swapped-my-macbook...