On 12 November 2014, with the historic announcement made at Connect (); (online event for developers), Microsoft affects the path of the path towards open source bringing .NET on Linux and Mac. Starting from version 5, in fact, the source code of this technology will be released publicly on GitHub and can be modified and improved by anyone.
Next comes the release of the free Visual Studio 2013 Community edition along with a series of new tools for the development of mobile apps for Android and iOS, as well as the announcement of Visual Studio 2015.
To get a better understanding of everything we asked for help from Fabio Santini, director of the Microsoft Experience Developer and Evangelism division. From now on Santini is keen to establish the points of excellence with which the Redmond company proposes to developers:
- .NETCore, the basic framework for all needs, from desktop to mobile and for all OS
- C #, a programming language with excellent expressive power
- Visual Studio, a complete development tool that maximizes productivity.
.NET Core 5 open source
“Microsoft will continue to work with its production lines on .NET, but having a community helps a lot, both for the collaboration on the code and for the continuous feedback it can give back.” Santini explains the passage to open source of .NET that we can summarize in some points:
The sources of the central part of the framework are available, this is the .NETCore, «that is all the tools needed for compilation and runtime, the part that at this moment seems to make more sense to bring on more platforms”.
At the moment the release of WPF is not foreseen, which is not considered strategic in a cross-platform perspective. Different speech for ASP.NET that will be cleared even on Linux and Mac.
The opensource license is MIT and, as Santini specifies, it is the only constraint that the definitive approval of Microsoft on the code changes.
The .NET Core will be the runtime that we can use for all platforms, even on embedded systems.
This step seems to meet many of the needs of developers, interesting for example also the choice of GitHub compared to CodePlex and the integration of the project within the .NET Foundation, «an independent organization which is part of Microsoft and not, to work on .NET technologies», explains Santini. In addition to the core of .NET, the projects that are part of it are among the best known and prestigious: from NuGet to Xamarin from Orchard to the Entity Framework.
This breakthrough also puts an end to the inconsistencies between the official framework and Mono, putting developers in the conditions of no longer having a double approach working on different platforms.
ASP.NET 5 and front-end development
ASP.NET 5 will be available for Windows, Mac, and Linux and will be open source and available on GitHub ( here ). Inlcuderà kestrel a web server for Mac and based on libuv, comparable products such as Nginx.
Good news also for front-end developers: Visual Studio 2015 and ASP.NET will support the main process automation tools like gulp, grunt, bower, and npm.
Visual Studio Community Edition
In addition to previewing Visual Studio 2015, Microsoft has released a new edition of the development environment, which has the advantage of being completely free: this is Visual Studio Community 2013, a project that aims to further bring the developers to the Microsoft world.
Also, in this case, the opportunities offered to embrace the cloud and mobile spheres, but the development of a desktop and web application is also allowed.
“The idea” – says Santini – “is that today a developer or a startup must be able to start developing projects, even complex, taking full advantage of professional tools such as development environment and cloud services, and then start spending only when his project reaches numbers or dimensions that make it profitable».
Visual Studio Community 2013 has been presented as a tool for cross-platform development, allowing to create applications for Windows, Windows Phone, Android, and iOS (although in the latter case we will always need a Mac) through a single IDE.
The Android emulator
Among the major attractions of Visual Studio, today emerges the ability to create mobile cross-platform applications yielding hybrid technologies such as HTML5 (through Apache Cordova), Xamarin or native frameworks as in the case of Android NDK.
Santini specifies that with Xamarin in particular, “we have reached an agreement that allows us to integrate in Visual Studio the features normally offered by the free starter kit plus some other features”, advanced options such as the unlimited number of projects remain to be paid.
Excellent debugging on all mobile platforms. If for iOS, however, we can pilot the application but putting a Mac in the middle, for Android we have a great emulator, which Fabio Santini modestly defines “at least equal to that of Eclipse”, but that actually proves remarkable as support. Here are some features.
In addition to the full integration with the Visual Studio debugger, the emulator allows us to simulate the movements of the phone to solicit the accelerometer and test its behavior.
We can manually change GPS data and simulate phone movements by setting routes and travel speed.
The emulator will also offer the possibility to test the behavior of our applications when the battery is low, and we can act on the parameters of the emulator (such as memory) through hyperV, acting in fact on the characteristics of the virtual machine that we will use.
Microsoft is always in the hearts of developers, even those who have always challenged, but the sentiment is returned. Will be the times, the moves of competitors, the legacy of Ballmer or global warming, but the era Satya Nadella seems more concrete. Along with the taboo on the springs collapses a wall that, perhaps for too long, has separated many from a software house that today more than ever shows to have the developers at heart.