Date post: | 18-Oct-2014 |
Category: |
Technology |
View: | 1,891 times |
Download: | 2 times |
MS Day EPITA
Visual Studio 2010 et.NET Framework 4
Thomas ContéArchitecteMicrosoft
Présentations
−Thomas Conté−EPITA promo 95 (SR)−Architecte DPE chez
Microsoft
− http://fr.linkedin.com/in/tomconte− http://twitter.com/tomconte− http://blogs.msdn.com/b/thomasconte/− http://www.facebook.com/#!/
thomas.conte− http://blogs.msdn.com/b/tconte/− http://dotpunk.wordpress.com/− http://www.conté.com/
Un peu d’histoire…
.NET Framework 1.0
− First public beta at PDC 2000− RTM: early 2002
− Introduced the world to “managed code”− GC, JIT− C#− Coherent Framework− XSP….ASP+…ASP.NET!− WinForms
.NET Framework 1.1
− RTM Early 2003− “managed code” mainstream
− Ships in Windows Server 2003− Rounds out features
.NET Framework 2.0
− RTM Late 2005− ASP.NET for the Masses
− Application Building Blocks− Parts, Authentication, Role
Management, etc− Visual Web Developer
− Client Development− ClickOnce!
.NET Framework 3.0− RTM end of 2006− Windows Presentation
Foundation− Vector Graphics, Media
and UI− Enters the age of UX
− Windows Communication Foundation− Unified messaging model
− Windows Workflow Foundation− Coordinating work with
durable applications
.NET Framework 3.5
− RTM End of 2007− Linq− ASP.NET AJAX− WCF/WF
− REST Services− Workflow Services
− Client− Sync− Client app services
.NET Framework 3.5 "SP1"
− RTM Mid 2008− ASP.NET Dynamic Data− ADO.NET
− Entity Framework− Data Services (Astoria)
− WCF− AtomPub ServiceDocuments
− Client− Client Profile− Performance
− Working set and startup time
.NET Framework Current "Layer Cake"
.NET Framework 2.0 + SP1
Windows Presentation Foundation
Windows Communication
Foundation
Windows Workflow
Foundation
Windows CardSpace
.NET Framework 3.0 + SP1
.NET Framework 3.5
LINQWF & WCF
EnhancementsAdd-in
FrameworkAdditional
Enhancements
.NET Framework 3.5 + SP1
Dynamic DataEntity
Framework Data Services
Un peu d’histoire…
.NET 1.0 .NET 1.1 .NET 2.0
3.0
3.5
.NET 4
2002 2003 2008 CTP2005-08
CLR 1.0 CLR 1.1 CLR 2.0 CLR 4
SP1
Applications Client
WPF 4MEF
Applications Web
Web Forms 4AJAX 4
Client/Server
WCF 4
Les Bases…Parallel Computing
Task Parallel LibraryParallel LINQ
Data Access
Entity Framework 4Data Services 1.5
Runtime
DLR IntegrationType EquivalenceIn-Process SxS
Web Forms 4 - Client ID
1) User Control (No ID)
2) User Control (“HeaderForm”)
Control Hierarchy3) Drop Down List (“States”)
Resulting Client IDs:1) ctl002) ctl00_HeaderForm3) ctl00_HeaderForm_States
Web Forms 4 - Routing
Request:Products/Bikes
ASP.NET Routing
Route:Product/{name} -> Product.aspx
WebForms Page
File Name:Product.aspx
Route Values:Name = “Bikes”
Response
ASP.NET Web Forms 4Client Id / Routing
WPF 4
− Data Grid
− Ribbon
− Multi-Touch
− Windows 7 Enhancements
Managed Extensibility Framework?
The Managed Extensibility Framework (MEF) is a new library in the .NET Framework that enables greater reuse of applications and components. Using MEF, .NET applications can make the shift from being statically compiled to dynamically composed
Open/Closed Principle
Software entities should be open for extension,
but closed for modification.
Known vs. Unknown
Client ApplicationsWPF 4 DataGrid / MEF
Entity Framework 4
− Model-First
− POCO
− Lazy Loading
− Foreign Keys
ADO.NET Data Services 1.5
− Server Enhancements− Row count− Server-side paging− Friendly feeds− BLOB streams
− Client Enhancements− Row Count− WPF/SL data binding
ADO.NET Data ServicesRow Count and
Server-Side Paging
Parallel Computing InitiativeAvant:
Horloges plus rapides
Maintenant:Plus de coeurs
Fini de rigoler!
The Parallel Computing Initiative
Letting the brightest developers solve business problems, not concurrency problems.
”Concurrency for the masses”
Parallel Computing with .NET 4
1. Task Parallel Library (TPL)
2. Parallel LINQ (PLINQ)
3. Coordination Data Structures (CDS)
4. System.Threading Improvements
Parallel LINQ
Parallel LINQ (PLINQ) enables developers to easily leverage manycore with a minimal impact to existing LINQ programming model
var q = from p in people where p.Name == queryInfo.Name && p.State == queryInfo.State && p.Year >= yearStart && p.Year <= yearEnd orderby p.Year ascending select p;
.AsParallel()
Parallel ComputingParallel LINQ (PLINQ)
Common Language Runtime
Statically-Typed
C#VB
RubyPython
Dynamically-Typed
Why the DLR?
Common Language Runtime
Statically-Typed
C#VB
RubyPython
Dynamically-Typed
Dynamic Language Runtime
Why the DLR?
PythonBinder
RubyBinder
COMBinder
JScriptBinder
ObjectBinder
.NET Dynamic Programming
Dynamic Language Runtime
Expression TreesDynamic Dispatch
Call Site Caching
IronPython
IronRuby C# VB.NET Others…
Dynamically Typed Objects
Calculator calc = GetCalculator();int sum = calc.Add(10, 20);
object calc = GetCalculator();Type calcType = calc.GetType();object res = calcType.InvokeMember("Add", BindingFlags.InvokeMethod, null, new object[] { 10, 20 });int sum = Convert.ToInt32(res);
ScriptObject calc = GetCalculator();object res = calc.Invoke("Add", 10, 20);int sum = Convert.ToInt32(res);
dynamic calc = GetCalculator();int sum = calc.Add(10, 20);
Statically typed to be
dynamic
Dynamic method
invocation
Dynamic conversion
DLR Integration
Type Equivalence
Interop Assemblies translate between managed code and COM
For each interface, struct, enum, delegate, and member, contains a
managed equivalent with marshalling data
However!
Primary Interop Assemblies cause many
pain points…
Go Away, PIA!
1. Compilers embed the portions of the interop assemblies that the add-ins actually use
2. Runtime ensures the embedded definitions of these types are considered equivalent
CLR 4Type Equivalence
.NET Framework Compatibility
− .NET 4.0 is a highly compatible release
− .NET 4.0 does not auto–roll forward− You must add a configuration file with a
specific switch to get 3.5 apps to run on 4.0
.NET Framework CompatibilityHang on… if 4.0 is
compatible, why not run 3.5 apps automatically on 4.0?−The BEST thing is always to
prefer running on the version of the framework you built against
CLR 2 - Existing Side-By-Side
Host Process (i.e. Outlook)
.NET 2.0
2.0 add-
in
3.0
3.5
3.0 add-
in
3.5 add-
in
1.1 add-
in
.NET 1.1
CLR 4 - In-Process Side-By-Side
.NET 2.0.NET 4.0
2.0 add-
in
3.0
3.5
Host Process (i.e. Outlook)
3.0 add-
in
3.5 add-
in
4.0 add-
in
Visual Studio 2010 Training Kit− Download at
http://tinyurl.com/vs2010trainingkit
Windows Phone 7
Silverlight
Rapid creation of visually stunning
apps
Modern application UI framework &
runtime
METRO themed UI controls, defined in XAML
XAML, C#, HTML & JavaScript
Rich media support
500,000 developers spanning Windows and Web
Developer tools
The simplest way to build business applications
for the desktop and cloud.
http://www.microsoft.com/visualstudio/en-us/lightswitch
Data
Screens
+ =Business
Applications
ETUDIANTS.MS Les initiatives de Microsoft pour les étudiants
SUR LE WEBBons plans / Réductions spéciales étudiants Windows 7 à 35€ Office 2010 à 69€ Souris et Clavier Arc XBOX (et bientôt Kinect) Plus de 20 logiciels en
téléchargement gratuit : OneNote, Project, …
Toutes les infos pour trouver le job ou stage de vos rêves Plus de 150 offres de stages
et apprentissages en Vente, Technique et Marketing
Offres d’emploi du programme MACH pour jeunes diplômés
Conseils de la RH Témoignages de
Microsoftees et fiches métierToutes les ressources pour
monter vos projets Démo des projets étudiants sur pc, web,
mobile et dans le cloud Conseils et outils pour démarrer vos projets Découverte des projets de Microsoft Research
Gagnez un voyage à New York grâce au concours Imagine Cup Concours international 5 catégories : Digital Media,
Software Design, Game Design, IT Challenge, Embedded Development
Plus de 100 000€ à gagner
POUR NE RIEN MANQUER…
http://www.facebook.com/AfterClassMicrosoft
http://twitter.com/EtudiantsMS
La newsletter etudiants.ms