Madrid .NET Meetup
What is now open source?
● .NET Core 5: componentized framework shipping via NuGet
● RyuJit and the .NET GC
● Microsoft will build .NET Core CLR for Windows, Mac and Linux: https://github.com/dotnet
● .NET Framework 4.6 is open source, but won’t accept contributions nor will be cross-platform
● Already open source: ASP.NET, Roslyn, F# compiler
Madrid .NET Meetup
ASP.NET 5 everywhere
● ASP.NET 5 will be available for Windows, Mac, and Linux: https://github.com/aspnet
● ASP.NET 5 will include a web server for Mac and Linux called kestrel built on libuv.
● Visual Studio 2015 and ASP.NET 5 will support gulp, grunt, bower and npm.
● OWIN: Open Web Interface for .NET modules
Madrid .NET Meetup
.NET Foundation
● Independent organization to foster open development and collaboration around the growing
collection of open source technologies for .NET
● Projects: Roslyn, .NET Core 5, ASP.NET 5, Entity Frameword 6, NuGet, OWIN, System.
Drawing (Mono), Xamarin.Auth, Xamarin.Mobile, Windows Phone Toolkit...
● Board of Directors: Miguel de Icaza, Gianugo Rabellino, Jay Schmelzer
Madrid .NET Meetup
.NET IDEs
● Visual Studio Community Edition (same as Pro). Only restricted for commercial use in enterprise
organizations (>250 PCs or > $1MM in annual revenue)
● Xamarin Studio (Mac/Windows) and MonoDevelop (Linux) for Mono
● Omnisharp: server to bring Intellisense to Sublime, Atom, Brackets, Vim and Emacs
● F# mode for Emacs
Madrid .NET Meetup
What about Mono?
● Plan to integrate .NET Source Code: www.mono-project.com/docs/about-mono/dotnet-integration/
● In the long term, wants to adopt a .NET-Core like approach.
● As .NET Framework 4.6 is not being ported, Mono continues to be the most comprehensive
platform for Mac and Linux
● Mono projects: MonoGame, CocosSharp, GTK#,
● Commercial versions: Xamarin.Android, Xamarin.iOS, Xamarin.Mac, Mono for Unreal
Madrid .NET Meetup
C# 6.0
● Null-Conditional Operator: value?.Substring(0, 10);
● Auto-Property Initializers: DateTime TimeStamp { get; } = DateTime.UtcNow;
● Primary Constructors: public class Patent(string id, string name)
● Declaration Expressions: public string Text => string.Format(...);
● Static Using Statements: using System.Console;
● NameOf Expressions: nameof(MyClass.MyProperty);
● Await in Catch Block
Madrid .NET Meetup
F# 4.0
● By and for the community: 90 out of 159 pull requests accepted
● Constructors as first-class functions
● Simplified use of mutable values
● Support for high-dimensional arrays
● Support for static parameters to provided methods
● Slicing syntax support for F# lists
● Simplified usage of units of measure with printf-family functions
● Modified GC settings on the compiler for better performance
● Normalized collection modules