What a time to be a .Net Developer. It used to be that one had to hang your head in certain circles when you were asked about your job. Admitting that you programmed in the Microsoft stack was seen as “less than cool”. All the cool kids were programming in Ruby, Node, Haskell, etc. Pick your poison. It was more popular than ever to write the “Why I’m Leaving .Net” blog post and just vamoose.
Recently, however, Microsoft has been changing ever since Satya Nadella has taken over. In reality, some of the changes started even before his arrival, but they have been leaping forward recently. .Net is Open Source, Microsoft projects are on GitHub and being developed in the open, and .Net has finally fulfilled its promise and is fully cross platform. You can develop full .Net apps on Windows, Linux, or the Mac and you can share the projects between the three without much issue.
Microsoft is now a Platinum Sponsor of the Linux Foundation. That means that Microsoft donates $500,000 annually to help the development of Linux, which is the highest level of sponsorship alongside Oracle, HP, IBM, and others. Google has joined the .Net Foundation to help steer .Net into the future.
TypeScript has gotten some wide adoption. After being made fun of for trying to “un-JavaScript JavaScript”, now some major JS players are using TypeScript. The Angular team at Google eschewed Dart (Google’s own thing) in favor of TypeScript. What is even happening to the world?
SQL Server is on Linux (in preview at the time I write this). That says almost everything there.
Visual Studio is available for the Mac (also in preview). I’m not talking about VS Code, I’m talking full Visual Studio.
The other night, I took a shot at this brave new world. I installed Linux Mint 18 Sarah (MATE version) in a virtual machine on my iMac and attempted to get a fully functional ASP.Net MVC site up and running. I will admit that the tooling is not quite there yet and I did spend about three hours on the entire process, but I learned a lot. There were some versioning issues, but I finally now have a complete working toolchain using VS Code, .Net Core, npm, and tools like Yeoman. Here was my first console application that I wrote:
After that, I got Yeoman installed and configured:
Finally, I was able to generate an ASP.Net MVC 6 site running on .Net Core developed and running on a Linux box that I set up.
The future is here. As Apple continues to get more and more evil and not care about its customers, Microsoft is seeking newer and newer ways to engage developers across all spectrums. Honestly, engaging developers is always what they’ve done well. Now, they are just taking it to the next level. I can’t wait to get more and more of these kinds of applications into production and to be able to hold my head high and say that I’m a .Net Developer. I’m still waiting to read the first “Why I left Node for .Net” post, though 😉