Windows Api: Interfacce di programmazione disponibili nei sistemi operativi Windows di Microsoft

Le Windows API sono l'insieme delle interfacce di programmazione (in inglese application programming interface o API) disponibili nei sistemi operativi Windows di Microsoft.

Per utilizzare le Windows API Microsoft fornisce gratuitamente il Platform SDK, ora evolutosi nel più moderno Windows SDK che unifica il Platform SDK con il .NET Framework SDK (dedicato a sua volta all'ambiente .NET). Il Platform SDK (Windows SDK) è una raccolta di strumenti e documentazione da abbinare ad un compilatore di linguaggio C.

Versioni delle Windows API

Le Windows API si possono dividere nei seguenti gruppi:

  • Win16, versione iniziale a 16 bit delle Windows API, le cui specifiche sono disponibili anche come Standard ECMA con codice ECMA-234.
  • Win32, evoluzione a 32 bit per le versioni moderne di Windows.
  • Win32s, sottoinsieme di Win32 da installare sulle versioni di Windows a 16 bit per eseguire applicazioni compilate a 32 bit.
  • Win64, evoluzione a 64 bit per le versioni di Windows destinate ai nuovi processori a 64 bit di Intel e AMD.
  • WinRT, nuove api per le app universali per PC, Tablet, Smartphone, Hololens.

Struttura delle Windows API

Le API consistono in un insieme di funzioni in linguaggio C implementate in librerie a collegamento dinamico (in inglese Dynamic-link libraries o DLL).

Le Windows API, nonostante siano scritte, per ragioni di prestazioni, in un mix di linguaggio C e assembly, presentano un complesso modello orientato agli oggetti con una struttura molto uniforme ed uno stile che è stato di ispirazione per molti altri progetti.

La struttura di base delle Windows API è rimasta pressoché invariata da Windows 1.0 ad oggi. Vi sono tre gruppi principali di API: kernel, GDI e user.

API Kernel

Le API kernel forniscono alle applicazioni un'interfaccia di alto livello ai servizi del kernel del sistema operativo (gestione della memoria, dei processi, sincronizzazione, ecc.). Sulle versioni di Windows dalla 1.0 a Windows 4.9 (Windows Me) molte di queste API sono semplicemente dei richiami ai servizi forniti dagli interrupt software di MS-DOS. Sui sistemi con kernel NT, queste API effettuano delle chiamate alle API di basso livello di NT, chiamate Native API.

API GDI

Le API GDI (Graphics Device Interface) costituiscono la libreria grafica dei sistemi Windows. GDI virtualizza tutti i dispositivi grafici (monitor, stampanti, plotter) in modo da avere un'interfaccia omogenea (chiamata Device Context) tra le differenti tipologie di dispositivi. Inoltre GDI permette di creare e manipolare una serie di oggetti grafici, tra cui font, penne, pennelli, bitmap, ecc.

API User

Le API user (da user interface) forniscono i servizi di interfaccia grafica, basati sui concetti di "finestra" e di "messaggio".

Implementazioni non Microsoft

Sebbene l'implementazione delle API di Windows sia soggetta a copyright, vi sono delle implementazioni proprietarie di altri produttori e anche diversi progetti open source fra i quali WINE per emulare le Windows API nei sistemi di tipo Unix, e ReactOS che mira a creare un intero sistema operativo compatibile con le Windows API e in grado di eseguire nativamente programmi scritti per esso.

Librerie a più alto livello

La stratificazione nel tempo di nuove funzionalità, la necessità di avere una completa retrocompatibilità e l'enorme mole complessiva di funzioni disponibili (ad oggi diverse migliaia) ha reso la programmazione di Windows con le API ostica e inadatta agli standard oggi accettati. Per questo sono nate nel tempo molte librerie (in linguaggi come C++ e altri) che propongono un modello ad oggetti più astratto e semplice da usare, trasformando di fatto le Windows API in un'interfaccia di basso livello.

Esempi di librerie che incapsulano le Windows API sono:

Il futuro delle Windows API

Durante gli anni le Windows API nelle intenzioni di Microsoft dovevano lasciare il posto alla libreria .NET grazie in particolare al componente Windows Presentation Foundation, disponibile nella versione 3.0 del Framework .NET. Alcuni progetti infatti, come Singularity dei laboratori di Microsoft Research, sperimentavano nuovi sistemi operativi completamente basati sul nuovo tipo di kernel completamente scritto con codice gestito basato su .NET, abbandonando quindi la vecchia architettura basata su Windows API. Ma con l'avvento degli smartphone e dei tablet degli ultimi anni, Microsoft ha preferito introdurre un nuovo set di api chiamato WinRT per lo sviluppo di app, con tutti gli standard delle app, codice utilizzabile su più architetture sia a 32 che a 64 bit, con sandbox e con interfacce adattabili ad ogni tipo di dispositivo.

Voci correlate

Collegamenti esterni

Windows Api: Versioni delle Windows API, Struttura delle Windows API, Implementazioni non Microsoft  Portale Microsoft: accedi alle voci di Wikipedia che trattano di Microsoft

Tags:

Windows Api Versioni delle Windows APIWindows Api Struttura delle Windows APIWindows Api Implementazioni non MicrosoftWindows Api Librerie a più alto livelloWindows Api Il futuro delle Windows APIWindows Api Voci correlateWindows Api Collegamenti esterniWindows Api.NET FrameworkApplication programming interfaceCompilatoreLingua ingleseLinguaggio CMicrosoftMicrosoft WindowsSistema operativoSoftware development kit

🔥 Trending searches on Wiki Italiano:

Alessandro Del PieroWilliam, principe del GallesYouTubeLudwig WittgensteinL'isola dei famosiG7Intesa SanpaoloPartigianoArtem DovbykDiabolik (film 2021)Gianluigi BuffonPanico nello stadioZendayaClub 27Gianna NanniniGigi SabaniCittà del mondo per popolazioneČernobyl'Chicago Fire (serie televisiva)Vittorio Emanuele II di SavoiaGenerazione YAngela LansburyMike FaistRonaldoRoma città apertaMasterChef Italia (dodicesima edizione)VittorianoPatrizia GarganeseButch Cassidy (film)Operazione Menai BridgePaolo MaldiniRafael NadalDiego Armando MaradonaSerena WilliamsBomba all'idrogenoPartito Comunista ItalianoLuca GuadagninoDavid (Michelangelo)IliadPiero CalamandreiPaulo DybalaFranco ScoglioHamasSamuele LongoInterstellarMarco BrescianiniDisastro di Černobyl'Glass (film 2019)Il maresciallo RoccaAntonio ScuratiPresidenti della Repubblica ItalianaWalton GogginsRegioni d'ItaliaMike TysonGaleazzo CianoRubén DouglasBradley CooperElla PurnellDisastro aereo delle AndeAntonella ClericiGregory PeckEnrico MentanaNicolò BarellaBasilica di San PetronioFootball Club Internazionale MilanoEpisodi di One PieceGianni RiveraOne Day (film)La casa nella prateriaEndless Love (serial televisivo)Jannik SinnerAlbaniaStefano Rosso (imprenditore)Modena City RamblersVictoria Jiménez KasintsevaMarianna MorandiFantastico (programma televisivo)Diana SpencerBaby boomer🡆 More