Up to now, Microsoft has jealously guarded its developer base, forcing developers to adhere to "either-or" scenarios of Java versus .NET or open-source versus Microsoft. But now, Microsoft is making some major changes that it hopes will prove those days are waning, if not over.
Microsoft is now taking .NET to places it has never been or would never even venture: cross-platform, open source and to the cloud. The biggest challenge Microsoft faces in doing this? Managing to attract a new set of developers to the .NET fold while simultaneously keeping the loyalists from straying.
Indeed, Microsoft is using its .NET development framework as the linchpin in an effort to further open its environments to the cloud and attract more developers to its ranks.
In December, Microsoft announced it was going to make .NET—which has been around for more than a decade—both a cross-platform and open-source technology with Microsoft-supported distributions of .NET for the Windows, Linux and the Mac operating systems.
"It's been over 12 years since we launched .NET, and it's been wildly successful," S. "Soma" Somasegar, corporate vice president of Microsoft's Developer Division, told eWEEK. "We have over 6 million developers building .NET applications, ranging from mission-critical workloads in an enterprise to anything and everything else. Just in the last year, we've seen 1.8 billion installs of .NET."
However, no longer will developers be relegated to the old 12-years-a-slave mentality in a Windows-only .NET world.
Taking .NET cross-platform opens up a new order in the software development world. While developers may find that the grass is not always greener on the other side, at least they'll get to graze on that side and see what it's like. Microsoft, with this move, hopes to become all things to all developers. Yet, it's not even a question of who gets to market first or even "best" with a new development environment for the mobile-first, cloud-first world; it's a question of what's most expedient.
In that regard, developers are a lot like everybody else in the workaday world. They want to get their jobs done and get paid. They ask "how can you make it easy and comfortable for me to build compelling cloud/mobile apps and make money?"
Making .Net a cross-platform and open-source technology is central to that. It is motivated by the need to create a .NET stack—specifically focused on the Web stack—that is designed and optimized from the start for the requirements of modern cloud applications.
Jay Schmelzer, director of program management in Microsoft's Cloud Platform Tools group, told eWEEK the move is also intrinsically about the need for composability of the framework. That is, "allowing developers to pull in only the components they need for their application and replace components we have with components that are more custom to their needs where appropriate," he said.
These components are designed for high throughput, high performance and smaller footprint apps. They provide better isolation of the entire stack from runtime up through the framework and the application stack.
This gives developers increased confidence that the version of the runtime and framework with which they developed, tested and deployed their application is the same version that they continue to run on until they decide to change it, free of machine-wide events that could affect them, Schmelzer said.