evolutie vs revolutie chris de kok evolutie vs revolutie.net 2015.net 4.6 asp.net 5 -> mvc 6...
TRANSCRIPT
Evolutie vs RevolutieChris de Kok
Evolutie vs Revolutie
.NET 2015 .NET 4.6 ASP.NET 5-> MVC 6
Visual Studio 2015
C# 6.0
Agenda
.NET 2015
Evolutie vs Revolutie.NET 2015
– .NET 2015 is a set of .NET releases– Frameworks (.NET 4.6, ASP.NET 5, MVC 6) – Runtimes (Core en Framework)– Compiler Frameworks (Roslyn) – Compilers (C#, VB.NET, F#)
Evolutie vs Revolutie.NET 2015
Evolutie vs Revolutie.NET 2015
“.NET Core is a modular development stack that is the foundation of all future .NET platforms.”
Evolutie vs Revolutie.NET 2015
.NET 4.6
Evolutie vs Revolutie.NET 2015
– CultureInfo.CurrentCulture en CultureInfo.CurrentUICulture– Resizing in Windows Forms Controls (uitgebreider dan in FW v4.5.2)– Support for code page encodings– Open Source .NET framework packages op Github
– Immutable collections– SIMD APIs
– Improvements to event tracing– Roslyn..
.NET 2015
.NET Framework 4.6
– The .NET Compiler Platform ("Roslyn") provides open-source C# and Visual Basic compilers with rich code analysis APIs.– https://github.com/dotnet/roslyn/
– Code Analysis tools– Meta programming– Code generation– Code transformation
.NET 2015Wat is Roslyn?
.NET 2015Roslyn
– Voorbeelden:– Parameter check:
– String.Format– Console.WriteLine– Console.Write
– Demo: – Microsoft.CodeAnalysis.CSharp
.NET 2015Roslyn demo
ASP.NET5
Evolutie vs RevolutieASP.NET 5
Evolutie vs RevolutieASP.NET 5
Evolutie vs RevolutieASP.NET 5
– Open Source! (en community focused)– https://github.com/aspnet/home
– Ships entirely as NuGet packages – GruntJS - Gulp - Bower Support– Unified MVC and Web API Controllers– HTTP/2 ondersteuning
– Loading page elements in parallel over a single TCP connection– Async model binding– View Components– Tag Helpers
– Anchor (for generating hyperlinks)– Cache (for managing partial page caching)– Environment (for controlling content rendering based on the runtime
environment)– Form (for generating form elements)– Input (generation of input elements)– Label (outputs label elements)– Link (processes link elements)
Evolutie vs ResolutieASP.NET 5 – TagHelpers - Part I
– Option (targets individual options in a select list)– Script (processes script tags)– Select (generates dropdown lists)– TextArea (processes textarea tags)– ValidationMessage (generates individual validation errors)– ValidationSummary (renders the validation summary message)
Evolutie vs ResolutieASP.NET 5 – Taghelpers - Part II
“We're still investing in WebForms on .NET 4.6 and have no plans to bring any of it to ASP.NET 5"
Visual Studio 2015
Evolutie vs RevolutieVisual Studio 2015
“Visual Studio remains your one- stop-shop for development.”
Evolutie vs RevolutieVisual Studio 2015
Evolutie vs RevolutieVisual Studio 2015
– Menus now appear in Title Case style instead of ALL CAPS style.– TimeLine Tool (WPF & Windows Store 8.1)– Custom Window Lay-outs– Ondersteuning ASP.NET 5, C# 6.0– Editor improvements (C#, JSON, HTML, CSS, LESS, SASS, TypeScript 1.4)– Git support– Use [CTRL + .] to find and install NuGet packages– Lambda Expressions in Debugger Windows
Evolutie vs RevolutieVisual Studio 2015
C# 6.0
Evolutie vs RevolutieC# 6.0
– Elke C# release heeft een thema:
• C# 2: Generics / Collecties• C# 3: LINQ• C# 4: Interop• C# 5: Asynchroniteit• C# 6: Verminderen “boiler plate” code
Evolutie vs RevolutieC# 6.0
“Boilerplate code or boilerplate is the sections of code that have to be included in many places with little or no alteration”
• Auto Properties• Getter-only auto-property
• Expression-bodied function members• Extension methods
• Static imports• Null-conditional operators
• Magnetic nulls (chained)• Coalescing operator
• nameof• Index initializers• Exception filters• Await in catch and finally blocks• Extension add methods in collection initializers• Improved overload resolution
Evolutie vs RevolutieC# 6.0
– What’s new in the .NET framework?https://msdn.microsoft.com/en-us/library/ms171868(v=vs.110).aspx
– Introducing ASP.NET 5https://weblogs.asp.net/scottgu/introducing-asp-net-5
– Aspnet-vnexthttp://www.asp.net/vnext/overview/aspnet-vnext
– Visual Studio 2015 https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx
– Roslynhttps://github.com/dotnet/roslyn/wiki/Roslyn%20Overview#introduction
Evolutie vs RevolutieSome links..