was ist neu in .net 4.5?

19
Was ist neu in .NET 4.5? Hans Peter Bornhauser, Noser Engineering AG Fachbereichsleiter .NET, Digicomp AG 1

Upload: digicomp-academy-ag

Post on 28-May-2015

404 views

Category:

Technology


2 download

DESCRIPTION

Referent: Hans Peter Bornhauser

TRANSCRIPT

Page 1: Was ist neu in .NET 4.5?

Was ist neu in .NET 4.5?

Hans Peter Bornhauser, Noser Engineering AG

Fachbereichsleiter .NET, Digicomp AG

1

Page 2: Was ist neu in .NET 4.5?

Der Referent: Hans Peter Bornhauser

Dipl. Ing ETH

Software Architect, Senior Software Engineer, Consultant and Trainer bei Noser Engineering AG in Winterthur

Fachbereichsleiter .NET bei Digicomp

12 Jahre Webentwicklung mit .NET (seit Beta 1.0)

ASP.NET Webforms und MVC

WPF und Silverlight

WCF und Entity Framework

Windows 8 Apps (search.ch, Family Trips)

div. Microsoft Zertifikate

MCPD Web + Windows

MCPD Silverlight + Azure

MCSD Web Applications .NET 4.5

MCT (Certified Trainer)

2

Page 3: Was ist neu in .NET 4.5?

.NET Generationen

3

Managed Code

Generics

Language Integrated Query

Dynamic + (Language Parity)

C# 5.0 + VB 11.0 Windows 8 Runtime + Asynchrony

C# 1.0 + VB 7.0

C# 2.0 + VB 8.0

C# 3.0 + VB 9.0

C# 4.0 + VB 10.0

Page 4: Was ist neu in .NET 4.5?

.NET 4.5 / Visual Studio 2012 News

4

Page 5: Was ist neu in .NET 4.5?

Was ist wirklich neu?

Einfache asynchrone Aufrufe (async/await)

Verbesserungen am Parallel Framework

Windows 8 Apps

XAML/C# oder HTML5/CSS3 und JavaScript

Expression Blend kann HTML und CSS, Bestandteil von Visual Studio

2012 (aber nur für Windows 8 Apps)

Portable Klassenbibliotheken (für .NET, Silverlight, Phone, XBox und

Windows 8)

Testmanager

Lightswitch integriert

Verbesserte HTML 5 / CSS / JavaScript Editoren, Page Inspector

5

Page 7: Was ist neu in .NET 4.5?

Asynchrone Programmierung

7

Page 8: Was ist neu in .NET 4.5?

Async. Pattern BeginXXX / EndXXX

8

C# Visual Basic .NET

private void OnDownloadClick(object sender, EventArgs e)

{

WebRequest request = WebRequest.Create("http://www.digicomp.ch");

// Request in Hintergrundthread ausführen, Referenz als State-Parameter übergeben

request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request);

}

// Callback-Methode für die abschließende Behandlung

private void GetResponseCallback(IAsyncResult asyncResult)

{

WebRequest request = (WebRequest)asyncResult.AsyncState;

WebResponse response = request.EndGetResponse(asyncResult);

string t = response.ContentType;

long n = response.ContentLength;

// Control.Invoke für Zugriff auf Steuerelemente

this.Invoke(new ShowInfoDelegate(ShowInfo), "ContentType: " + t + ", ContentLength: " + n);

}

private delegate void ShowInfoDelegate(string text);

private void ShowInfo(string text) // Hilfsmethode vom GUI-Thread ausgeführt

{

BeginXXXInfo.Text = text;

}

Page 9: Was ist neu in .NET 4.5?

Async. Pattern .NET 2.0

9

C# Visual Basic .NET

private void OnDownloadClick(object sender, EventArgs e)

{

// WebClient instanzieren

WebClient webClient = new WebClient();

// Eventhandler binden

webClient.DownloadStringCompleted += new

DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);

// Methode aufrufen

webClient.DownloadStringAsync(new Uri("http://www.dotnetpro.de"));

}

void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)

