It’s been over a decade since the time Microsoft introduced .Net as a development platform and Visual Studio as an IDE.
I remember those days when I first worked with .Net 1.0. The rich IDE provided by Visual Studio and the rapid development features it provided was a hit with the developers.
Microsoft had introduced .Net as a technology stack which supported multiple languages and also multiple platforms (these were restricted to windows platforms).
Over the years .Net as a platform has evolved a lot and C# as a language has evolved all the more. One can fairly say that C# today has some very nice language constructs that are missing in Java and Java would need some catching up to do there (though of course Java as a technology stack is far more mature with a lot of enterprise level frameworks available, a huge backing by the open community, some of this also because of its long head start.)
The one gripe that the .Net community had was that .Net was not truly cross platform. Its support was restricted to Windows platforms only. Java had a big advantage here as it provided cross platform support - be it windows, Linux, Mac, mobile etc. The Mono team attempted to change this to some extent by taking .Net cross platform.
There was limited adoption by the open source community as .Net was closed source. Moreover, the development tools from the Microsoft stable including Visual Studio IDE, SQL Server database etc. were licensed and not free for download.
This changed a few years ago with express editions of the IDE and the SQL Server database being made available for developer downloads. This was good but not very convenient what with one having to download a separate express edition of the IDE for each development environment example: web development, windows development etc. ….
The recent announcements from the Microsoft camp has changed all this….
- Open sourcing .Net components
- .Net core runtime (including CLR, JIT, GC and core .Net libraries)
- .Net server side application stack including ASP.NET, EF, Web API, NuGet package manager and the “Roslyn” C# and VB compilers.
- Bringing .Net core libraries to Linux and Mac
- An official distribution of the core .Net libraries would be made available for both Linux and Mac platforms
- With this development would be possible using .Net on both these platforms making .Net truly cross platform
- Making Visual Studio Community Edition IDE available for download
- A fully featured Visual Studio IDE with all the productivity features and IDE extensibility capabilities is available for free download
- This IDE is completely free for
a. Any individual developer working on a commercial or non-commercial project
b. Any developer contributing to an open source project
c. Anyone in an academic research or course setting (e.g. students, teachers, classroom, online course)
d. Any non-enterprise organization with 5 or fewer developers working on a commercial/non-commercial project together
- Using Visual Studio IDE with Xamarin one can develop
- mobile apps that target windows phones, IOS devices as well as android devices.
- Mobile first, cloud first approach with the latest Windows 10 OS
- With this the OS will support a variety of devices right from mobile phones, tablets, phablets, desktops etc. with a cloud centric approach.
I have just summarized a few of the recent announcements above, but I suggest you check out the following event videos/webcasts …
I think these are some really good decisions coming from the Microsoft camp and will benefit the developer community a great deal.
These are really exciting times for developers.
I would love to hear your thoughts.