SlideShare a Scribd company logo
1 of 24
.NET Framework … v3.0, v3.5, v4.0 Bijoy Singhal Developer Evangelist Microsoft India
Developer’s Wish List… Easy to translate requirement into code Easy to locate and fix issues Easy manageability and future proofing Easy handling of Data Business Logic User Interface Easy handling of Security Performance Scalability
Top considerations of framework design Making Languages more productive Providing APIs for complex patterns Caching Add-ins Concurrency Synchronization Scaffolding Deployment Powerful Tools .NET SDK Tools Visual Studio
Key Areas of the Framework
A Look Back… SP1 3.5 3.0 .NET 1.0 .NET 1.1 .NET 2.0 .NET 4 2002 2003 2008 CTP! 2005-08 CLR 1.0 CLR 1.1 CLR 2.0 CLR 4
Additions to the Framework…
What Is The .NET Framework? WPF Win Forms DLR ASP.NET WCF And more! LINQ Base Class Libraries The CLR JIT & NGEN Garbage Collector Security Model Exception Handling Loader & Binder
.NET Framework 4.0 User Interface Data Access Services Windows Presentation Foundation ASP.NET (WebForms, MVC, Dynamic Data) Entity Framework ADO.NET Data Services Windows Communication Foundation WinForms LINQ to SQL Windows Workflow Foundation Core Base Class Library Dynamic Language Runtime Languages Managed Extensibility Framework LINQ Parallel Extensions Common Language Runtime
The goal of CLR 4.0 Working Better Together… Faster… With Fewer Bugs… In-Proc SxS Managed Extensibility Framework Native/Managed Interop DLR Integration Threading Parallel Extensions Garbage Collection Profiling Code Contracts Debugging Corrupted State Exceptions
.NET 4.0 http://brad_abrams.members.winisp.net/Projects/PDC2008/DotNet4Poster/DotNetFramework4PosterDeepZoom.htm
Parallel Computing Task Parallel Library (TPL) Imperative Task Parallelism Work-Stealing Algorithm for maximum efficiency Higher-level abstraction (no more Thread knowledge necessary) Parallel Linq (PLINQ) Declarative Data Parallelism (focus on the *what*, not the *how*) Simple Parallelism via Linq-To-Objects Coordination Data Structures (CDS) Common structures to help with parallelism tasks
Managed Extensibility Framework - Summary System.ComponentModel.Composition MEF Core Components: Catalog Discovers and maintain extensions CompositionContainer Coordinate creations and satisfy dependencies ComposablePart Offer one or more exports May depend on imports for extension it uses Create reusable components Easy declaration/consumption of extensibility points Watching a specific directory for new extensions No need to create infrastructure from scratch MEF is dynamically composed
Code Contracts - Summary Foundation Design by contract Based on MSR’s SPEC# What does it bring? Improved testability Static verification API Documentation How does it help? Guarantee obligations on entry (parameter validations) Guarantee property at exit (return value range) Maintain property during execution (object invariance)
Garbage Collection - Summary Server Garbage Collection  Algorithm maximizes overall throughput – fast – but all managed code has to be paused while it runs. In CLR 4.0, you can be notified before        a Gen 2/ Large Object Heap collection.   Useful when you can do load balancing. Workstation Garbage Collection CLR 2.0: Can do most, but not all, of a Generation 2 collection without pausing managed code New allocations go on ephemeral segment  But can’t do Gen0 and Gen1 at same time as Gen2.  New in CLR 4.0, we have Background Collection Background Collection can do a Gen0 or Gen1 while doing Gen2 Only unusual circumstances now lead to long latency
Garbage Collection - Summary Definite improvement in performance and scalability of the application Lesser chance of getting OutOfMemoryException Application health is optimum at all times. Optimum consumption of the processing power. On the server side you can load balance your application usingGCNotifications.  Nothing really prevents your from using GCNotifications on workstations.
Dynamic Language Support Dynamic keyword:  mark a property or variable as dynamic at compile time.  at runtime the corresponding static type will be assigned to that entity. Dynamic Language Runtime Interoperate and interact with the CLR using dynamic languages Get the power of .NET for dynamic languages
Dynamic in .NET 4.0  - Summary Dynamic Language Runtime Added dynamism to .NET  Added runtime type checking Full support for IronRuby, IronPython Dynamic Dispatch Introduced new type – dynamic Compiler merely packages information and defers binding to runtime Uses IDispatch interface Create your own dynamic types using: DynamicObject or IDynamicMetaObjectProvider
ASP.NET 4.0 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
More Web Goodies…   ADO.NET Data Services REST based exposure of relational data Ability to go “offline” ASP.NET AJAX JavaScript UI Templates and Data-binding AJAX Control Toolkit Enhancements  Client-side controls DOM selection, manipulation and animation Addition of jQuery
Some other interesting Enhancements CLR Enhancement Side by Side In Process runtime (CLR) Use ClrVer to see more. BCL Enhancements BigInteger Arbitrary length integer supporting all mathematical operations.  Tuples Sequence of finite length System.Lazy<T> Framework implements the pattern; Developer uses it.
Feedback / QnA Your Feedback is Important! Please take a few moments to fill out our feedback form
Contact Blog Address 	http://blogs.msdn.com/bsinghal Email Address 	bsinghal@microsoft.com
Bijoy Singhal bsinghal@microsoft.com Abhishek Baxi abby@baxiabhishek.info Rishu Mehra rishumehra@merawindows.com http://delhiitpro.groups.live.com http://delhidevs.com
[object Object]

