It’s an exciting time to be a .Net developer. Microsoft is expanding their vision for the platform and committing to fundamental changes in their approach to .Net. There are several changes that I personally have been hoping to see for a long time. This article will explain the changes and the potential I see for the platform going forward.
No one wants to risk doing new development on a platform that they feel is at risk of losing developer mind-share and slipping out of the market. Here are the characteristics that I think contribute to a platform that lasts in the market.
- It’s approachable.
- It runs where you want it to run.
- It connects to the data you care about.
With Microsoft’s recent announcements, two of these three items are being targeted directly, and I’m seeing signs of change in the third are as well. Allow me to explain.
In the early days of personal computers, there were a lot of contenders. Commodore, Atari, Apple, Radio Shack were some of the companies that had computers in the marketplace. The IBM PC and clones are the ones that ended up dominating the personal computer space for a couple of decades. Why? I would argue a critical component of that popularity was the developer tools that made development easy for the PC. Visual Basic did more to advance the PC platform than almost anything else. The development tools were easy to obtain and the language was easy to learn. Developers flocked to the platform.
For many years I wished Microsoft had given away Visual Studio. It’s a wonderful development environment. Oh, they had the “Express” versions of the development tools, but these versions were significantly crippled in functionality. Microsoft’s competitors have certainly used free development tools with considerable success. The development tooling for the Android and IOS platforms do not cost any money (I know Apple charges an annual fee for being a developer but it is minimal, the development tools themselves are free).
Microsoft has seen the light. They are now giving away Visual Studio 2013 Community Edition, which is not crippled. This is great news, as it allows anyone to download and start working with the tools without paying any money up front.
Microsoft Windows owns the business desktop. However, back-end infrastructure and services is a mix of technologies in most organizations. Businesses and organizations run everything from mainframes to clusters of microservers with a variety of operating systems. The fact that .Net has been confined to run on Windows has limited its attractiveness in the enterprise in my opinion.
Great news, that is changing as well. There are two things Microsoft is doing to allow .Net run on other platforms. First, they have committed to releasing the source code of .Net so that anyone with an interest can dig deep to explore functionality or troubleshoot problems. Second, Microsoft is going to port .Net core functionality to run on Linux and Apple’s OSX. This is great news, particularly their commitment to Linux, which has become quite popular as a back end server platform. In fact, it’s so popular that reportedly 20% of virtual machines running on Microsoft’s Azure cloud service are running Linux. There have been non-Microsoft efforts to run .Net programs on Linux with some success, but I expect that with Microsoft’s official endorsement .Net will become a much more compelling development platform for Linux.
The OSX support is notable as well. Many developers who target the Linux operating system do their development work on the Mac. The Mac computer’s operating system, OSX, is similar enough to Unix/Linux that most developers can deploy directly to Linux. So .Net support on OSX is important to build support for .Net on Linux.
Connect to Your Data
Here’s the area I haven’t heard much official talk from Microsoft. The .Net platform has been focused on working well with Microsoft SQL Server, which is no surprise. However, support for other databases has been treated as an afterthought. For example, there are data providers for Oracle in .Net, but they don’t work with Microsoft’s Entity Framework. Support for DB2, MySql, and Postgresql, which are the other notable relational database systems popular in a lot of environments, is sorely lacking.
But here too, things are changing. Although there have not been announcements from top levels of management, the development team for the Entity Framework is committing to supporting database other than SQL Server. Embedded in that article is the following sentence: Within ASP.NET 5 our primary focus is on SQL Server, and then PostgreSQL to support the standard Mac/Linux environment. That is a huge change in mindset at Microsoft.
Once there is support for other databases besides SQL Server, it should be much easier to build support for databases like Oracle, MySql and DB2. I expect to see a lot of progress on this front before the end of this year.
Finally, non-relational databases like Redis and MongoDB have become quite popular. Microsoft is adding support to their data access technology for Azure Table Storage, which is a non-relational database engine. Once that support is complete, I would expect support for other non-relational database engines to be forthcoming as well.
We’re Watching Closely
As you can tell, we here at LRS Education Services are watching these developments closely, and we’ll be ready to provide training as .Net moves beyond its traditional Windows environment and extends its capabilities.
It’s an great time to be a .Net developer. Contact us to learn or update the skills you need for your continuing success.