Software Project: Software project is a collection of software programs which are developed by using some software technology to fulfill the end user requirements Eg: for s/w project: www.gmail.com
Software Program: Software program is a collection of logical instructions to the computer. Eg: for end user: All GMAIL users
Example for software technology: .NET, JAVA, PHP.....
What is .NET ? .NET is a software technology which was introduced by Microsoft in the year 2002.
Microsoft is a leading organization in IT industry.
.NET is a framework technology, which is integrating multiple technology into a single platform.
Using this technology a programmer can develop various types of applications like: Console Applications Windows Applications Web Applications Web services Mobile Applications and so on...
It is supporting for multiple languages like VB.NET, C#.NET, VC++.NET, VJ#.NET, C++.NET and so on...
NOTE: ASP.NET is not a .NET language which is a web technology using this we can develop web applications.
Histroy of .NET / Evaluation of .NET / Challenges faced by the Microsoft to introduce the .NET technology:
From 1990 t 1998 under microsoft family there were 3 technologies playing very important role in IT industry. They are: 1. VB(Visual Basic) 2. VC++ 3. ASP(Active Server Pages)
Software Applications are classified into various types, based on the application behavior, They are:
1. Windows Applications: Windows application are single user applications, these applications will not depend on internet connectivity. Ex: MS WORD 2. Web Applications: Web applications are multi-user applications, which are internet enabled applications, that means these applications will depend on internet connectivity to function. Ex: www.gmail.com
Using VB, VC++ we develop any windows apps, using ASP we develop only web applications.
These technologies are having some drawbacks like below:
1. Platform dependency: These technologies are OS dpendent technologies i.e., these technologies are only work on Windows OS. 2. Not supporting to develop multi-type of applications: Using VB & VC++ we can develop only windows applications and using ASP we can develop only web applications.
At the same time in the year 1995, Sun Micro Systems has introduced a technology called JAVA.
Sun Micro Systems and Microsoft both are the competitors in IT industry.
Java is platform independent technology, Using this technology a programmer can develop various types of applications like: Console Applications Windows Applications Web Applications Web services Mobile Applications and so on... Because of all the above advantages in JAVA., JAVA is a big hit in IT industry.
Slowly Microsoft clients are moving towards JAVA technology side.
To overcome this problem, Microsoft has announced about .NET technology, First time in the year 1998, in a meeting called PDC(Professional Developers Conference), announced about .NET technology.
From 1998 to 2002 Microsoft R & D team has designed .NET technology and finally in the year 2002 they released first version of .NET technology.
Release of .NET technology:
First release .NET Framework 1.0 2002
Second release .NET Framework 1.1 2003
Third release .NET Framework 2.0 2005
Fourth release .NET Framework 3.0 2006
Fifth release .NET Framework 3.5 2008
Sixth release .NET Framework 4.0 2010
What is .NET Framework ? .NET Framework is a important integral computer in .NET software, when we installed the .NET software this component will be installing in to our machine automatically.
DEF: ".NET frame work is a common platform for developing various types of applications like console applications, windows applications, web applications, web services, mobile applications and so on.. by using .NET supporting languages like VB.NET, C#.NET VC++.NET, VJ#.NET, C++.NET and so on.. "
.NET Frame Work Architecture: .NET frame work architecture is describing about 1. .NET supporting languages 2. The type of application which we can develop by using .NET 3. Base class libraries 4. Execution engine
.NET framework architecture is represented by using layers. Layer-1 is representing about .NET supproting languages like VB.NET, C#.NET, VJ#.NET, VC++.NET
Layer-2 is representing type of applications like windows applications, web applications, web services.
Layer-3is representing Base class libraries (BCL).
CLASS: Class is a collection of members, classes are 2 types.
1. Predefined Class:The class which is defined by Microsoft can be called as predefined class.
2. User defined Class:The class which is defined by the programmer can be called as user defined class. Class library: It is a collection of classes, class library are 2 types:
a. Base class library: BCL is a collection of predefined classes b. User defined class library: It is a collection of user defined classes
With .NET Frame work Microsoft is providing collection of base class libraries for .NET developers to reduces their task.
Whenever a programmer wants to use a base class library he can use with the help of "using" keyword below.
Here, Using is Keyword and System.Object is representing Common language run-time(CLR).
Layer-4:It is representing common language run-time(CLR).
CLR is a common execution engine for all .NET languages.
All the .NET applications has to execute with in the help of CLR.
.NET Languages: The programming languages which are supporting by .NET technology can be called as .NET supporting languages.
.NET supporting languages are classified into 2 types.
Microsoft .NET languages: The .NET languages which are introduced by Microsoft organization can be called as Microsoft .NET languages.
When we install the .NET software these Microsoft .NET languages compilers will be installing into our machines automatically.
i.e., programmer need not to worry about Microsoft .NET language compilers.
Eg: VB.NET, C#.NET, VC++.NET, C++.NET, VJ#.NET Non-Microsoft .NET languages: A .NET languages which are introduced by other than Microsoft organization can be called as Non-Microsoft .NET languages or third party .NET languages.
Whenever a programmer wants to use Non-Microsoft .NET languages he has to purchase the language compilers from the concerned organization webiste through online. Eg:COBOL.NET, Python.NET, Delphi.NET, Perl.NET .NET application execution process: For all .NET languages we have only one execution engine called CLR. i.e., any .NET language application has to execute with the help of CLR.
All the .NET language applications has to execute with the help pf CLR, because CLR is the common execution engine for all .NET languages.
CLR can understand only MSIL Code(Microsoft Intermediate language code), due to that reason for every .NET language we have one language compiler.
When we run the .NET application all the high level language code is converting by language compilers into MSIL code because CLR can understand only MSIL code.
CLR can understand MSIL code but which cannot understand by OS, OS can understand only native code due to that reason with in the CLR we have one more compiler called JIT Compiler(Just In Time).
JIT Compiler: It is converting MSIL code to native code because, OS can understand only native code.