More Related Content

What's hot

SQL Azure Dec Update
SQL Azure Dec UpdateSQL Azure Dec Update
SQL Azure Dec Update
Eric Nelson
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
Igor Moochnick
 
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - ConceroCTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
Spiffy
 
Deploying asp.net and mvc applications to azure
Deploying asp.net and mvc applications to azureDeploying asp.net and mvc applications to azure
Deploying asp.net and mvc applications to azure
Glyn Darkin
 

What's hot (20)

Writing simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorWriting simple web services in java using eclipse editor
Writing simple web services in java using eclipse editor
 
SQL Azure Dec Update
SQL Azure Dec UpdateSQL Azure Dec Update
SQL Azure Dec Update
 
MSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows Azure
 
The Windows Azure Platform: A Perspective - David Chappell
The Windows Azure Platform: A Perspective - David ChappellThe Windows Azure Platform: A Perspective - David Chappell
The Windows Azure Platform: A Perspective - David Chappell
 
Building An Application For Windows Azure And Sql Azure
Building An Application For Windows Azure And Sql AzureBuilding An Application For Windows Azure And Sql Azure
Building An Application For Windows Azure And Sql Azure
 
Migrating Apps To Azure
Migrating Apps To AzureMigrating Apps To Azure
Migrating Apps To Azure
 
Windows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan WongWindows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan Wong
 
Technology Roadmap by ericnel
Technology Roadmap by ericnelTechnology Roadmap by ericnel
Technology Roadmap by ericnel
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
 
Resumen - Microsoft Build 2021
Resumen - Microsoft Build 2021Resumen - Microsoft Build 2021
Resumen - Microsoft Build 2021
 
AppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOpsAppSphere 15 - Microsoft Azure for Developers & DevOps
AppSphere 15 - Microsoft Azure for Developers & DevOps
 
Azure basics
Azure basicsAzure basics
Azure basics
 
Java ee7 with apache spark for the world's largest credit card core systems, ...
Java ee7 with apache spark for the world's largest credit card core systems, ...Java ee7 with apache spark for the world's largest credit card core systems, ...
Java ee7 with apache spark for the world's largest credit card core systems, ...
 
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
 
Enter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s AssetsEnter The Matrix Securing Azure’s Assets
Enter The Matrix Securing Azure’s Assets
 
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - ConceroCTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
 
Azure App Services
Azure App ServicesAzure App Services
Azure App Services
 
MVC-3 Vs Webform
MVC-3 Vs WebformMVC-3 Vs Webform
MVC-3 Vs Webform
 
Deploying asp.net and mvc applications to azure
Deploying asp.net and mvc applications to azureDeploying asp.net and mvc applications to azure
Deploying asp.net and mvc applications to azure
 
Interactive publication platform
Interactive publication platformInteractive publication platform
Interactive publication platform
 

Viewers also liked (9)

all you need to know about windows phone
all you need to know about windows phoneall you need to know about windows phone
all you need to know about windows phone
 
Creating And Implementing A Data Disaster Recovery Plan
Creating And Implementing A Data  Disaster  Recovery  PlanCreating And Implementing A Data  Disaster  Recovery  Plan
Creating And Implementing A Data Disaster Recovery Plan
 
