API-ul Windows
API -urile Windows sunt setul de interfețe de programare (în engleză interfața de programare a aplicațiilor sau API) disponibile în sistemele de operare Windows ale Microsoft . Pentru a utiliza API-ul Windows, Microsoft oferă gratuit Platform SDK , acum evoluat în Windows SDK mai modern , care unifică Platform SDK-ul cu .NET Framework SDK (la rândul său, dedicat mediului .NET). Platforma SDK (Windows SDK) este o colecție de instrumente și documentație care trebuie combinată cu un compilator în limbaj C.
Versiuni API Windows
API-ul Windows poate fi împărțit în următoarele grupuri:
- Win16 , versiunea inițială pe 16 biți a API-ului Windows, ale cărei specificații sunt disponibile și ca standard ECMA cu codul ECMA-234 .
- Win32 , evoluție pe 32 de biți pentru versiunile moderne de Windows.
- Win32s , un subset de Win32 care urmează să fie instalat pe versiuni de Windows pe 16 biți pentru a rula aplicații compilate pe 32 de biți.
- Win64 , o evoluție pe 64 de biți pentru versiunile de Windows destinate noilor procesoare pe 64 de biți de la Intel și AMD .
- WinRT , noua API pentru aplicații universale pentru PC, tabletă, smartphone, Hololens .
Structura API Windows
API-urile constau dintr-un set de funcții ale limbajului C implementate în biblioteci de link - uri dinamice (în engleză biblioteci de link-uri dinamice sau DLL).
API-ul Windows, în ciuda faptului că a fost scris, din motive de performanță, într-un amestec de limbaj C și asamblare , are un model complex orientat pe obiecte , cu o structură foarte uniformă și un stil care a fost o inspirație pentru multe alte proiecte.
Structura de bază a API-ului Windows a rămas aproape neschimbată de la Windows 1.0 până în prezent. Există trei grupuri principale de API-uri: kernel , GDI și user .
Kernel API
API-urile kernel oferă aplicațiilor o interfață de nivel înalt pentru serviciile kernel ale sistemului de operare (managementul memoriei, managementul proceselor, sincronizare etc.). Pe versiunile Windows 1.0 până la Windows 4.9 ( Windows Me ), multe dintre aceste API-uri sunt doar apeluri la servicii furnizate de întreruperi software MS-DOS . Pe sistemele cu nuclee NT , aceste API-uri efectuează apeluri către API-urile de nivel scăzut ale NT, numite API nativ .
GDI API
API- urile Graphics Device Interface ( GDI ) alcătuiesc biblioteca grafică a sistemelor Windows. GDI virtualizează toate dispozitivele grafice (monitoare, imprimante, plottere) pentru a avea o interfață omogenă (numită Device Context ) între diferitele tipuri de dispozitive. În plus, GDI vă permite să creați și să manipulați o serie de obiecte grafice, inclusiv fonturi , pixuri, pensule, hărți de biți etc.
Utilizator API
API -ul utilizatorului (din interfața utilizator ) oferă servicii de interfață grafică, bazate pe conceptele de „fereastră” și „mesaj”.
Implementări non-Microsoft
Deși implementarea API-ului Windows este supusă dreptului de autor , există implementări proprietare ale altor producători și, de asemenea, mai multe proiecte open source , inclusiv WINE pentru a emula API-ul Windows în sisteme similare Unix și ReactOS care își propune să creeze un întreg sistem de operare compatibil cu API-ul Windows și capabil să execute în mod nativ programe scrise pentru acesta.
Biblioteci de nivel superior
Stratificarea de-a lungul timpului a noilor funcții, nevoia de compatibilitate completă cu înapoi și cantitatea totală enormă de funcții disponibile (până în prezent câteva mii) au făcut ca programarea Windows cu API-uri să fie dificilă și nepotrivită pentru standardele acceptate astăzi. Din acest motiv, de-a lungul timpului s-au născut multe biblioteci (în limbaje precum C++ și altele) care propun un model obiect mai abstract și mai ușor de utilizat, transformând efectiv API-ul Windows într-o interfață de nivel scăzut.
Exemple de biblioteci care încapsulează API-ul Windows sunt:
- Microsoft Foundation Classes (MFC), o bibliotecă C++ utilizată pe scară largă, dar care are un nivel redus de abstractizare.
- Object Windows Library (OWL), biblioteca Borland C ++ cu un nivel mai ridicat de abstractizare.
- Active Template Library (ATL), o bibliotecă C++ bazată pe șabloane de la Microsoft.
- Windows Foundation Classes (WFC), bibliotecă pentru Java care nu mai este utilizată în urma procesului intentat de Sun Microsystems împotriva Microsoft.
- .NET framework , o bibliotecă independentă de limbajul Microsoft, deoarece este destinată compilatoarelor CLR .
Viitorul API-ului Windows
De-a lungul anilor, API-ul Windows din intenția Microsoft a trebuit să cedeze loc bibliotecii .NET datorită în special componentei Windows Presentation Foundation , disponibilă în versiunea 3.0 a .NET Framework. De fapt, unele proiecte, precum Singularity of the Microsoft Research laboratories , au experimentat cu noi sisteme de operare complet bazate pe noul tip de kernel complet scris cu cod gestionat bazat pe .NET, abandonând astfel arhitectura veche bazată pe Windows API. Dar odată cu apariția smartphone-urilor și a tabletelor în ultimii ani, Microsoft a preferat să introducă un nou set de api numit WinRT pentru dezvoltarea de aplicații, cu toate standardele de aplicație, cod care poate fi folosit pe mai multe arhitecturi atât pe 32, cât și pe 64 de biți. , cu sandbox si cu interfete adaptabile la orice tip de dispozitiv.
Articole înrudite
Link- uri externe
- Microsoft Platform SDK , la msdn.microsoft.com .
- Introducere în API-ul Windows , pe negsweb.it .