gsingh2011,
I just thought there it would be more clear if I did it like this. I won't do it again. |
It's not a major problem, it just helps other to see where you are coming from, the other thing you could have done it to put a link back the other thread.
API
An application programming interface (API) is a set of declarations of the functions (or procedures) that an operating system, library or service provides to support requests made by computer programs. |
So in it's simpelest terms, the API is the functions that you can call as a programmer. So when we talk about Windows API, we are just talking about the group of functions that Microsoft has made available for us to use for our programs to get Windows to do what we want. If you download a library to handle file compression, the API for that library is the set of functions that allow you to use the library in your code.
.Net
The Microsoft .NET Framework...How do you describe the .NET Framework easily? The .NET Framework is not a single entity; it is a conglomeration of different parts. It is similar to Java in its concept. When you compile a program with one of the .NET languages the code is compiled into an intermediate Language called Common Intermediate Language (CIL). When the program is run buy the common runtime engine this CIL is compiled into Native code using Just-in-time compilation (JIT). The combination these concepts is referred to as the Common Language Infrastructure (CLI), and finally the implementation of the CLI, by Microsoft, is called the Common Language Runtime (CLR).
NB. Don’t get confused between
C++/CLI and
CLI,
C++/CLI is a programming language.
Another pat of the .NET framework is the Framework Class Library (FCL) for now just think of it as being similar to STL, It is full of classes that encapsulate common functions and activities, such as rendering graphics, working with files…
Another part of .NET is Windows Forms. Basically when it come to user interface development in .NET you have two choices ASP.net and Windows Forms. ASP.net is your web based stuff and Windows Forms is your local machine. So a Windows Forms Application is one that used the .NET framework and is design to run on a PC with a user interacting with the screen interface.
MFC
Microsoft Foundation Class Library (MFC) is not .NET, basically it is a framework of classes that is design to group together various Windows API calls into logical units of abstraction, so all the functions to do with managing a window on the screen are grouped together into a class to represent a window.
____
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
.NET / Managed Development │ Native / unmanaged Development
│
╔════════╗╔════════════════╗ │
║ .net ║║.Net Dev Tools ║ │
║ App ║║ C#, C++/CLI,...║ │
╚════════╝╚════════════════╝ │
╔══════════════════════════╗ │ ╔═══════════════════════╗
║ .NET Framework ║ │ ║ Widows development ║
║┌──────────────┐┌────────┐║ │ ╚═════════════╗ tools ║
║│Windows forms ││ ASP.net│║ │ ╔═══════════╗ ║C++,... ║
║└──────────────┘└────────┘║ │ ║ MFC App ║ ║ ║
║┌────────────────────────┐║ │ ╚═══════════╝ ║ ║
║│Framework Class Library │║ │ ╔═══════════╗ ║ ║
║└────────────────────────┘║ │ ║Microsoft ║ ╚═════════╝
║┌────────────────────────┐║ │ ║Foundation ║ ╔═════════╗
║│Common Language Runtime │║ │ ║Class (MFC)║ ║ ‘Pure’ ║
║└────────────────────────┘║ │ ║Library ║ ║ API App ║
╚══════════════════════════╝ │ ╚═══════════╝ ╚═════════╝
╔══════════════════════════════════════════════════════╗
║ Windows API ║
║ (windows XP, Vista…) ║
╚══════════════════════════════════════════════════════╝
╔══════════════════════════════════════════════════════╗
║ PC Hardware ║
╚══════════════════════════════════════════════════════╝
|
I think that about covers it…welcome to the world of Microsoft and the TLA...
When Microsoft first started talking about .NET, I drew a mind map
[1] of how all the bits fitted together. Maybe doing somthing similar (drawing a diagram) would help you.
HTH
[1] http://en.wikipedia.org/wiki/Mindmap