
Microsoft recently introduced
Visual Studio for Mac , and many were impressed by the decision to release a flagship product for someone else's platform after many years of Windows exclusivity. But everything is not so simple: the presented product is not a complete analog of the familiar Visual Studio, but the renamed and augmented Xamarin Studio, which fell into the hands of Microsoft with the purchase of Xamarin. What does this news mean for developers? We decided to ask a series of questions to nine-time Microsoft MVP
Alex Thyssen (Xpirit), actively following what is happening in the .NET world.
- Visual Studio for Mac is significantly different from the Windows version, right?')
- Yes indeed. Earlier, when this product was also called Xamarin Studio, it was designed for a different audience. Focused on mobile developers using macOS, it was not intended to be a complete environment for various scenarios, like Visual Studio for Windows, and did not pretend to be it.
- If Xamarin Studio was designed only for mobile development, and now Microsoft presents Visual Studio for Mac and as an IDE for developing a backend, does this mean that the “backend” part is much more raw?- The implementation of the .NET backend is mainly focused on ASP.NET Core and specifically the Web API. It is still developing and will require additional support along with the development and maturity of the entire .NET Core stack. It is not as stable as the mobile component, but it is gradually getting better. The transition to the .NET Standard and the support of new tuning for this influence each other.
- Microsoft, having taken on the product, has already significantly supplemented it, bringing it closer to the traditional Visual Studio in its capabilities and appearance - what do you think will bring even closer in the near future?“Now that Xamarin is part of Microsoft, and the convergence has begun, I think VS for Mac will really become more like VS.” However, I do not have secret knowledge about Microsoft’s long-term plans regarding which scenarios and types of developers they want to navigate. Right now, the direction is taken on the full stack-development of mobile applications. It covers various mobile platforms with client applications, as well as backend development with Web APIs and sites using ASP.NET both in Mono and in the .NET Framework or ASP.NET Core on .NET Core.
My expectation is that VS uses the platform-independent components of Visual Studio and the editing capabilities of the Visual Studio Code to fit both of these tools.
- How compatible are Mac and Win versions? Will developers be able to easily switch between different operating systems while continuing to work on the same project?- Concerning projects compatible. Both versions use the same MSBuild system, so you can open a project in any of the IDEs. On Windows, you can develop for Android, UWP, and also for iOS or MacOS, but you will need access to an Apple device to build, debug, and deploy the last two. In Visual Studio for Mac, you can develop Android, iOS, and MacOS, but not UWP applications. These are system constraints, not IDE restrictions.
- Microsoft calls for developing a .NET Core backend in Visual Studio for Mac, but now Core is considered to be the majority not ready for production. Does this mean that VS for Mac prime time will come later with the popularization of .NET Core?- The .NET Core now has support for tuling in all versions of Visual Studio (2015, 2017, Code and Mac). One can argue about whether .NET Core is ready for production, but it will be widespread when most developers decide it’s ready. Regardless of the environment, Visual Studio for Mac will gain momentum along with the growing popularity of .NET Core, and other varieties of Visual Studio (2015, 2017 and Code), too.
- How big is the demand among developers on the Mac version of VS?- Demand is big. Visual Studio is a very mature development environment that allows you to create a variety of application types, and the ability to choose on which OS to do it is a big plus. Perhaps not all types of applications are so relevant or even meaningful at macOS, but the opportunity to be engaged not only in mobile development and backend is definitely desirable.
- Now on the Mac, besides VS, the Rider from JetBrains also appears - how do you look at its appearance and their competition?- New IDE will help expand the ecosystem and allow people to choose the right tool for them. I think that this will bring good ideas, and help both options to become better. And natural selection will eventually lead to an effective and popular IDE, and this may be one of them, more or all at once.
- Thank. Finally - not quite a serious, but interesting question. It was easy to confuse Visual Studio "15" with Visual Studio 2015, Visual Studio Code has little in common with Visual Studio, and now there is Visual Studio for Mac, which is also not entirely Visual Studio. In your opinion, is it possible to say that Microsoft has a problem with misleading names?Microsoft now uses Visual Studio as a brand for a whole product family, and this was originally used only for an IDE for Windows. And it can be confusing that now the words “Visual Studio” appear in different places, and not just in the IDE. So, I would not call it “misleading”, but “somewhat confusing” - yes.
The appearance of Visual Studio for Mac is just one of the events happening around .NET right now.
December 7 at
DotNext Helsinki and
December 9 at
DotNext Moscow Alex Thyssen will tell you a lot more about new
things : the topic of his report will be “Overview of the new .NET Core and .NET Platform Standard”. At both conferences, they will talk about other important for .NET developers, from performance to tools — for example, some of the Moscow presentations:
⬝ Stack Overflow - It's all about performance!
⬝ WinDbg Superpowers for .NET Developers
⬝ Intellectual chatbots and cognitive services
⬝ .NET code modification in runtime
⬝ Multithreading Deep Dive
⬝ Collect All, or Meet Cake (C # Make)
⬝ What vulnerabilities are found in the .NET platform and how not to repeat them in their applications
⬝ What's new in C # 7?
⬝ ETW - Monitor Anything, Anytime, Anywhere