Now I'm not talking about mouse and keyboard, per se, but the ability to quickly get AppKit up and running with a modified touch layer in UIKit. This is even more interesting when you consider the announcement the other day from Adobe that "full Photoshop" with "real Photoshop code" is coming to the iPad in 2019. That's an interesting statement. Doesn't "real code" mean Mac code? What's even more interesting is that Phil Schiller was on stage for the event, which he never does for third party companies. Apple wants to accelerate getting Pro apps on iPad, and this could be a way to do that faster. Partnering with Adobe makes sense, as they're the market leader in the creative professional space.
The catch is that “real Photoshop” is a cross-platform app already. Unless they are a glutton for punishment, both platforms are built from the same core code, but with platform-specific UI. So the UI is in a sense a layer on top of the core logic that runs the app.
There’s no reason that core can’t be brought to iOS, with an iOS specific UI layer instead of a Win/Mac one.
The catch is that it can get expensive. Apps like Photoshop are fairly old, and date back to an era where having the code clean enough that the UI lives as a separate layer and is easy to replace wasn’t a thing. You also had to handle a lot of input yourself, meaning mouse/keyboard logic is all over the core of the app, rather than done cleanly too.
Fixing all this for an OS like iOS where you are forced to be clean when it comes to input and UI, and having to revisit how your UI works after nearly 30 years of bloat, isn’t cheap. And a company like Adobe sees the cost of porting and shies away until the writing is on the wall. Either in the sense of competition threatening them with a younger and more flexible code base (Affinity Photo), or the market for desktops/laptops shrinking in favor of tablets (which hasn’t really happened).
I get where you are coming from, but as a developer, bringing AppKit to iOS doesn’t buy you anything. Outside of AppKit/UIKit, a lot of the APIs are already common between the two platforms. Where they differ are in the UI controls and input. And even then there’s some pretty good similarities to keep things from being too different without reasons for it.
And honestly, if I had my choice for a converged *Kit for UI between the two, it would be a more mature UIKit, not a ported AppKit. Precisely because AppKit has far too much legacy that is there to support machines from the early 2000s, rather than today’s machines where you can assume things like CoreAnimation will always work, you always have a reasonable GPU for 2D acceleration, etc.
EDIT: But adapting the hardware for more Pro purposes I think is on point. How they do it may be rather “evolutionary”, but I do expect them to keep pushing in this direction as tech advances.