48

ITAD PolSl 2014 - Nowości w .NET 2015

Embed Size (px)

DESCRIPTION

Slides for the New Features in .NET 2015 lecture from IT Academic Day 2014 on Silesian University of Technology (in Polish)

Citation preview

Page 1: ITAD PolSl 2014 - Nowości w .NET 2015
Page 2: ITAD PolSl 2014 - Nowości w .NET 2015

Technical Advisor & Internal Trainer @ Future Processing

@doodackgithub.com/doodackblog.dudak.pl

Page 3: ITAD PolSl 2014 - Nowości w .NET 2015

► .NET 4.6 vs .NET Core 5► C# 6.0► Roslyn► Visual Studio 2015► ASP.NET 5► Entity Framework 7

Page 4: ITAD PolSl 2014 - Nowości w .NET 2015
Page 5: ITAD PolSl 2014 - Nowości w .NET 2015

► Brak rewolucyjnych zmian w stosunku do .NET Framework 4.5► Co się zmieniło

.NET Native dla aplikacji Windows Store Immutable Collections i SIMD API – open source Więcej komponentów posiada API asynchroniczne

► Reference source na licencji MIT http://sourceof.net https://github.com/Microsoft/referencesource

Page 6: ITAD PolSl 2014 - Nowości w .NET 2015

► Mały podzbiór .NET Frameworka► Optymalizacja pod środowiska serwerowe► Modularyzacja► Wieloplatformowość (docelowo)► Open source na licencji MIT (docelowo)

Łącznie z garbage collectorem i JITem Development prowadzony na GitHubie

Page 7: ITAD PolSl 2014 - Nowości w .NET 2015

► Stan na dziś: wersja preview► Data wydania nie ujawniona

Page 8: ITAD PolSl 2014 - Nowości w .NET 2015
Page 9: ITAD PolSl 2014 - Nowości w .NET 2015

?.

Page 10: ITAD PolSl 2014 - Nowości w .NET 2015

int? length = null;

if (customers != null)

{

length = customers.Length;

}

int? length = customers?.Length;

Page 11: ITAD PolSl 2014 - Nowości w .NET 2015

Customer first = null;

if (customers != null)

{

first = customers[0];

}

Customer first = customers?[0];

Page 12: ITAD PolSl 2014 - Nowości w .NET 2015

if (PropertyChanged != null)

{

PropertyChanged(this, args);

}

PropertyChanged?.Invoke(this, args);

Page 13: ITAD PolSl 2014 - Nowości w .NET 2015

public string EventName { get; set; } = „ITAD PolSl";

public string EventName { get; } = „ITAD PolSl”;

Page 14: ITAD PolSl 2014 - Nowości w .NET 2015

nameof(x); // "x"

nameof(Conference.Date); // "Date"

Page 15: ITAD PolSl 2014 - Nowości w .NET 2015

try { … }

catch (MyException e)

{

if (e.ErrorLevel <= 2)

throw;

}

try { … }

catch (MyException e) if (e.ErrorLevel > 2) { … }

Page 16: ITAD PolSl 2014 - Nowości w .NET 2015

public class Conference

{

public string Name { get; set; }

public string Date { get; private set; }

public Conference(string name, DateTime date)

{

Name = name;

Date = date;}

}

public class Conference(string name, DateTime date)

{

public string Name { get; set; } = name;

public DateTime Date { get; } = date;

}

Page 17: ITAD PolSl 2014 - Nowości w .NET 2015

public int Add(int x1, int x2)

{

return x1 + x2;

}

public string FullName { get { return FirstName + " " + LastName; } }

public int Add(int x1, int x2) => x1 + x2;

public string FullName => FirstName + " " + LastName

Page 18: ITAD PolSl 2014 - Nowości w .NET 2015

using System.Console;

using System.Math;

class Program

{

static void Main()

{

WriteLine(Sqrt(3*3 + 4*4));

}

}

Page 19: ITAD PolSl 2014 - Nowości w .NET 2015

String.Format("{0,20} is {1:D3} years old", p.Name, p.Age);

$"{p.Name,20} is {p.Age:D3} years old";

Page 20: ITAD PolSl 2014 - Nowości w .NET 2015

► Stan na dziś: dostępny w Visual Studio 2015 Preview

Page 21: ITAD PolSl 2014 - Nowości w .NET 2015
Page 22: ITAD PolSl 2014 - Nowości w .NET 2015

► .NET Compiler Platform► C# i Visual Basic► API do użycia w kodzie

Narzędzia do refaktoryzacji i analizy kodu Aplikacje kompilujące się w locie

► Wykorzystywany przez Visual Studio 2015 i ASP.NET 5

Page 23: ITAD PolSl 2014 - Nowości w .NET 2015

► Stan na dziś: wersja beta► Do pobrania z NuGet: Microsoft.CodeAnalysis► Narzędzia dostępne w Visual Studio 2015 Preview

Page 24: ITAD PolSl 2014 - Nowości w .NET 2015
Page 25: ITAD PolSl 2014 - Nowości w .NET 2015

► Emulator urządzeń z Androidem► Zintegrowane narzędzia Apache Cordova► Rozszerzone wsparcie dla Xamarin► Poprawki w edytorze WPF► Nowa wersja edytora Blend

