I consider myself well-versed with Xamarin Studio on the Mac. I wrote about it recently here. For the past nine months, I've been immersed in Xamarin Studio on the Mac and I grew to like it. But today Microsoft announced Visual Studio for Mac. Wow! Two things I never thought would exist in a product title. Not to mention the whole Microsoft Linux Foundation announcement today, but that's another story.
So, what is Visual Studio for Mac? I mean really? Clearly Microsoft didn't port the actual Visual Studio to macOS. I'm pretty sure that's not even possible. After looking at the the screenshots in the announcement, it became immediately clear that Microsoft simply re-branded Xamarin Studio as Visual Studio for Mac. Okay. That makes sense since they own Xamarin now. I get brand consistency and all. But, is this just new text on the label in my menu bar, or is there something here that wasn't in Xamarin Studio?
More Than a Menu Bar Label
I downloaded the preview of Visual Studio for Mac and it was very similar to downloading Xamarin Studio with the exception of the polish on the installer. This was a little more refined. Same stuff though. Big fat installer pulling down lot's of things related to iOS and Android. I had to enter my admin password for the installer too, just like Xamarin Studio. Okay, fine. Give me something cool, something Xamarin Studio didn't have to make this worthwhile. It did.
This is where I was really hoping for something new and I found it. The project dialog defaulted to the Xamarin.Forms project template. Not unexpected but not exciting. This isn't new!
Curious human that I am, I immediately scrolled down to see what other goodness Microsoft packed into this dialog and I found some neat things.
Okay, this is new (I think). I like this. .Net Core is here. And there's this curious "Other" section that mentions ASP.Net. The moment I saw this I imagined ditching Parallels and using my Mac for all of my .Net work. Then I realized this new toy probably knows nothing about TFS and...it doesn't. But it does know Git and that's nice. Anyway, back to this "Other" stuff. I decided to create an ASP.Net application and was presented with this:
This looks familiar, from Visual Studio on Windows. I proceeded to find out if this was actual .Net or some form of Mono. As it turns out it's...both? Either? I'm not sure. Take a look at the default controller for the Index page (of course I had to customize the interface and syntax highlighting).
By the looks of it, this can run on Mono or plain old .Net. I haven't tried building something with this project template and trying to open it on the Windows version of Visual Studio yet, but I think it'll work. I don't see any references to Mono here but I could be wrong. Either way, this is promising if not just for the addition of .Net Core and the UI polish.
Also, note that the solution explorer is now on the right as opposed to it's previous home on the left in Xamarin Studio. Also, the code formatting is in line with Visual Studio whereas before Xamarin Studio defaulted to that funky Mono style.
The conclusion is...there is no conclusion, this was just a quick glance. I only know this: good things are ahead if you like C# and .Net, but also happen to prefer macOS over Windows. I hope that we will soon live in a world where our OS preference doesn't matter, where you can build .Net applications on any platform you want and run them where you want.
This goodness is only made possible by some people who have been working diligently to change hearts and minds for many, many years. The people that come to mind, the people that got us here, are Scott Guthrie, Scott Hanselman and Miguel de Icaza to name a few. I'm sure there are hundreds more and I hope they keep it up. You're all doing great things. The future is bright.
index page of that project run on the mac