Have you ever wondered why Microsoft doesn’t have certain products available on competing platforms?
It’s a pretty simple analogy that we all pretty much know; it’s for competition reasons, but there are good reasons why Microsoft should be more open in developing key products for other platforms – one of which is ASP.NET.
.NET is an incredible application framework.
No matter how you see Microsoft, .NET is an amazing framework and is incredibly versatile – it can be used for both web and desktop application development. Certain areas of the framework are actually used in both scenarios, whereas others are more focused on the Web (one of which being the System.Web namespace; whereas the System.Windows.Forms namespace is all relating to desktop applications). Because .NET is so powerful it can be confusing to understand, learn and be able to use proficiently – but saying that, it is definitely one of the better frameworks available.
Microsoft should sell Visual Studio products on the Mac platform.
The fact is, Microsoft could make a new revenue stream this way too. Microsoft could have both Express and Professional versions of their Integrated Development Environment, Visual Studio. Microsoft’s Office for Mac software is likely to generate good revenue for Microsoft, and Mac users may like the ASP.NET application and programming model that if they have a Mac, and want to purchase the Professional version of Visual Studio, they’re likely to do so – including businesses and professionals.
It could be beneficial for Microsoft’s Windows Server.
Users may opt for Windows Shared Web Hosting if they prefer .NET web application development to competing programming languages, such as PHP, Java Server Pages or Perl.
It can encourage more people to learn Microsoft technologies.
C#, being a Microsoft programming language with their .NET programming framework (C# now being ECMA and ISO standards), more users may be encouraged as a result to learn Microsoft programming languages and technologies, which can be overall beneficial to Microsoft in general. .NET is also currently used for Windows application development (soon to be primarily replaced by WinRT, for Metro-style applications in Windows 8), so one may also be encouraged to create Windows applications in the future, should such a need arise.
Can help alter the perception of Microsoft
Developers, technical, open source and power users don’t have the greatest perception of Microsoft from their past activities and past services – such as anticompetitive behaviour to Windows Vista. With Windows 8, Microsoft is really portraying about the chocie us as consumers have which is an obvious comparison to Apple, where only a few choices are created by Apple for consumers to choose from. If Microsoft starts creating applications for some of their core products (one of which already being Microsoft Office), it could make Microsoft to be seen as a company that supports their customers regardless of the platform they’re using – whether that’s Windows or the Mac platform. Having said that, it is highly unlikely Microsoft are going to make a conscious effort with the Linux platform, but Microsoft’s Skype Division did indeed bring a major update to Skype for Linux with Skype 4.0, which included greater reliability, improved user interface among other features. Some users were concerned that Microsoft were going to abandon Skype for Linux, but this clears any doubts – and I am happy Microsoft are supporting other platforms, including Linux.
As a Mac user myself, I do like ASP.NET with the Integrated Development Environment – it’s a great development environment, with the .NET framework and the choice of language to use – primarily of which being between C# and Visual Basic. But in my opinion, having .NET development options on the Mac platform isn’t nearly as bad as Microsoft’s exclusivity to their own platform for their Visual Studio development environment. Now of course, there are a few reservations to consider – one of which being a way to create .NET applications on the Mac platform (and also on the Linux platform, too) – called MonoDevelop – but it’s not very good, and I’ve tried it. Tried to create a Web .NET 4.0 project, and it didn’t really go far. It appears, from the error that occurred itself to searching online, MonoDevelop doesn’t fully support .NET 4.0 yet.