Overview Visual Studio 10 and .NET Framework 4.0

26
Overview Visual Studio 10 and .NET Framework 4.0 Ken Casada Developer Evangelist Microsoft Switzerland [email protected] http://blogs.msdn.com/swiss_dpe_team/Default. aspx

description

Overview Visual Studio 10 and .NET Framework 4.0. Ken Casada Developer Evangelist Microsoft Switzerland [email protected] http://blogs.msdn.com/swiss_dpe_team/Default.aspx. Introduction. 3.5. 3.0. .NET 1.0. .NET 1.1. .NET 2.0. .NET 4.0. 2002. 2003. 2005-08. CLR 1.0. CLR 1.1. - PowerPoint PPT Presentation

Transcript of Overview Visual Studio 10 and .NET Framework 4.0

Page 1: Overview Visual Studio 10 and .NET Framework 4.0

Overview Visual Studio 10 and .NET Framework 4.0Ken CasadaDeveloper EvangelistMicrosoft [email protected]://blogs.msdn.com/swiss_dpe_team/Default.aspx

Page 2: Overview Visual Studio 10 and .NET Framework 4.0

Introduction

.NET 1.0 .NET 1.1 .NET 2.0

3.0

3.5

.NET 4.0

2002 2003 2005-08

CLR 1.0 CLR 1.1 CLR 2.0 CLR 4.0

Page 3: Overview Visual Studio 10 and .NET Framework 4.0

Existing Side-By-Side (SxS)

.NET 2.0

2.0 add-

in

3.0

3.5

Host Process (e.g. Outlook)

3.0 add-

in

3.5 add-

in

1.1 add-

in

.NET 1.1

Page 4: Overview Visual Studio 10 and .NET Framework 4.0

In-Process Side-By-Side (SxS)

.NET 2.0.NET 4.0

2.0 add-

in

3.0

3.5

Host Process (e.g. Outlook)

3.0 add-

in

3.5 add-

in

4.0 add-

in

Page 5: Overview Visual Studio 10 and .NET Framework 4.0

.NET Dynamic Programming

DynamicLanguages

Simple and succinct

Implicitly typed

Meta-programming

No compilation

StaticLanguages

Robust

Performant

Intelligent tools

Better scaling

Dynamic vs. Static

Page 6: Overview Visual Studio 10 and .NET Framework 4.0

C# and Visual BasicFocusing on language co-evolution…

C# 4.0 Visual Basic “10”

Named/Optional Parameters

Named/Optional Parameters

Dynamic Scoping Dynamic Scoping

Statement Lambdas Statement Lambdas

Multiline Lambdas Multiline Lambdas

Auto-Implemented Properties

Auto-Implemented Properties

Collection Initializers Collection Initializers

Generic Variance Generic Variance

Page 7: Overview Visual Studio 10 and .NET Framework 4.0

On Single Core MachineDon’t block the UI

Thread Affinity

Async OperationsSynchronization Issues

On Multi-core MachineAs above...... plus Improve Actual Performance... plus create new user experiences

Multi-threading & Parallelism

Page 8: Overview Visual Studio 10 and .NET Framework 4.0

Parallel Extensions is a .NET Library that supports declarative and imperative data parallelism, imperative task parallelism, and a set of data structures that make coordination easier.

Parallel LINQ (PLINQ)Task Parallel Library (TPL)Coordination Data Structures (CDS)

Parallel Extension June 2008 CTP

Parallel Computing

Page 9: Overview Visual Studio 10 and .NET Framework 4.0

Parallel LINQ

demo

Page 10: Overview Visual Studio 10 and .NET Framework 4.0

.NET Framework 4.0: ClientClient ProfileWindows Presentation Foundation

Business focused controlsDataGrid, DatePicker, VSM Today part of the WPF Toolkit (update in March 09) http://www.codeplex.com/wpfAfter .NET 4.0 More controls (Chart controls, …)

Silverlight Synergy (DeepZoom control ?)

