Category of Programmers
- System Programmers – One who programs directly for a given hardware eg: Device Drivers or extremely low-level o/p services.
- Application Programmers – One who programs applications used by people for their requirements – eg: Calculator, Calendar, MS-Office like packages, Accounting Packages etc…
- .NET is for Application programming and not for System programming.
- Platform is an environment for developing and executing the application.
- The framework is ready to use a collection of Classes and Interfaces used for developing a particular type of application.
What is? Net?
- MS.Net is a Framework built on open internet protocols & standards with tools and services that meld computing and communication in new ways
- It’s an environment for developing and running software applications featuring ease of development of web-based services, rich standard runtime services available to components written in a variety of programming languages & provides interlanguage & inter machine inoperability
- MS.NET Framework Runtime
- Used for both Development and Production of .NET applications
- MS.NET Framework SDK
- Mostly used only for Development of .NET application
- Visual Studio.NET
- IDE and RAD Tool for Developing .NET applications
- Not needed on a Production machine
- A common environment for multiple languages like VB.NET, C#, VC++
- Can be used any type of MS.NET Application
- Can be used also for non .net based applications like PHP pages. For this, we need a plug-in to be installed over Studio.
The Core of .NET Framework
2.Framework / Base Class Library
- Provides the core functionality:
- ASP.NET, Web Services, ADO.NET, Windows Forms, IO, XML, etc.
3.Common Language Runtime
- Garbage collection
- Language integration
- Multiple versioning support (no more DLL hell!)
- Integrated security
TYPES OF MS.NET APPLICATION
1.Console Based Applications (e.g. Compiler)
2.Windows GUI Application using WinForms
3.GUI Rich Windows Application (WPF)
5.ASP.NET Web Applications (ASPX / MVC)
6.SOA using WCF
7.Mobile / Smart Device Applications
Base Class Library?
The .NET base class library is a collection of object-oriented types and interfaces that provide object models and services for many of the complex programming tasks we routinely face during application development
Base Class Library – Advantages
- Language Independent.
- Completely Object Oriented.
- Most of the types presented by the .NET base class library are fully extensible, allowing you to build types that incorporate your own functionality
- Packaged with .NET Framework in the form of DLL files.
- Well optimized for performance
Base Class Library includes
1.Data types, conversions, formatting
2..Collections: ArrayList, Hashtable, etc.
3.Globalization: Cultures, sorting, etc.
4.I/O: Binary and text streams, files, etc.
5.Networking: HTTP, TCP/IP sockets, etc.
6.Reflection: Metadata and IL emit
7.Security: Permissions, cryptography
8.Text: Encodings, regular expressions
What is Namespace?
- A namespace is a logical collection of classes and other types with a unique name.
- The structure of the namespace is like a tree where all the related classes are like leaves
- All BCL begin with the namespace “System”.
PE – Portable Executable
- Is a Microsoft Win32 compatible format file for.Net applications which contain the MSIL code and Metadata in binary form.
- It has the extension.EXE or.DLL
- PE is based on all Win32 platforms compatible COFF (Common Object File Format) specification.
- It stands for Microsoft Intermediate Language.
- MSIL instructions are platform-independent instructions.
- MSIL is an intermediate instruction set which is independent of processor and hardware.
- Metadata describes every type and member defined in your code in a language-neutral manner
Metadata stores the following information:
- Description of the assembly
- Name, Version, Culture, Public Key
- Exported Types
- Other Assemblies that this assembly is dependent upon
Description of types.
- Name, Visibility, a base class and interface implemented
- Members – Fields, Properties, Methods, events and nested types
- Attributes: Additional descriptive elements that modify types and members
- Code that targets the CLR is referred to as managed code
- All managed code has the features of the CLR
- Cross-language integration
- Cross-language exception handling
- Managed code is represented in special Intermediate Language (IL)
2.Vastly simplified development.
3.Seamless integration of the code written in various languages.
4.Evidence-based security with code identity.
5.An assembly-based deployment that eliminates DLL Hell.
6.Side-by-side versioning of reusable components.
7.Code reuse through implementation inheritance.
8.Automatic object lifetime management.
Components in CLR
2.Common Type System (CTS)
3.Automatic Memory Management
8.Interoperate with COM Components and DLLs
Common Type System
1. The Common Type System defines how types are declared, used, and managed in the runtime, and is also an important part of the runtime’s support for cross-language integration, type safety and high-performance applications.
- Supported Types