Modern Apps or Desktop? The Answer May be Spelled W-E-B
Can Microsoft successfully straddle the fence between Windows desktop and the mobile app age? And what should you do about it?
In the financial markets, people are fond of saying "don't fight the Fed." In the Windows development market, we might say "don't fight the Red(mond)." So as Microsoft continues to put more emphasis on the Modern/Windows Store touch-first environment in Windows 8 and Windows RT, the question arises: should .NET developers continue to develop for the Windows desktop?
The Windows desktop has history and heritage to it, and that gives it the kind of staying power that is very hard to defeat, even if Microsoft wanted to. Meanwhile, the signs of such deprecation are there: The Windows 8 desktop is barely evolved from the Windows 7 one. Microsoft field personnel are being heavily tasked with making sure as many apps as possible are added to the Windows Store, with $100 bounties offered to developers to stoke the progress. It sure seems like the writing's on the wall for the Windows desktop, and it's in Microsoft's handwriting.
Is it really that simple, though? Is it Windows Store apps or bust for .NET developers? Does an answer of "no" fight the Red?
If there were ever a time to realize that Microsoft is not one monolithic organization, this is it. In Redmond, the Windows Division has long wielded massive influence. With Windows being one of Microsoft's two big cash cows (Office is the other), that just makes sense. But that doesn't mean WinDiv has absolute power. The Server and Tools Business is influential too, and the Business Solutions Division (which includes Office) calls a lot of shots of its own.
Microsoft's divisions aren't provinces -- they're states. They each have their own laws and cultures, and yet remain loyal to the corporate parent and its greater strategy, just as state leaders rally patriotically behind Federal interests on the international stage. Divisions aren't just loyal to company strategy; they help shape it. So if you're trying to determine what Microsoft will mandate next, take a look at what its divisions are doing now to forecast the emerging consensus strategy.
The Windows Division is pushing developers towards native client development, but Windows supports two native models, with the company and the market at odds over which one should prevail. That will take a while to shake out, and it makes sense to look to the other Microsoft divisions to break the tie. And with the Server and Tools Business, and the Business Division, pushing toward platform independent Web technology, that would seem to be the safe bet, and a smart one, for developers as well.
Native (Platforms) are Restless
Does this mean native is dead? Hardly; iOS and Android have proven that people still love their native apps, a lot. The real issue is that Web technologies are certain to be relevant for a long time and the native platform game, after having been stable for more than 20 years, is encountering upheaval that hasn't resolved yet. To which platform should you allocate more investment: the one that's volatile or the one that's stable? The latter would seem more sensible in the majority of cases.
Andrew Brust is Research Director for Big Data and Analytics at Gigaom Research. Andrew is co-author of "Programming Microsoft SQL Server 2012" (Microsoft Press); an advisor to NYTECH, the New York Technology Council; co-moderator of Big On Data - New York's Data Intelligence Meetup; serves as Microsoft Regional Director and MVP; and is conference co-chair of Visual Studio Live!