Windows 7 V2
Windows 7 V2Windows 7 V2
Windows 7 V2
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
Business Recovery Planning
Business Recovery PlanningBusiness Recovery Planning
Business Recovery Planning
 
SharePoint Saturday Denver 2015 - What is Office365 and Why Should I Care?
SharePoint Saturday Denver 2015 - What is Office365 and Why Should I Care?SharePoint Saturday Denver 2015 - What is Office365 and Why Should I Care?
SharePoint Saturday Denver 2015 - What is Office365 and Why Should I Care?
 
Office365
Office365Office365
Office365
 
SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows
SharePoint Fest DC 2016_Advanced Office365 SharePoint Online WorkflowsSharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows
SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows
 
Creating And Implementing A Data Disaster Recovery Plan
Creating And Implementing A Data Disaster Recovery PlanCreating And Implementing A Data Disaster Recovery Plan
Creating And Implementing A Data Disaster Recovery Plan
 

Similar to .net Framework

Net Fundamentals
Net FundamentalsNet Fundamentals
Net Fundamentals
Ali Taki
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5
Clint Edmonson
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5
Jeff Blankenburg
 
Development trends
Development trendsDevelopment trends
Development trends
Eyal Vardi
 
tybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notestybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notes
WE-IT TUTORIALS
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
WSPDC & FEDSPUG
 
Lap around .net 4
Lap around .net 4Lap around .net 4
Lap around .net 4
Abdul Khan
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net Fundamentals
LiquidHub
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
Rahul Singh
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp En
Gregory Renard
 

Similar to .net Framework (20)

Net Fundamentals
Net FundamentalsNet Fundamentals
Net Fundamentals
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5
 
Bn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netBn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot net
 
Development trends
Development trendsDevelopment trends
Development trends
 
What's New in .Net 4.5
What's New in .Net 4.5What's New in .Net 4.5
What's New in .Net 4.5
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
 
Lamp Zend Security
Lamp Zend SecurityLamp Zend Security
Lamp Zend Security
 
Webinar Oracle adf12c EN
Webinar Oracle adf12c ENWebinar Oracle adf12c EN
Webinar Oracle adf12c EN
 
tybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notestybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notes
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
Lap around .net 4
Lap around .net 4Lap around .net 4
Lap around .net 4
 
New Features Of Microsoft Visual Studio 2008 And .Net Framework 3.5 To Comsof...
New Features Of Microsoft Visual Studio 2008 And .Net Framework 3.5 To Comsof...New Features Of Microsoft Visual Studio 2008 And .Net Framework 3.5 To Comsof...
New Features Of Microsoft Visual Studio 2008 And .Net Framework 3.5 To Comsof...
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net Fundamentals
 
Asp.net new
Asp.net newAsp.net new
Asp.net new
 
Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp En
 
All the amazing features of asp.net core
All the amazing features of asp.net coreAll the amazing features of asp.net core
All the amazing features of asp.net core
 

More from Rishu Mehra

Blurring the difference of Web & Native Apps with HTML 5 & IE 9
Blurring the difference of Web & Native Apps with HTML 5  & IE 9Blurring the difference of Web & Native Apps with HTML 5  & IE 9
Blurring the difference of Web & Native Apps with HTML 5 & IE 9
Rishu Mehra
 
Windows Phone 7 Applications with Silverlight
Windows Phone 7 Applications with SilverlightWindows Phone 7 Applications with Silverlight
Windows Phone 7 Applications with Silverlight
Rishu Mehra
 
Windows Phone 7: Silverlight
Windows Phone 7: SilverlightWindows Phone 7: Silverlight
Windows Phone 7: Silverlight
Rishu Mehra
 
SharePoint 2010 for IT Pros
SharePoint 2010 for IT ProsSharePoint 2010 for IT Pros
SharePoint 2010 for IT Pros
Rishu Mehra
 
SharePoint 2010 for Devs
SharePoint 2010 for DevsSharePoint 2010 for Devs
SharePoint 2010 for Devs
Rishu Mehra
 
Ado.net entity framework_4.0
Ado.net entity framework_4.0Ado.net entity framework_4.0
Ado.net entity framework_4.0
Rishu Mehra
 
