Slowly but surely, the traditional notion of the computer is dying.
Since the advent of the Apple II and the rise of the mass-market consumer PC, you hear "computer" and you think "monitor, mouse, keyboard," in some variation.
But ever since the iPhone first launched in 2007, there's been a shift, first away from the PC and toward tiny, pocket-sized computers with touchscreens.
And then, as processing power got cheaper and the internet got more ubiquitous, we got something else entirely.
Thanks to the rise of gadgets like the Amazon Echo, Google Chromecast, Microsoft HoloLens, the Nest thermostat, and Facebook's Oculus Rift, that's no longer the case. A computer can be something you talk to in plain speech, or that you wear on your face. It can be little more than a screen, or have no screen at all.
Now a computer can look like literally anything and go anywhere. It's only the beginning.
For Microsoft and Apple, the two companies synonymous with the PC, this transition presents something of a crisis point. They've spent the last several decades carefully cultivating communities of developers writing the software that makes the world hum. Now the rug hasn't quite been pulled out from under them, but the potential is there.
Against this backdrop, the two long-time frenemies are each preparing their master plans to make sure they each come out on top of computing's huge shift — no matter which gadget turns out to be the next big thing.
Apple is in a unique situation, as an immensely profitable company that also controls relatively little of the market.
Microsoft Windows still controls the vast majority of the PC market. And Google's Android is the dominant power in the smartphone world, and it's only growing, especially in the developing world.
Android and its continued growth is enough of a threat as it is — developers will always be drawn toward building software for the largest audience possible. With the future of computing a continually shifting target, Apple has to make sure that no matter what, people keep building apps for iPhone.
The solution Apple hit upon is typically elegant: Swift, the Apple-created programming language for writing iPhone apps that developers of all shapes and sizes have quickly come to love.
Swift has won accolades and support from the world of app developers by virtue of simply being better, faster, and easier to learn than other options.
Apple has been pitching Swift as the language of choice for people, especially kids, learning to code. And by releasing the language freely as open source, Apple has ensured that Swift has gone beyond the iPhone to platforms including Android and Linux.
The trick here, though, is that Swift was designed to run on an iPhone. So any code that's written in Swift, for any operating system, at any point in time, would be way easier to bring to the iPhone than it would otherwise.
It turns the iPhone into kind of a default landing zone for Swift apps, no matter which way the winds blow in the larger tech space. And if Apple ever releases a new platform — for instance, a hypothetical virtual-reality headset or a car — it would support Swift in the same way.
Unsurprisingly, Microsoft sees the future as involving a lot of Windows.
With Windows 10, Microsoft consolidated the phone, tablet, PC, video-game console, holographic goggles, and smart-home gadget operating systems into one mega-platform.
So rather than push one cross-platform programming language, as Apple is doing, Microsoft is standardizing on one operating system.
Microsoft envisions Windows 10 as the operating system that underpins every single one of the next wave of devices. One platform, one easy way to bring apps to Windows, no matter what kind of device they're using — or so goes the party line.
But really, Microsoft is playing a deeper game too: Microsoft has been slowly but surely releasing all kinds of awesome tools for free to the developer world, notably Xamarin — which lets you write an app once and quickly bring it anywhere, from Windows to the web to iPhone to Android. Developers love it.
The key there is that Xamarin, and a bunch of Microsoft's other tools like Visual Studio, make it stupid easy to use the Microsoft Azure cloud platform to provide the brains for any app — from data storage to processing big chunks of data.
From Microsoft's perspective, then, it can provide the tools that developers want to use, even if they're not coding for Windows (though Microsoft sure hopes they will). So long as Microsoft provides even a piece of the architecture for that app, they still win, and they still stay relevant no matter which way the winds of tech blow.
In short, what we're seeing is the two biggest names in computing hunkering down as they prepare for massive shifts that could go any which way. The big bet underlying both Microsoft and Apple's strategy is that regardless of what happens, they'll each have a way to win. Or at least, not lose.
More From Business Insider