.NET Core is an open source development platform maintained by Microsoft that allows developers to write cross-platform applications using C# and F# that run on Windows, Linux, and macOS. It is not based on .NET Framework or Mono, but is compatible with apps and libraries that target the .NET Standard Library. .NET Core focuses on cloud development and does not support all features of .NET Framework like Windows Forms. ASP.NET Core is also cross-platform and uses a modular package-based approach rather than depending on System.Web.dll. The .NET Core roadmap includes adding support for more platforms and features like WebSockets and SignalR in upcoming releases.
2. .Net Core
Agenda
• What is .Net Core? (What is Not?)
• Architecture
• Mono vs .Net Core
• ASP.NET Core
• Platform Supports
• Limitations
• Roadmap
• Demo
• Should I Stay or Should I Go?
3. .Net Core
What is .Net Core?
• Open source development platform maintained by Microsoft and .Net
Community on Github. (https://github.com/dotnet/core)
• Cross-platform; supporting Windows, macOS and Linux
• Compatible with .NET Framework, Xamarin and Mono, via the .NET
Standard Library
• The C# and F# (VB is coming) can be used to write apps and libraries
• Flexible deployment with Docker support.
8. .Net Core
Mono vs .Net Core
• .Net Core is not based on Mono.
• Mono supports a subset of the .NET Framework app-models (for example
WinForms), .NET Core doesn’t support.
• Mono supports large subset .NET Framework APIs using same
assemblies. .NET Core needs own compiled version.
• Mono is focused on mobile platforms in recent years, .NET Core is
focused on cloud.
10. .Net Core
ASP.NET Core
• No longer based on System.Web.dll. It is based on a set of granular and
well factored NuGet packages.
• Simply a console app that creates a web server in its Main method.
• Includes a managed cross-platform web server, called Kestrel, that you
would typically run behind a production web server like IIS or nginx
• Doesn’t yet have some critical modules, such as WebSocket and SignalR
11. .Net Core
Platform Supports
OS Version Architecture
s
Configurations
Windows Client 7 SP1 - 10 x64, x86
Windows Server 2008 R2 SP1 - 2016 x64, x86 Full, Server Core, Nano (2016 only)
Red Hat Enterprise Linux 7.2 x64
Fedora 23 x64
Debian 8.2 x64
Ubuntu 14.04 LTS, 16.04 LTS x64
Linux Mint 17 x64
openSUSE 13.2 x64
Centos 7.1 x64
Oracle Linux 7.1 x64
Mac OS X 10.11, 10.12 x64
12. .Net Core
Limitations
• Windows technologies such as WPF, WinForms not exist
• Some key features such as WebSocket, SignalR, Security not yet exist in
ASP.NET Core. (in Roadmap)
• Reflection usage changed, old codes must be modified.
• App Domains, Remoting, Binary Serialization, Sandboxing not exist
anymore.
13. .Net Core
Roadmap
.NET Core
Planned 1.1 Features (Published in 16.11.2016)
• Lots of bug fixes
• Support for more popular OS’s/distro’s
Planned 1.2 Features
• .NET Standard 2.0 Support
14. .Net Core
Roadmap
ASP.NET Core
Planned 1.1 Features (Published in 16.11.2016)
• URL Rewriting middleware
• Response caching middleware
• Response compression middleware
• DI improvements for 3rd party containers
• WebListener server (Windows only)
• Middleware as MVC filters
• ViewComponents as Tag Helpers
• View precompilation
• Cookie-based TempData provider
• Improved Azure integration
◦ App Service startup time improvements
◦ App Service logging provider
◦ Azure Key Vault provider
Planned 1.2 Features
• WebSockets
• SignalR
• Razor Pages (Views without MVC controllers)
• Web API security