SQL Server 2008 R2 - Implementing High Availabilitty
SQL Server 2008 R2 - Implementing High AvailabilittySQL Server 2008 R2 - Implementing High Availabilitty
SQL Server 2008 R2 - Implementing High Availabilitty
Rishu Mehra
 
Microsoft India Academic Initiatives
Microsoft India Academic InitiativesMicrosoft India Academic Initiatives
Microsoft India Academic Initiatives
Rishu Mehra
 
Microsoft Community Tools
Microsoft Community ToolsMicrosoft Community Tools
Microsoft Community Tools
Rishu Mehra
 
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
Rishu Mehra
 
Mvc 4 0_jayant_jindal_28082010
Mvc 4 0_jayant_jindal_28082010Mvc 4 0_jayant_jindal_28082010
Mvc 4 0_jayant_jindal_28082010
Rishu Mehra
 
Microsoft CTD & User Groups
Microsoft CTD & User GroupsMicrosoft CTD & User Groups
Microsoft CTD & User Groups
Rishu Mehra
 
.Net Performance by Bijoy Singhal
.Net Performance by Bijoy Singhal.Net Performance by Bijoy Singhal
.Net Performance by Bijoy Singhal
Rishu Mehra
 
Uploading Data From Microsoft Excel - Microsoft SLQ Server 2008 (by Rakesh Mi...
Uploading Data From Microsoft Excel - Microsoft SLQ Server 2008 (by Rakesh Mi...Uploading Data From Microsoft Excel - Microsoft SLQ Server 2008 (by Rakesh Mi...
Uploading Data From Microsoft Excel - Microsoft SLQ Server 2008 (by Rakesh Mi...
Rishu Mehra
 
SQL Server Profiler & Performance Monitor - SarabPreet Singh
SQL Server Profiler & Performance Monitor - SarabPreet SinghSQL Server Profiler & Performance Monitor - SarabPreet Singh
SQL Server Profiler & Performance Monitor - SarabPreet Singh
Rishu Mehra
 

More from Rishu Mehra (20)

I Unlock Joy! - ITM Gurgaon
I Unlock Joy! - ITM GurgaonI Unlock Joy! - ITM Gurgaon
I Unlock Joy! - ITM Gurgaon
 
What is Microsoft Student Partner Program?
What is Microsoft Student Partner Program?What is Microsoft Student Partner Program?
What is Microsoft Student Partner Program?
 
Blurring the difference of Web & Native Apps with HTML 5 & IE 9
Blurring the difference of Web & Native Apps with HTML 5  & IE 9Blurring the difference of Web & Native Apps with HTML 5  & IE 9
Blurring the difference of Web & Native Apps with HTML 5 & IE 9
 
Lync Server
Lync ServerLync Server
Lync Server
 
Windows Phone 7: Interfacing
Windows Phone 7: InterfacingWindows Phone 7: Interfacing
Windows Phone 7: Interfacing
 
Hello, windows phone!
Hello, windows phone!Hello, windows phone!
Hello, windows phone!
 
Windows Phone 7 Applications with Silverlight
Windows Phone 7 Applications with SilverlightWindows Phone 7 Applications with Silverlight
Windows Phone 7 Applications with Silverlight
 
Windows Phone 7: Silverlight
Windows Phone 7: SilverlightWindows Phone 7: Silverlight
Windows Phone 7: Silverlight
 
SharePoint 2010 for IT Pros
SharePoint 2010 for IT ProsSharePoint 2010 for IT Pros
SharePoint 2010 for IT Pros
 
SharePoint 2010 for Devs
SharePoint 2010 for DevsSharePoint 2010 for Devs
SharePoint 2010 for Devs
 
Ado.net entity framework_4.0
Ado.net entity framework_4.0Ado.net entity framework_4.0
Ado.net entity framework_4.0
 
SQL Server 2008 R2 - Implementing High Availabilitty
SQL Server 2008 R2 - Implementing High AvailabilittySQL Server 2008 R2 - Implementing High Availabilitty
SQL Server 2008 R2 - Implementing High Availabilitty
 
Microsoft India Academic Initiatives
Microsoft India Academic InitiativesMicrosoft India Academic Initiatives
Microsoft India Academic Initiatives
 
Microsoft Community Tools
Microsoft Community ToolsMicrosoft Community Tools
Microsoft Community Tools
 
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
 
Mvc 4 0_jayant_jindal_28082010
Mvc 4 0_jayant_jindal_28082010Mvc 4 0_jayant_jindal_28082010
Mvc 4 0_jayant_jindal_28082010
 
Microsoft CTD & User Groups
Microsoft CTD & User GroupsMicrosoft CTD & User Groups
Microsoft CTD & User Groups
 
.Net Performance by Bijoy Singhal
.Net Performance by Bijoy Singhal.Net Performance by Bijoy Singhal
.Net Performance by Bijoy Singhal
 
Uploading Data From Microsoft Excel - Microsoft SLQ Server 2008 (by Rakesh Mi...
Uploading Data From Microsoft Excel - Microsoft SLQ Server 2008 (by Rakesh Mi...Uploading Data From Microsoft Excel - Microsoft SLQ Server 2008 (by Rakesh Mi...
Uploading Data From Microsoft Excel - Microsoft SLQ Server 2008 (by Rakesh Mi...
 
SQL Server Profiler & Performance Monitor - SarabPreet Singh
SQL Server Profiler & Performance Monitor - SarabPreet SinghSQL Server Profiler & Performance Monitor - SarabPreet Singh
SQL Server Profiler & Performance Monitor - SarabPreet Singh
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 

.net Framework

  • 1. .NET Framework … v3.0, v3.5, v4.0 Bijoy Singhal Developer Evangelist Microsoft India
  • 2. Developer’s Wish List… Easy to translate requirement into code Easy to locate and fix issues Easy manageability and future proofing Easy handling of Data Business Logic User Interface Easy handling of Security Performance Scalability
  • 3. Top considerations of framework design Making Languages more productive Providing APIs for complex patterns Caching Add-ins Concurrency Synchronization Scaffolding Deployment Powerful Tools .NET SDK Tools Visual Studio
  • 4. Key Areas of the Framework
  • 5. A Look Back… SP1 3.5 3.0 .NET 1.0 .NET 1.1 .NET 2.0 .NET 4 2002 2003 2008 CTP! 2005-08 CLR 1.0 CLR 1.1 CLR 2.0 CLR 4
  • 6. Additions to the Framework…
  • 7. What Is The .NET Framework? WPF Win Forms DLR ASP.NET WCF And more! LINQ Base Class Libraries The CLR JIT & NGEN Garbage Collector Security Model Exception Handling Loader & Binder
  • 8. .NET Framework 4.0 User Interface Data Access Services Windows Presentation Foundation ASP.NET (WebForms, MVC, Dynamic Data) Entity Framework ADO.NET Data Services Windows Communication Foundation WinForms LINQ to SQL Windows Workflow Foundation Core Base Class Library Dynamic Language Runtime Languages Managed Extensibility Framework LINQ Parallel Extensions Common Language Runtime
  • 9. The goal of CLR 4.0 Working Better Together… Faster… With Fewer Bugs… In-Proc SxS Managed Extensibility Framework Native/Managed Interop DLR Integration Threading Parallel Extensions Garbage Collection Profiling Code Contracts Debugging Corrupted State Exceptions
  • 11. Parallel Computing Task Parallel Library (TPL) Imperative Task Parallelism Work-Stealing Algorithm for maximum efficiency Higher-level abstraction (no more Thread knowledge necessary) Parallel Linq (PLINQ) Declarative Data Parallelism (focus on the *what*, not the *how*) Simple Parallelism via Linq-To-Objects Coordination Data Structures (CDS) Common structures to help with parallelism tasks
  • 12. Managed Extensibility Framework - Summary System.ComponentModel.Composition MEF Core Components: Catalog Discovers and maintain extensions CompositionContainer Coordinate creations and satisfy dependencies ComposablePart Offer one or more exports May depend on imports for extension it uses Create reusable components Easy declaration/consumption of extensibility points Watching a specific directory for new extensions No need to create infrastructure from scratch MEF is dynamically composed
  • 13. Code Contracts - Summary Foundation Design by contract Based on MSR’s SPEC# What does it bring? Improved testability Static verification API Documentation How does it help? Guarantee obligations on entry (parameter validations) Guarantee property at exit (return value range) Maintain property during execution (object invariance)
  • 14. Garbage Collection - Summary Server Garbage Collection Algorithm maximizes overall throughput – fast – but all managed code has to be paused while it runs. In CLR 4.0, you can be notified before a Gen 2/ Large Object Heap collection. Useful when you can do load balancing. Workstation Garbage Collection CLR 2.0: Can do most, but not all, of a Generation 2 collection without pausing managed code New allocations go on ephemeral segment But can’t do Gen0 and Gen1 at same time as Gen2. New in CLR 4.0, we have Background Collection Background Collection can do a Gen0 or Gen1 while doing Gen2 Only unusual circumstances now lead to long latency
  • 15. Garbage Collection - Summary Definite improvement in performance and scalability of the application Lesser chance of getting OutOfMemoryException Application health is optimum at all times. Optimum consumption of the processing power. On the server side you can load balance your application usingGCNotifications. Nothing really prevents your from using GCNotifications on workstations.
  • 16. Dynamic Language Support Dynamic keyword: mark a property or variable as dynamic at compile time. at runtime the corresponding static type will be assigned to that entity. Dynamic Language Runtime Interoperate and interact with the CLR using dynamic languages Get the power of .NET for dynamic languages
  • 17. Dynamic in .NET 4.0 - Summary Dynamic Language Runtime Added dynamism to .NET Added runtime type checking Full support for IronRuby, IronPython Dynamic Dispatch Introduced new type – dynamic Compiler merely packages information and defers binding to runtime Uses IDispatch interface Create your own dynamic types using: DynamicObject or IDynamicMetaObjectProvider
  • 18. ASP.NET 4.0 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
  • 19. More Web Goodies… ADO.NET Data Services REST based exposure of relational data Ability to go “offline” ASP.NET AJAX JavaScript UI Templates and Data-binding AJAX Control Toolkit Enhancements Client-side controls DOM selection, manipulation and animation Addition of jQuery
  • 20. Some other interesting Enhancements CLR Enhancement Side by Side In Process runtime (CLR) Use ClrVer to see more. BCL Enhancements BigInteger Arbitrary length integer supporting all mathematical operations. Tuples Sequence of finite length System.Lazy<T> Framework implements the pattern; Developer uses it.
  • 21. Feedback / QnA Your Feedback is Important! Please take a few moments to fill out our feedback form
  • 22. Contact Blog Address http://blogs.msdn.com/bsinghal Email Address bsinghal@microsoft.com
  • 23. Bijoy Singhal bsinghal@microsoft.com Abhishek Baxi abby@baxiabhishek.info Rishu Mehra rishumehra@merawindows.com http://delhiitpro.groups.live.com http://delhidevs.com
  • 24.

Editor's Notes

  1. Windows Server includes key application server functionality directly in the operating system including distributed transactions, message queuing, a Web server and Web services, communications, workflow, and management. Complemented by the .NET Framework and Visual Studio, Windows Server is one of the leading application servers in the market today.
  2. Could you explain this What it want to say.
  3. What is NGEN & Loader & binder?
  4. Parallel ExtensionsWe worked with the Parallel Extensions team to add the Task Parallel Library (TPL), Coordination Data Structures, and Parallel LINQ (PLINQ) to the BCL in .NET 4.0.  This includes an improved ThreadPool scheduling algorithm for tasks, the static Parallel class, concurrent collections in System.Collections.Concurrent, and other coordination data structures such as LazyInit<T>, CountdownEvent, Barrier, SemaphoreSlim, SpinLock, SpinWait, and ManualResetEventSlim. More information is available over at the PFX team’s blog.  Also, check out Daniel Moth’s PDC session on Parallel Programming for Managed Developers with the Next Version of Microsoft Visual Studio.
  5. Dynamic Language Support: In the industry see more and more use of dynamic languages such as Ruby and Python by the developer community. I still believe that static typing provides a very important safety net, but on the other hand some tasks are just done much more efficiently done in dynamic languages. Therefore I am very excited about the fact that C# will incorporate dynamic language features in its next version. C# will provide a dynamic keyword which will mark a property or variable as dynamic at compile time. Nevertheless, at runtime the corresponding static type will be assigned to that entity, see the example code below.Declarative Programming: In many ways we over specify our programs by using imperative programming techniques. This not only makes it tedious to program software but also makes it hard for the compiler to catch the intentions of the program in order for it to do optimizations (such as parallel execution). With LinQ and functional programming elements included in the C# language  it is possible to declaratively specify the intention of the code which allow the compiler to optimize more intelligently. http://channel9.msdn.com/pdc2008/TL10/