Is 'Visual Studio for Mac' Really Visual Studio?
After Microsoft today announced the general availability of Visual Studio for Mac, many developers on forum sites questioned if it's really the same IDE that Windows users have known and loved for years, or a refactored, rebadged and rebranded version of Xamarin Studio -- and no less than Xamarin chief Miguel de Icaza himself weighed in with some answers.
de Icaza co-founded Xamarin, which was acquired by Microsoft last year to bring in-house its popular functionality, including the cross-platform ability to create native mobile apps for iOS, Android, Mac and Windows apps with C# code.
At its Connect(); 2016 conference last November, Microsoft announced a preview of Visual Studio for Mac, saying it was "evolving the mobile-centric Xamarin Studio IDE into a true mobile-first, cloud-first development tool for .NET and C#, and bringing the Visual Studio development experience to the Mac."
Even though Microsoft was clear about the Xamarin Studio-based origins of the Mac-based IDE, many developers on Hacker News and the Reddit programming section questioned the inclusion of the Visual Studio brand with the new product. And, showing just how much Microsoft is listening to its developer community, de Icaza and another exec chimed in with clarifying comments.
One typical reader comment on Hacker News said: "I find the naming 'Visual Studio for Mac' pretty deceptive, since apparently it is not anything like the win32 VS environment, but instead based on Xamarin Studio. Even the tagline is deceptive: 'The IDE you love, now on the Mac.'"
VS for Mac Product Manager Rajen Kishna replied: "Our goal with Visual Studio for Mac is to create a native IDE for Mac users with workloads that make sense on macOS. That means 'desktop app' development will target macOS and Visual Studio (on Windows) can be used to target Windows.
"The core of the IDE definitely has a heritage in Xamarin Studio, but this release has brought in so much more with .NET Core/ASP.NET Core development for Web apps/services, Unity support for game development and cloud integration with directly publishing your Web apps/services and previews of Docker and Azure Functions coming very soon."
de Icaza also chimed in: "I would like to add that we have been reusing a lot of the existing code from Visual Studio in Visual Studio for Mac."
Another reader asked: "Is this more than just Xamarin? I'm sorry -- I tried last time and that was the impression I got. I know it says it has asp.net core but can I truly build .net Web services based apps now without parallels?"
And again, both Kishna and de Icaza answered. Kishna said: "It definitely is more than Xamarin, we brought in support for creating Web apps and services with .NET Core/ASP.NET Core, game development with Unity and C#, and cloud integration with publishing your Web apps/services to Azure directly from within the IDE. We're also announcing some preview features coming very soon, including Docker and Azure Functions support, as well as targeting IoT devices like Android Things."
de Icaza said: "Yes, you can build .NET Core service apps. You can create new projects, debug them and bonus points - deploy directly to Azure."
Another reader asked: "Isn't this just MonoDevelop? Or have Microsoft added secret sauce to the mix?"
MonoDevelop, according to Wikipedia, was the open source IDE on which Xamarin Studio was based.
de Icaza replied to that reader: "Good guess. It is based on the MonoDevelop core with many new extensions to support new workloads (.NET Core, Azure Deployment, Unity development).
"Additionally, over the past year we have replaced started to replace the internals of MonoDevelop with code from Visual Studio that we have been open sourcing.
"In addition to what has been open sourced and integrated so far, we have a strong pipeline of additional features and capabilities that will bring even more Visual Studio code into the IDE.
"We are roughly on a 6-8 weeks release cadence that aligns with the Visual Studio release cadence, so you will see various subsystems get new capabilities continuously from this point on."
A second Hacker News reader inquired about MonoDevelop, asking: "Has Microsoft announced whether MonoDevelop will still be open source?
de Icaza replied: "Yes, MonoDevelop is still open source, it is still at the core of the system. Visual Studio for Mac is built as a series of components on top of the open source MonoDevelop. When we touch the core, it goes open source, and some of the extensions like Android and iOS development are closed source."
Another reader asked about a roadmap for Xamarin Studio. de Icaza replied: "Xamarin Studio users will be upgraded to Visual Studio for Mac ;-)"
Another reader asked about doing the same thing for Linux. The question read: "If they're willing to deliver a port of Xamarin/MonoDevelop to Mac and call it VS, it's at least funny that they won't do that for Linux. There is no actual need for that, but since they're refactoring Xamarin...."
de Icaza replied: "We would like more people to speak up about this. We need your votes, your voices to make the case that we should release all this goodness on Linux. Little known fact: some of the engineers on the Visual Studio for Mac team are still developing it in Linux itself. So it already works there. At this point it is a matter of hearing your voices. Speak up often :-)"
The place to speak up, de Icaza said, is Microsoft's User Voice site for Visual Studio, where it collects feedback and feature requests from developers.
Over at Reddit, there wasn't as active of a discussion -- and neither Kishna nor de Icaza made an appearance -- but some of the same concerns were voiced.
One comment said: "Super misleading. This is not the proper Visual Studio."
Another Reddit comment said: "This isn't just differences, this is MonoDevelop rebranded. It's totally different software with the same name."
Another Reddit reader also asked about Linux perhaps being next in line for the VS treatment.
On the User Voice site, a request for "Visual Studio for Linux OS" had garnered 257 votes and 11 comments as of press time. One reader said: "As someone who develops often on Windows with VS, it'd be nice to have this tool on Linux. Seriously, support as many project types as you possibly can, not just .Net Core. Even if we can't get Win32, being able to create desktop GUI apps on Linux using VS for Linux and Mono/.Net would be pretty great."
In his Hacker News replies, de Icaza said he would be providing more details on Visual Studio for Mac during a presentation he's giving later today at Microsoft's Build 2017 conference, where the general availability announcement was made.
More on Build 2017 news can be found on our sister site, Visual Studio Magazine.
David Ramel is the editor of Visual Studio Magazine.