SlideShare a Scribd company logo
Microsoft.NET Framework
Introduction
Difference between Library,
Framework
• A Library is a reusable set of types/functions you can
use from a wide variety of applications. The application
code initiates communication with the library and
invokes it.
• A Framework consists of one or more libraries, but the
difference is that Inversion of Control applies. The
application registers with the framework (often by
implementing one or more interfaces), and the
framework calls into the application, which may call
back into the framework. A framework often exists to
address a particular general-purpose Domain (such as
web applications, or workflows, etc.).
History of Microsoft application
platforms
• The Microsoft Foundation Class library (MFC)
offered a C++ abstraction over GUI
programming. Using MFC, developers could
focus more on what their program should do
and they can focus less on message loops,
window procedures, window classes, and so
on.
History (Cont.)
• With Microsoft Visual Basic 6 and earlier,
developers also had an abstraction that made
it easier to build GUI applications. This
abstraction technology served a purpose
similar to MFC but was geared towards
developers programming in Basic, and it gave
different emphasis to the various parts of GUI
programming
History (Cont.)
• Microsoft's ASP technology offered an
abstraction allowing developers to build active
and dynamic Web sites by using Visual Basic
Script or JScript. ASP allowed developers to
focus more on the Web page content and less
on the network communications
History (Cont.)
• Microsoft's Active Template Library (ATL)
offered an abstraction allowing developers to
more easily create components that could be
used by developers working in multiple
programming languages.
Problems with earlier technology
• Each of these abstraction technologies was
designed to make it easier for developers
focusing on a particular scenario such as GUI
applications, Web applications, or
components. If a developer wanted to build a
Web site that used a component, the
developer would have to learn multiple
abstraction technologies: ASP and ATL.
Problems with earlier technologies
(Cont.)
• Furthermore, the developer would have to be
proficient in multiple programming languages
since ASP required either Visual Basic Script or
JScript, and ATL required C++.
• Frequently, the various abstraction
technologies weren't originally designed to
work together, so developers fought
integration issues
Motivation for .NET
• The .NET Framework raises the abstraction
level for any and all kinds of applications.
• This means that there is a single programming
model and set of APIs that developers will use
regardless of whether they are building a
console application, graphical application,
Web site, or even components for use by any
of these application types.
Cross language
• It is now possible to build a Web site and
components that all use a single language
such as Visual Basic or Microsoft's relatively
new C# programming language
Simplified programming model
• The CLR seeks to greatly simplify the plumbing and
arcane constructs required by Win32 and COM.
Specifically, the CLR now frees the developer from
having to understand any of the following concepts:
the registry, globally unique identifiers (GUIDs),
IUnknown, AddRef, Release, HRESULTs, and so on.
• The CLR doesn't just abstract these concepts away
from the developer; these concepts simply don't exist
in any form in the CLR. Of course, if you want to write a
.NET Framework application that interoperates with
existing, non-.NET code, you must still be aware of
these concepts.
Easier integration
• These features also mean that integration
issues also go away, which greatly improves
testing, deployment, administration,
versioning, and re-usability and re-purposing
of code
Consistent programming model
• Unlike today, when commonly some operating
system facilities are accessed via dynamic-link
library (DLL) functions and other facilities are
accessed via COM objects, all application
services are offered via a common object
oriented programming model.
Run once, run always
• All Windows developers are familiar with "DLL
hell" versioning problems. This situation occurs
when components being installed for a new
application overwrite components of an old
application, causing the old application to exhibit
strange behavior or stop functioning altogether.
The architecture of the .NET Framework now
isolates application components so that an
application always loads the components that it
was built and tested with. If the application runs
after installation, the application should always
run.
Simplified deployment
• The .NET Framework components are not
referenced by the registry. In fact, installing
most .NET Framework applications requires no
more than copying the files to a directory and
adding a shortcut to the Start menu, desktop,
or Quick Launch toolbar. Uninstalling the
application is as simple as deleting the files.
Type-safe verification
• Type safety ensures that allocated objects are
always accessed in compatible ways. Hence, if
a method input parameter is declared as
accepting a 4-byte value, the CLR will detect
and trap attempts to access the parameter as
an 8-byte value. Similarly, if an object occupies
10 bytes in memory, the application can't
coerce the object into a form that will allow
more than 10 bytes to be read
Interoperability
• The .NET Framework fully supports the ability
for developers to access their existing COM
components as well as call Win32 functions in
existing DLLs.
Security
• With the increasing reliance on mobile code
such as Web scripts, applications downloaded
over the Internet, and e-mail attachments, we
need ways to control the behavior of
applications in a more code-centric manner.
Code access security provides a means to do
this
The .NET Framework is:
• Common Language Runtime – provides an
abstraction layer over the operating system
• Base Class Libraries – pre-built code for
common low-level programming tasks
• Development frameworks and technologies –
reusable, customizable solutions for larger
programming tasks
CLR
• Using Internet Explorer to host the runtime
enables you to embed managed components
or Windows Forms controls in HTML
documents. Hosting the runtime in this way
makes managed mobile code (similar to
Microsoft® ActiveX® controls) possible, but
with significant improvements that only
managed code can offer, such as semi-trusted
execution and isolated file storage.
The class library
• The other main component of the .NET
Framework, is a comprehensive, object-
oriented collection of reusable types that you
can use to develop applications ranging from
traditional command-line or graphical user
interface (GUI) applications to applications
based on the latest innovations provided by
ASP.NET, such as Web Forms and XML Web
services.
Class Library (Cont.)
• The Framework Class Library provides an
object-oriented API set that all application
models will use. It includes type definitions
that allow developers to perform file and
network I/O, scheduling tasks on other
threads, drawing shapes, comparing strings,
and so on. Of course,all of these type
definitions follow the programming model set
forth by the CLR
.NET Framework in context
Common Language Runtime (CLR)
• The common language runtime is the
foundation of the .NET Framework.
• You can think of the runtime as an agent that
manages code at execution time
• Provides core services such as memory
management, thread management, and
remoting, while also enforcing strict type
safety
CLR
• Code that targets the runtime is known as
managed code, while code that does not target
the runtime is known as unmanaged code
• The .NET Framework can be hosted by
unmanaged components that load the common
language runtime into their processes and initiate
the execution of managed code, thereby creating
a software environment that can exploit both
managed and unmanaged features
CLR
• For example, ASP.NET hosts the runtime to
provide a scalable, server-side environment
for managed code. ASP.NET works directly
with the runtime to enable ASP.NET
applications and XML Web services
• Internet Explorer is an example of an
unmanaged application that hosts the runtime
(in the form of a MIME type extension).
Consistent method failure paradigm
• Exceptions work across module and
programming language boundaries. And,
unlike status codes and HRESULTs, exceptions
can't be ignored. The CLR also provides built-
in stack-walking facilities, making it much
easier to locate any bugs and failures
Automatic memory management
(garbage collection)
• One of the most common bugs is neglecting to
free one of these resources, ultimately causing
the application to perform improperly at some
unpredictable time. The CLR automatically
tracks resource usage, guaranteeing that your
application will never leak resources
Programming language integration
• The CLR makes it possible to create a class in C++
that derives from a class implemented in Visual
Basic
• The CLR allows this because it defines and
provides a Common Type System (CTS) that all
programming languages that target the CLR must
use. The Common Language Specification (CLS)
describes what compiler implementers must do
in order for their languages to integrate well with
other languages
Wide platform reach
• You can deploy your .NET Framework
application on any machine that has an ECMA-
compliant version of the CLR and FCL running
on it