{

// Der Eventhandler darf unmittelbar auf die Steuerelemente zugreifen

WebsiteContent.Text = e.Result;

Page 10: Was ist neu in .NET 4.5?

Asynchrone Methoden

Modell

1. Alles nach await wird in eine eigene Methode verschoben

2. Es gibt eine neue Methode DownloadStringTaskAsync, welche das

gleiche macht wie das Original, aber asynchron ist.

3. Nach dem Aufruf von DownloadStringTaskAsync wir die Methode

beendet und an den Aufrufer zurückgegeben.

4. Die 2. Hälfte der Methode wird aufgerufen, wenn der asynchrone Teil

fertig ist.

C# Visual Basic .NET

private async void OnLoadWebPageClickAsync(object sender, EventArgs e)

{

WebClient webClient = new WebClient();

WebsiteContent.Text = await webClient.DownloadStringTaskAsync("http://www.digicomp.ch");

}

Page 11: Was ist neu in .NET 4.5?

Web Entwickler

AntiXSS

Bundling + Minification

Web API

Web Sockets Unterstützung (nur IIS 8 und IE10), SignalR

Model Binding für WebForms (ähnlich ASP.NET MVC)

Typisiertes Data Binding

Unterstützung für mobile Devices

Page Inspector

11

Page 12: Was ist neu in .NET 4.5?

WPF Entwickler

Neue Controls

Ribbon (RibbonWindow / RibbonButton / RibbonGroup, ...)

Virtualizing Panel

Verbesserungen im Data Binding

Markup Extensions für Ereignisse

Verzögerte Synchronisation beim Data Binding

Bindung an statische Eigenschaften

INotifyDataErrorInfo für asynchrone Validierung auf dem Server

Verbessertes Threading

Thread Synchronisation für ObservableCollections

Erweiterungen der Dispatcher Klasse (async. Methoden)

Weak Event Pattern

Verbesserte Interoperabilität mit Windows Forms

12

Page 14: Was ist neu in .NET 4.5?

Entity Framework 5/6

Open Source

Neue Datentypen: Enums, räumliche Datentypen (Geometry und

Geography)

Table-Valued Functions

Stored Procedures mit mehreren Ergebnissen

Automatisch compilierte LINQ Abfragen, Optimierung der Queries

Unterstützung für mehrere Diagramme für ein Objektmodell, Farben

Migration von Datenbanken bei Code First

Version 6 in Entwicklung

Unterstützung von Stored Procedures für Code First

Verwendung von async / await

14

Page 15: Was ist neu in .NET 4.5?

Windows 8 / WinRT

Entwicklung nur mit VS 2012 unter Windows 8

Ist nicht .NET, aber objektorientiertes API (COM Komponente)

Windows Runtime ersetzt Win32 für neue Anwendungen

ca. 1800 Klassen

Apps laufen nur unter Windows 8 (im Store)

Keine Migration von WPF, Silverlight oder ASP.NET

Nur Client Framework, kein Entity Framework, keine Datenbank (SQL

Light)

Kennt auch Metadaten in Form von .winmd Files

15

Page 17: Was ist neu in .NET 4.5?

Aktuelle Digicomp-Kurse zum Thema

Entwicklung von Webapplikationen mit MVC 4 (2 Tage)

www.digicomp.ch/kurse/MVC.html

Windows 8 für WPF Entwickler (2 Tage)

HTML 5 (1 Tag) www.digicomp.ch/kurse/HT5.html

jQuery (2 Tage) www.digicomp.ch/kurse/IJQ.html

Neues in .NET 4.5 und Visual Studio 2012 (2 Tage)

www.digicomp.ch/kurse/CN5.html

17

Page 18: Was ist neu in .NET 4.5?

Literatur

C# 5.0 in a Nutshell Joseph & Ben Albahari

O'Reilly ISBN 978-1-449-32010-2

Async in C# 5.0 Alex Davies

O'Reilly ISBN 978-1-449-33716-2

Pro C# 5.0 and the .NET 4.5

Framework

Andrew Troelsen

Apress ISBN 978-1-4302-4233-8

Programming Windows Writing Windows 8 Apps

Charles Petzold

Microsoft Press ISBN 978-0-7356-7176-8

Programming ASP.NET MVC 4 Jess Chadwick, Todd Snyder

O’Reilly ISBN 978-1-449-32031-7

18