Title of Presentation

Download Report

Transcript Title of Presentation

Ken Casada
Developer Evangelist
Microsoft Switzerland
[email protected]
http://blogs.msdn.com/swiss_dpe_team/Default.aspx
3.5
3.0
.NET 1.0
2002
CLR 1.0
.NET 1.1
2003
CLR 1.1
.NET 2.0
.NET 4.0
2005-08
CLR 2.0
CLR 4.0
1.1
add-in
2.0
add-in
3.0
add-in
3.5
add-in
3.5
3.0
.NET 1.1
.NET 2.0
Host Process (e.g. Outlook)
2.0
add-in
3.0
add-in
3.5
add-in
4.0
add-in
3.5
3.0
.NET 4.0
.NET 2.0
Host Process (e.g. Outlook)
Dynamic vs. Static
Dynamic
Languages
Static
Languages
Simple and
succinct
Robust
Implicitly typed
Performant
Metaprogramming
Intelligent tools
No compilation
Better scaling
Focusing 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
On Single Core Machine
Don’t block the UI
Thread Affinity
Async Operations
Synchronization Issues
On Multi-core Machine
As above...
... plus Improve Actual Performance
... plus create new user experiences
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
Client Profile
Windows Presentation Foundation
Business focused controls
DataGrid, DatePicker, VSM
 Today part of the WPF Toolkit (update in March 09)
 http://www.codeplex.com/wpf
After .NET 4.0  More controls (Chart controls, …)
Silverlight Synergy (DeepZoom control ?)
Win7 Advances
Multitouch
 Windows API CodePack for .NET
(http://windowsapicodepack.codeplex.com)
ASP.NET MVC
Separation of Concerns, Testability
High 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 ID
ASP.NET AJAX
Javascript UI Templates and Databinding
AJAX Control Toolkit Enhancements
Client-side controls
Addition of JQuery
Messaging enhancements
Protocols - SOAP over UDP, WS-Discovery, WS-BusinessActivity,
WS-I BP 1.2
Duplex durable messaging
RESTful enhancements
Simplifying 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 enhancements
Content and context driven, One-way support
Seemless integration with Workflow
Services
XAML-only workflows are the new default
Unified model between WF, WCF, and WPF
Extended base activity library
More activities will be present on CodePlex
WF 4.0 simplifies data flow by adding:
Arguments, variables, and expressions
Significant improvements in performance
and scalability
New FlowChart Workflow
Improved WF 4.0 designer / Designer
Rehosting
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 interface
WF describes internal flow & state transitions
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 applications
Part of the Windows Server Application
Server role
Extensions built on top of IIS 7 with tracing,
monitoring and diagnostic capabilities
Microsoft Confidential
MSDN Developer Centers – .NET 3.5
http://msdn.microsoft.com/wcf
http://msdn.microsoft.com/wf
MSDN Developer Centers – .NET 4.0
http://msdn.microsoft.com/wcf/future/
http://msdn.microsoft.com/wf/future/
WF/WCF Team Blog
http://blogs.msdn.com/endpoint/
Dublin
http://www.microsoft.com/net/dublin.aspx
Microsoft Confidential
Entity Framework v2
Persistent Ignorance (POCO)
TDD-Support
Foreign-Key Support
Code-First Development
Automatic Lazy Loading
var
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
}
}
var
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
}
}
14 – 15 avril 2010, CICG
Premium Sponsoring Partners
Classic Sponsoring Partners