More Related Content

PPTX
.Net framework
PPT
Introduction to .NET Framework
PPTX
Common language runtime clr
PPT
Dotnet framework
PPTX
Introduction to vb.net
PDF
.Net overview by cetpa
PPT
.Net overview|Introduction Of .net
.Net framework
Introduction to .NET Framework
Common language runtime clr
Dotnet framework
Introduction to vb.net
.Net overview by cetpa
.Net overview|Introduction Of .net

What's hot (20)

PPT
.Net Overview -- Training (Lesson 1)
PPTX
Microsoft dot net framework
PPTX
.net CLR
PPTX
Net Fundamentals
PPT
.Net framework
PPTX
Introduction to .net FrameWork by QuontraSolutions
PPT
Introduction to .NET Framework
PPT
Modified.net overview
PPTX
dot net technology
PPS
Asp.net new
PPT
Migrating To Visual Studio 2008 & .Net Framework 3.5
PDF
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
PPT
Net framework
PPT
Introduction to .net
PPT
.Net overview
PPT
.Net framework
PPTX
C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and...
PPTX
Introduction of .net framework
PPTX
6.origins genesis of .net technology
.Net Overview -- Training (Lesson 1)
Microsoft dot net framework
.net CLR
Net Fundamentals
.Net framework
Introduction to .net FrameWork by QuontraSolutions
Introduction to .NET Framework
Modified.net overview
dot net technology
Asp.net new
Migrating To Visual Studio 2008 & .Net Framework 3.5
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
Net framework
Introduction to .net
.Net overview
.Net framework
C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and...
Introduction of .net framework
6.origins genesis of .net technology
Ad

Viewers also liked (20)

