But why does iOS even need to exist at all..... (in the future)?
OSX can be make to do everything iOS can do, it can operate in a full mode with a full UI for when it's running in, let's call it. computer mode.
The same OSX could easily put up a touch interface and close/hide aspects of itself and display a simple touch UI at any time.
The hurdle here, put simply, is apps. Every single app that you want to operate in both modes needs to have all the code to operate in both. At that point, you are basically writing an OS X / iOS app anyways. Win 10 tries this, but still puts the requirements on developers to have "adaptive UI" that can operate in all the different modes.
The only reason for iOS to ever exist was due to the power needed to run it. If that power demand was never an issue there would never have been a need to create a simpler, stripped down OS in the 1st place.
And screen size, and how AppKit was never really well-built for modern UI architecture, etc. etc. To be honest, UIKit is in some ways more modern than AppKit. It just doesn't have the same feature set as AppKit does.
I'm no iOS programmer, so perhaps we can ask those you are:
Is there anything iOS cannot do?
Could, people, if they wanted create full versions of the following apps?
Photoshop
AutoCAD
Maya
3DSMax
Here's the rub: the real hurdles here are many fold, but they aren't entirely due to Apple. The applications you list are large, legacy codebases. They are written with a particular way of piping events into the application, a particular way that the user interacts with them for discovery, accessibility, and workflow.
Is it possible to make an app that has the feature set of Photoshop, but runs on an iPad? Yes. Will it be as fast as your MBP? Doubt it. On paper, the A9X looks like it might give the Core M a run for its money, but we'll have to see. But it's hard to keep up performance-wise with a laptop or desktop when you have a battery 2-4x bigger, or no battery at all to deal with.
Will Adobe be the one to pay the cost to play on iOS as a full app? Who knows. It's a ton of work to port an application between two similar platforms, let alone two methods of interacting with the user that are drastically different. And that work needs to be backed up with an audience to pay for it. Which right now, doesn't seem to quite be there. Adobe's pricing model is an order of magnitude more expensive than most apps on the store. I see app developers get bashed for daring to ask 10-20$ as a one-time-fee. It's not a terribly inviting environment, unfortunately, even on iOS which is the most willing to pay.
I do work on an app that shares one codebase between Mac and iOS. It's totally possible. It is a lot easier for newer developers to do than older ones with an existing codebase they would have to repair, massage, and mangle in order to make it not assume you have a keyboard + mouse. And that cost basically makes anyone wary of going in unless there's a good reason to do so.
Now, where iOS starts to fall down is areas like:
- I can't write an app that manipulates hardware unless I use WiFi/Bluetooth/Lightning. So existing USB->Serial adapters are a no-go. This is a weird situation where if I'm a hardware vendor, I probably don't care, but if I'm a dev wanting to work with other people's hardware, it is a no-go.
- I can't write an app that accepts plugins (App Store / Security rule more than a technical problem). So that's going to hamper being able to create a community around my app like Photoshop has with its third party plugins.
- I can't write an app that violates Apple's other rules for the App Store (so no Popcorn Time).
But if I want to spend a few million dollars, multiple years, hire a bunch of people and write a Photoshop competitor, I can go to that.
etc etc. And let's say you used the new stylus as the same as a mouse pointer.
Could iOS do it?
I'm not entirely sure what you are saying here. What do you want the stylus to
do that the pointer does? Accuracy? Tooltips via hovering? Unfortunately, from my own background as an engineer, I've found that "mouse pointer" is an overloaded term and doesn't tell me enough of what the user is expecting as it covers too many details.
And to be honest, I'm not 100% convinced bringing in a mouse pointer is the right answer if accuracy is the problem. It depends on the pain point to be honest. A lot of the complaints I hear which include details tend to tell me the touch experience for that workflow needs to be less bad, not that a mouse pointer is the solution.