SynapseIndia Dotnet
Development Framework
.NET Framework
Design Goals
 Dramatically simplifies development and
deployment
 Unifies programming models
 Provides robust and secure execution
environment
 Supports multiple programming languages
Framework, Languages,
And Tools
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO.NET and XMLADO.NET and XML
ASP.NETASP.NET
Web Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindows
FormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# JScriptJScript J#J#
VisualStudio.NETVisualStudio.NET
One Lap Around .NETOne Lap Around .NET
demodemo
Demo: One Lap Around .NET
 Create a simple Web Service
 Test it in Internet Explorer
 Add data logic to it
 Build a smart client for it
 Show seamless and safe deployment of the
smart client
Framework, Languages, And Tools
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO.NET and XMLADO.NET and XML
ASP.NETASP.NET
Web Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindows
FormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# JScriptJScript J#J#
VisualStudio.NETVisualStudio.NET
The .NET Evolution
Before COM, applications wereBefore COM, applications were
completely separate entitiescompletely separate entities
with little or no integrationwith little or no integration
ApplicatioApplicatio
nn
Code andCode and
datadata
structuresstructures
The .NET Evolution
COM provides a way forCOM provides a way for
components to integrate;components to integrate;
However, eachHowever, each
component must providecomponent must provide
the “plumbing” andthe “plumbing” and
objects cannotobjects cannot
directly interactdirectly interact
The .NET Evolution
With the .NET FrameworkWith the .NET Framework
common language runtime,common language runtime,
components are built on acomponents are built on a
common substrate; Nocommon substrate; No
“plumbing” is needed and“plumbing” is needed and
objects can directly interactobjects can directly interact
AssemblyAssembly
Compilation And Execution
SourceSource
CodeCode
LanguageLanguage
CompilerCompiler
CompilationCompilation
At installation or theAt installation or the
first time eachfirst time each
method is calledmethod is calledExecutionExecution
JITJIT
CompilerCompiler
NativeNative
CodeCode
Code (IL)Code (IL)
MetadataMetadata
Simplify Development
 Completely eliminates COM plumbing
 No more…
 Registration
 GUIDs
 .IDL files
 HRESULTs
 IUnknown
 AddRef/Release
 CoCreateInstance
=>self described apps=>self described apps
=>hierarchical namespaces=>hierarchical namespaces
=>unified object model=>unified object model
=>structured exceptions=>structured exceptions
=>common root object=>common root object
=>garbage collector=>garbage collector
=>”new” operator=>”new” operator

SynapseIndia dotnet development framework

  • 1.
  • 2.
    .NET Framework Design Goals Dramatically simplifies development and deployment  Unifies programming models  Provides robust and secure execution environment  Supports multiple programming languages
  • 3.
    Framework, Languages, And Tools OperatingSystemOperating System Common Language RuntimeCommon Language Runtime Base Class LibraryBase Class Library ADO.NET and XMLADO.NET and XML ASP.NETASP.NET Web Forms Web ServicesWeb Forms Web Services Mobile Internet ToolkitMobile Internet Toolkit WindowsWindows FormsForms Common Language SpecificationCommon Language Specification VBVB C++C++ C#C# JScriptJScript J#J# VisualStudio.NETVisualStudio.NET
  • 4.
    One Lap Around.NETOne Lap Around .NET demodemo
  • 5.
    Demo: One LapAround .NET  Create a simple Web Service  Test it in Internet Explorer  Add data logic to it  Build a smart client for it  Show seamless and safe deployment of the smart client
  • 6.
    Framework, Languages, AndTools Operating SystemOperating System Common Language RuntimeCommon Language Runtime Base Class LibraryBase Class Library ADO.NET and XMLADO.NET and XML ASP.NETASP.NET Web Forms Web ServicesWeb Forms Web Services Mobile Internet ToolkitMobile Internet Toolkit WindowsWindows FormsForms Common Language SpecificationCommon Language Specification VBVB C++C++ C#C# JScriptJScript J#J# VisualStudio.NETVisualStudio.NET
  • 7.
    The .NET Evolution BeforeCOM, applications wereBefore COM, applications were completely separate entitiescompletely separate entities with little or no integrationwith little or no integration ApplicatioApplicatio nn Code andCode and datadata structuresstructures
  • 8.
    The .NET Evolution COMprovides a way forCOM provides a way for components to integrate;components to integrate; However, eachHowever, each component must providecomponent must provide the “plumbing” andthe “plumbing” and objects cannotobjects cannot directly interactdirectly interact
  • 9.
    The .NET Evolution Withthe .NET FrameworkWith the .NET Framework common language runtime,common language runtime, components are built on acomponents are built on a common substrate; Nocommon substrate; No “plumbing” is needed and“plumbing” is needed and objects can directly interactobjects can directly interact
  • 10.
    AssemblyAssembly Compilation And Execution SourceSource CodeCode LanguageLanguage CompilerCompiler CompilationCompilation Atinstallation or theAt installation or the first time eachfirst time each method is calledmethod is calledExecutionExecution JITJIT CompilerCompiler NativeNative CodeCode Code (IL)Code (IL) MetadataMetadata
  • 11.
    Simplify Development  Completelyeliminates COM plumbing  No more…  Registration  GUIDs  .IDL files  HRESULTs  IUnknown  AddRef/Release  CoCreateInstance =>self described apps=>self described apps =>hierarchical namespaces=>hierarchical namespaces =>unified object model=>unified object model =>structured exceptions=>structured exceptions =>common root object=>common root object =>garbage collector=>garbage collector =>”new” operator=>”new” operator