I’m not a software engineer and perhaps not so versed in this terminology, so I think maybe I misuse terms when discussing “code” and “software.”
So here’s what I meant (if I was unclear)—-macOS and iOS “sharing a codebase” that is identical or very close to identical, or perhaps something where “porting” an app between operating systems becomes almost trivial. That’s what I meant.
I suspect you knew that, but wanted to make sure you could nitpick the statement for an inaccuracy, so congrats for doing that.
When Steve Jobs described the iPhone runs OS X with the full API’s he was exaggerating a bit. He likely said this to make users feel comfortable because OS X was like a crown jewel back 2007.
But I remember watching an interview with key iPhone OS developers on the Computer History Museum Facebook page (Scott Forstall was in it too). Some of the devs said, not the case; iOS barely shared any lineage with OS X and it was basically made from scratch. This was further reinforced with the introduction of UIKit and differentiation with AppKit (macOS).
That’s why desktop macOS apps can’t run on iOS, but iOS apps could actually be easily ported to macOS. Developer Steve Troughton-Smith recently demoed this by showing Safari on iOS running on Leopard like any desktop app. The other sign is Apple de-emphasizing desktop macOS apps in favor of iOS style (in particular iPad style apps on Mac).
The bigger picture behind all of this too is, Apple knows something about user patterns. I witnessed this in a Kids use old stuff on YouTube video. They let a bunch of kids between 14 to 20 use a 1998 iMac with MacOS 9.
I was shocked at the reaction, all of them thought it was extremely difficult to use. The kids described how their MacBooks today and OS X is so much easier to use and they would not use one one these.
I think this is part of Apple’s strategy to oversimplify even the desktop app experience on Mac for a new generation of users. This is the greater goal to making the Mac less complicated and ode to its history of being ‘easy to learn and use’ experience.
Some of us in here are old school Mac users, but what a Mac has meant to us from 1984 to 2020 is going to be a completely different thing to the next generation of users whose first device is likely an iPhone. Apple believes bringing that consistency to the Mac is the only way to make it survive.
Just imagine what a 14 to 20 year old is gonna think of today’s iMac running macOS Mojave in 2038? At the same time, I think Apple will trade power users for the potential larger market share. But developers won’t leave, because they will always stay where there is market share.
Also, if the promise of write once and run anywhere comes out of this, I think most will sit more comfortably.
WWDC 2019 and 2020 will be interesting
to watch.