-1

I dug on the internet to try to have a clear idea of what are exactly a framework, a library, and an API.
But I still don't understand something. What is the framework/library the windows API is dealing with?

Win32 is a version of Windows API, I saw: "The core DLLs of Win32 are kernel32.dll, user32.dll, and gdi32.dll" on Wikipedia windows API page ('version' tab).
But what is the framework of these .dll? Windows? But windows is an OS, not a framework... Maybe the both but I'm confused :/.

Could someone help me? :P

2
  • I'd like to know why i got bad mark for this question so i can improve it next time/find thé good section to ask it. Sep 25, 2018 at 22:45
  • "why i got bad mark for this question" - Because it's a StackExchange website. Just like on StackOverflow, newcomers get downvoted all the time for asking otherwise completely valid questions. I'm glad that some people actually took the time to answer your question instead of downvoting for no reason. May 12 at 14:38

2 Answers 2

1

The Windows application programming interface (API) is the system programming interface to the Microsoft Windows operating system family.

Prior to the introduction of 64-bit versions of Windows XP and Windows Server 2003, the programming interface to the 32-bit version of the Windows operating systems was called the Win32 API, which distinguished it from the original 16-bit Windows API.

The Windows API consists of thousands of documented, callable subroutines such as CreateProcess, CreateFile, and GetMessage. The following are major categories of Windows API functions:

  1. Base Services: Processes, threads, memory management, file I/O, etc.
  2. Component Services: COM/COM+ support.
  3. User Graphics and Multimedia Services.
  4. Messaging and Collaboration.
  5. Networking.
  6. Web Services.

A framework is a generic structure that provides a skeleton architecture with which specific software can be implemented.

A library refers to code that provides functions that you can call from your own code to deal with common tasks.

0

Let's start with the User Interface. What's user interface? Interface, in general, is a mean of interacting with software. So user interface is something users can use to interact with software. You're accustomed to Graphical User Interface (GUI), but older computers and some modern professional software use Command Line Interface (CLI), where user can enter text commands and receive results as text, too.

There are also interfaces that aren't user interfaces, ie. they aren't intended to interact with humans. For example Network Interfaces are strictly defined means of interaction between two or more devices over a network. Ethernet adapters and Wi-Fi adapters provide network interfaces.

Then, finally, there are APIs: Application Programming Interfaces. These are interfaces exposed by one piece of software designed so that other software can interact with it. When I want to use some library, I have to learn its API, ie. what functionality it provides and how I can take advantage of it. When I want to use a framework, I have to learn its API, ie. how I can plug my custom code into the framework.

Windows (and any operating system) is a platform for running other software. Programs are started by Windows in a specific way, they can load libraries, interact with other programs, read and write files, use hardware, wait for specific events (key pressed, window losing focus etc.)... A lot of stuff, as you can see. All this stuff is more or less provided by Windows, but programs have to know how to access it. That is the Windows API.

But what is the framework of these .dll?

There's none. Stuff doesn't always belong to some framework. First computer programs didn't use any frameworks or even libraries, these were invented later to make commonly used pieces of code reusable instead of writing them over and over again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.