Szersza integracja z Visual Studio► Wsparcie dla narzędzi typu Grunt, Gulp, Bower

Page 26: ITAD PolSl 2014 - Nowości w .NET 2015

► Stan na dziś: wersja preview► Dostępny obraz ISO dysku instalacyjnego► Dostępny obraz maszyny wirtualnej w chmurze Azure

Page 27: ITAD PolSl 2014 - Nowości w .NET 2015

► Odpowiednik edycji Professional Jedno IDE dla wszystkich platform Rozszerzalność

► W cenie edycji Express Czyli za darmo

Page 28: ITAD PolSl 2014 - Nowości w .NET 2015

► Można używać: Do nauki Do projektów open source Komercyjnie przez pojedynczych developerów i małe firmy

Max. 5 instalacji► Nie można używać:

Komercyjnie przez korporacje

Page 29: ITAD PolSl 2014 - Nowości w .NET 2015

► Stan na dziś: dostępny

Page 30: ITAD PolSl 2014 - Nowości w .NET 2015
Page 31: ITAD PolSl 2014 - Nowości w .NET 2015

► Działa na .NET Framework i .NET Core► Cały ASP.NET poza corem .NETa► Brak handlerów, modułów, Global.asax, itp.► Brak obsługi WebForms

Page 32: ITAD PolSl 2014 - Nowości w .NET 2015
Page 33: ITAD PolSl 2014 - Nowości w .NET 2015

► Project.json Konfiguracja zależności Ustawienia specyficzne dla frameworków Zadania uruchamiane z linii komend

► Zależności do paczek nuget► Wszystkie pliki są domyślnie w projekcie► Folder wwwroot► Bower► Możliwość dołączenia CLR do projektu► Brak (prawie) plików web.config

Page 34: ITAD PolSl 2014 - Nowości w .NET 2015

► Self-hosting► Custom host► Kestrel

IIS nadal pozostaje rekomendowanym serwerem

Page 35: ITAD PolSl 2014 - Nowości w .NET 2015

► Kestrel Serwer oparty o libuv

► Działa na Mono Linux, Mac Docelowo na .NET Core

Page 36: ITAD PolSl 2014 - Nowości w .NET 2015

► Visual Studio 2015► Pluginy do popularnych edytorów kodu

Sublime Text Brackets Vim Atom …

► Narzędzia konsolowe k kpm kvm

Page 37: ITAD PolSl 2014 - Nowości w .NET 2015

► Połączone MVC, WebAPI i WebPages Zunifikowane typy, routing, DI

► Zgodność z OWIN► Szerzej wykorzystywane DI

Brak staticów (RouteTable, GlobalConfiguration, itd.)► Większa modularność► Kontrolery niewymagające klasy bazowej► Wszystko działa asynchronicznie► Tag Helpers

@Html.TextBoxFor(m => m.Name, new { @class = ”form-control” })

<input for=”Name” class=”form-control” />

Page 38: ITAD PolSl 2014 - Nowości w .NET 2015

public class Startup{

public void ConfigureServices(IServiceCollection services){

services.AddMvc();}

public void Configure(IApplicationBuilder app){

app.UseStaticFiles();app.Use(async (ctx, next) =>{

await ctx.Response.WriteAsync("Hello");await next();

});}

}

Page 39: ITAD PolSl 2014 - Nowości w .NET 2015

► Stan na dziś: wersja beta1► Dostępny razem z Visual Studio 2015

Page 40: ITAD PolSl 2014 - Nowości w .NET 2015
Page 41: ITAD PolSl 2014 - Nowości w .NET 2015

► Przepisany od zera► Lekki i rozszerzalny► Wieloplatformowość

Aplikacje desktopowe ASP.NET Windows Store Windows Phone

► Wsparcie dla baz relacyjnych i NoSQL Azure Table Storage Redis

► Tylko model Code First Brak modelu EDMX

Page 42: ITAD PolSl 2014 - Nowości w .NET 2015

► Co się nie zmienia DbContext, DbSet<T> LINQ Spora część publicznego API

► Co nowego Łączenie poleceń (batch) Implementacja Unique Provider InMemory

Page 43: ITAD PolSl 2014 - Nowości w .NET 2015

► Co się zmienia Część zapytania przetwarzana w aplikacji

► Czego nie będzie ObjectContext EDMX MEST Złożone mapowanie klas do tabel

Page 44: ITAD PolSl 2014 - Nowości w .NET 2015

► Nie wszystkie nowe funkcje będą dostępne od razu► Gałąź 6.x będzie rozwijana niezależnie (przez „pewien czas”)

Page 45: ITAD PolSl 2014 - Nowości w .NET 2015

► Stan na dziś: wersja beta1► Dostępny z Visual Studio 2015

Page 46: ITAD PolSl 2014 - Nowości w .NET 2015
Page 47: ITAD PolSl 2014 - Nowości w .NET 2015

Który z poniższych nie jest frameworkiem składającym się na ASP.NET MVC 6?

A. ASP.NET MVCB. OWINC. WebPagesD. WebAPI

Page 48: ITAD PolSl 2014 - Nowości w .NET 2015