PPT
New Features in .Net Framework 4.0 By Nyros Developer
PDF
2² C# 4.0 and .NET 4 Selected Features
PPTX
New features in .NET 4.5, C# and VS2012
PPT
Subversion Admin
PDF
Discoverability and visibility2
PPT
Lyme Disease For PECs
PPT
Sql 2005 the ranking functions
PPT
Intro To .Net Threads
PPT
Intro to UML 2
PPT
Subversion
PPT
Sql basics 2
PPT
T-Sql basics
PPT
West Nile For PECs
PPT
Subversion client
PPTX
Requirement management presentation to a software team
PPT
1.Philosophy of .NET
PPT
Introduction to ADO.NET
PPT
Sql architecture
PPSX
Introduction to .net framework
PPT
Architecture of .net framework
New Features in .Net Framework 4.0 By Nyros Developer
2² C# 4.0 and .NET 4 Selected Features
New features in .NET 4.5, C# and VS2012
Subversion Admin
Discoverability and visibility2
Lyme Disease For PECs
Sql 2005 the ranking functions
Intro To .Net Threads
Intro to UML 2
Subversion
Sql basics 2
T-Sql basics
West Nile For PECs
Subversion client
Requirement management presentation to a software team
1.Philosophy of .NET
Introduction to ADO.NET
Sql architecture
Introduction to .net framework
Architecture of .net framework
Ad

Similar to Intro to Microsoft.NET (20)

PDF
Unit I- Introduction to .NET Framework.pdf
PDF
.NET TECHNOLOGIES
PPT
Microsoft.Net
PPTX
Visual Basic User Interface-III
PDF
Lecture - The .Net Technology and Framework
PPT
Introduction to ,NET Framework
PPTX
Session i
PPTX
PPTX
.Net slid
PPT
.Net Overview
PPT
.Net overview
PPS
dot NET Framework
PDF
PPTX
ASP.Net Technologies Part-1
PPT
Best DotNet Training in Delhi
PPTX
.Net Framework
PPTX
Dotnet Basics Presentation
PDF
PPTX
Introduction to .net
Unit I- Introduction to .NET Framework.pdf
.NET TECHNOLOGIES
Microsoft.Net
Visual Basic User Interface-III
Lecture - The .Net Technology and Framework
Introduction to ,NET Framework
Session i
.Net slid
.Net Overview
.Net overview
dot NET Framework
ASP.Net Technologies Part-1
Best DotNet Training in Delhi
.Net Framework
Dotnet Basics Presentation
Introduction to .net