Win7 AdvancesMultitouch Windows API CodePack for .NET (http://windowsapicodepack.codeplex.com)

Page 11: Overview Visual Studio 10 and .NET Framework 4.0

WPF 4.0within Visual Studio 10

demo

Page 12: Overview Visual Studio 10 and .NET Framework 4.0

ASP.NET & AJAX 4.0ASP.NET MVC

Separation of Concerns, TestabilityHigh control over market up

ASP.NET Dynamic Data support for MVC

Easily Create Custom controls and views based on data base

ASP.NET better CSS and IDASP.NET AJAX

Javascript UI Templates and DatabindingAJAX Control Toolkit Enhancements

Client-side controls

Addition of JQuery

Page 13: Overview Visual Studio 10 and .NET Framework 4.0

WCF 4.0Messaging enhancements

Protocols - SOAP over UDP, WS-Discovery, WS-BusinessActivity, WS-I BP 1.2Duplex durable messaging

RESTful enhancementsSimplifying the building of REST Singleton & Collection Services, ATOM Feed and Publishing Protocol Services, and HTTP Plain XML Services using WCF WCF REST Starter Kit released on Codeplex to get early feedback

Correlation enhancementsContent and context driven, One-way support

Seemless integration with Workflow Services

Page 14: Overview Visual Studio 10 and .NET Framework 4.0

Workflow Foundation 4.0XAML-only workflows are the new default

Unified model between WF, WCF, and WPF

Extended base activity libraryMore activities will be present on CodePlex

WF 4.0 simplifies data flow by adding:Arguments, variables, and expressions

Significant improvements in performance and scalabilityNew FlowChart WorkflowImproved WF 4.0 designer / Designer Rehosting

Page 15: Overview Visual Studio 10 and .NET Framework 4.0

WF 4.0 Basics

demo

Page 16: Overview Visual Studio 10 and .NET Framework 4.0

WCF and WF

There is great potential in WF + WCF.NET 3.0 didn't provide any integration.NET 3.5 added initial WCF support.NET 4.0 is investing heavily in this area

Workflow Services !!!Think "WCF on the outside, WF on the inside"

WCF exposes external interfaceWF describes internal flow & state transitions

Page 17: Overview Visual Studio 10 and .NET Framework 4.0

Dublin (after .NET 4)

Microsoft Confidential

IIS 7/WAS is today’s hosting environment for WCF service and WF workflows (WorkflowServiceHost class)Provides valuable hosting and management features for your WCF and WF applicationsPart of the Windows Server Application Server roleExtensions built on top of IIS 7 with tracing, monitoring and diagnostic capabilities

Page 18: Overview Visual Studio 10 and .NET Framework 4.0

Additional Resources

Microsoft Confidential

MSDN Developer Centers – .NET 3.5http://msdn.microsoft.com/wcf http://msdn.microsoft.com/wf MSDN Developer Centers – .NET 4.0http://msdn.microsoft.com/wcf/future/ http://msdn.microsoft.com/wf/future/ WF/WCF Team Bloghttp://blogs.msdn.com/endpoint/Dublinhttp://www.microsoft.com/net/dublin.aspx

Page 19: Overview Visual Studio 10 and .NET Framework 4.0

Office development (No PIA)

Page 20: Overview Visual Studio 10 and .NET Framework 4.0

ADO.NET 4.0Entity Framework v2

Persistent Ignorance (POCO)TDD-SupportForeign-Key SupportCode-First DevelopmentAutomatic Lazy Loading

Page 21: Overview Visual Studio 10 and .NET Framework 4.0

Lazy Loading in EF v1var customers = from cust in db.Customers

where cust.City == “London" select cust;

foreach (Customer cust in customers){

// avoids unnecessary queries

if (!cust.Orders.IsLoaded){ cust.Orders.Load();} 

foreach (Order order in cust.Orders){ // do something with detail}

}

Page 22: Overview Visual Studio 10 and .NET Framework 4.0

Lazy Loading in EF v2var customers = from cust in db.Customers

where cust.City == “London" select cust;

db.DeferreadLoading = true;

foreach (Customer cust in customers){

foreach (Order order in cust.Orders){ // do something with detail}

}

Page 23: Overview Visual Studio 10 and .NET Framework 4.0

Entity Framework

Demo

Page 24: Overview Visual Studio 10 and .NET Framework 4.0

Save the date for tech·days next year!

14 – 15 avril 2010, CICG

Page 25: Overview Visual Studio 10 and .NET Framework 4.0

Classic Sponsoring Partners

Premium Sponsoring Partners

Page 26: Overview Visual Studio 10 and .NET Framework 4.0