Intro to Microsoft.NET

  • 2. Difference between Library, Framework • A Library is a reusable set of types/functions you can use from a wide variety of applications. The application code initiates communication with the library and invokes it. • A Framework consists of one or more libraries, but the difference is that Inversion of Control applies. The application registers with the framework (often by implementing one or more interfaces), and the framework calls into the application, which may call back into the framework. A framework often exists to address a particular general-purpose Domain (such as web applications, or workflows, etc.).
  • 3. History of Microsoft application platforms • The Microsoft Foundation Class library (MFC) offered a C++ abstraction over GUI programming. Using MFC, developers could focus more on what their program should do and they can focus less on message loops, window procedures, window classes, and so on.
  • 4. History (Cont.) • With Microsoft Visual Basic 6 and earlier, developers also had an abstraction that made it easier to build GUI applications. This abstraction technology served a purpose similar to MFC but was geared towards developers programming in Basic, and it gave different emphasis to the various parts of GUI programming
  • 5. History (Cont.) • Microsoft's ASP technology offered an abstraction allowing developers to build active and dynamic Web sites by using Visual Basic Script or JScript. ASP allowed developers to focus more on the Web page content and less on the network communications
  • 6. History (Cont.) • Microsoft's Active Template Library (ATL) offered an abstraction allowing developers to more easily create components that could be used by developers working in multiple programming languages.
  • 7. Problems with earlier technology • Each of these abstraction technologies was designed to make it easier for developers focusing on a particular scenario such as GUI applications, Web applications, or components. If a developer wanted to build a Web site that used a component, the developer would have to learn multiple abstraction technologies: ASP and ATL.
  • 8. Problems with earlier technologies (Cont.) • Furthermore, the developer would have to be proficient in multiple programming languages since ASP required either Visual Basic Script or JScript, and ATL required C++. • Frequently, the various abstraction technologies weren't originally designed to work together, so developers fought integration issues
  • 9. Motivation for .NET • The .NET Framework raises the abstraction level for any and all kinds of applications. • This means that there is a single programming model and set of APIs that developers will use regardless of whether they are building a console application, graphical application, Web site, or even components for use by any of these application types.
  • 10. Cross language • It is now possible to build a Web site and components that all use a single language such as Visual Basic or Microsoft's relatively new C# programming language
  • 11. Simplified programming model • The CLR seeks to greatly simplify the plumbing and arcane constructs required by Win32 and COM. Specifically, the CLR now frees the developer from having to understand any of the following concepts: the registry, globally unique identifiers (GUIDs), IUnknown, AddRef, Release, HRESULTs, and so on. • The CLR doesn't just abstract these concepts away from the developer; these concepts simply don't exist in any form in the CLR. Of course, if you want to write a .NET Framework application that interoperates with existing, non-.NET code, you must still be aware of these concepts.
  • 12. Easier integration • These features also mean that integration issues also go away, which greatly improves testing, deployment, administration, versioning, and re-usability and re-purposing of code
  • 13. Consistent programming model • Unlike today, when commonly some operating system facilities are accessed via dynamic-link library (DLL) functions and other facilities are accessed via COM objects, all application services are offered via a common object oriented programming model.
  • 14. Run once, run always • All Windows developers are familiar with "DLL hell" versioning problems. This situation occurs when components being installed for a new application overwrite components of an old application, causing the old application to exhibit strange behavior or stop functioning altogether. The architecture of the .NET Framework now isolates application components so that an application always loads the components that it was built and tested with. If the application runs after installation, the application should always run.
  • 15. Simplified deployment • The .NET Framework components are not referenced by the registry. In fact, installing most .NET Framework applications requires no more than copying the files to a directory and adding a shortcut to the Start menu, desktop, or Quick Launch toolbar. Uninstalling the application is as simple as deleting the files.
  • 16. Type-safe verification • Type safety ensures that allocated objects are always accessed in compatible ways. Hence, if a method input parameter is declared as accepting a 4-byte value, the CLR will detect and trap attempts to access the parameter as an 8-byte value. Similarly, if an object occupies 10 bytes in memory, the application can't coerce the object into a form that will allow more than 10 bytes to be read
  • 17. Interoperability • The .NET Framework fully supports the ability for developers to access their existing COM components as well as call Win32 functions in existing DLLs.
  • 18. Security • With the increasing reliance on mobile code such as Web scripts, applications downloaded over the Internet, and e-mail attachments, we need ways to control the behavior of applications in a more code-centric manner. Code access security provides a means to do this
  • 19. The .NET Framework is: • Common Language Runtime – provides an abstraction layer over the operating system • Base Class Libraries – pre-built code for common low-level programming tasks • Development frameworks and technologies – reusable, customizable solutions for larger programming tasks
  • 20. CLR • Using Internet Explorer to host the runtime enables you to embed managed components or Windows Forms controls in HTML documents. Hosting the runtime in this way makes managed mobile code (similar to Microsoft® ActiveX® controls) possible, but with significant improvements that only managed code can offer, such as semi-trusted execution and isolated file storage.
  • 21. The class library • The other main component of the .NET Framework, is a comprehensive, object- oriented collection of reusable types that you can use to develop applications ranging from traditional command-line or graphical user interface (GUI) applications to applications based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web services.
  • 22. Class Library (Cont.) • The Framework Class Library provides an object-oriented API set that all application models will use. It includes type definitions that allow developers to perform file and network I/O, scheduling tasks on other threads, drawing shapes, comparing strings, and so on. Of course,all of these type definitions follow the programming model set forth by the CLR
  • 23. .NET Framework in context
  • 24. Common Language Runtime (CLR) • The common language runtime is the foundation of the .NET Framework. • You can think of the runtime as an agent that manages code at execution time • Provides core services such as memory management, thread management, and remoting, while also enforcing strict type safety
  • 25. CLR • Code that targets the runtime is known as managed code, while code that does not target the runtime is known as unmanaged code • The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that can exploit both managed and unmanaged features
  • 26. CLR • For example, ASP.NET hosts the runtime to provide a scalable, server-side environment for managed code. ASP.NET works directly with the runtime to enable ASP.NET applications and XML Web services • Internet Explorer is an example of an unmanaged application that hosts the runtime (in the form of a MIME type extension).
  • 27. Consistent method failure paradigm • Exceptions work across module and programming language boundaries. And, unlike status codes and HRESULTs, exceptions can't be ignored. The CLR also provides built- in stack-walking facilities, making it much easier to locate any bugs and failures
  • 28. Automatic memory management (garbage collection) • One of the most common bugs is neglecting to free one of these resources, ultimately causing the application to perform improperly at some unpredictable time. The CLR automatically tracks resource usage, guaranteeing that your application will never leak resources
  • 29. Programming language integration • The CLR makes it possible to create a class in C++ that derives from a class implemented in Visual Basic • The CLR allows this because it defines and provides a Common Type System (CTS) that all programming languages that target the CLR must use. The Common Language Specification (CLS) describes what compiler implementers must do in order for their languages to integrate well with other languages
  • 30. Wide platform reach • You can deploy your .NET Framework application on any machine that has an ECMA- compliant version of the CLR and FCL running on it