Windows API: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
←Pagina sostituita con 'ciao' |
Ripristino alla versione 13975276 datata 2008-02-08 06:43:17 di Alexbot tramite popup |
||
Riga 1:
Per '''Windows API''' si intende l’insieme delle interfacce di programmazione (in [[lingua inglese|inglese]] ''[[application programming interface]]'' o API) disponibili nei [[sistema operativo|sistemi operativi]] [[Microsoft Windows|Windows]] di [[Microsoft]]. Per utilizzare le Windows API Microsoft fornisce gratuitamente il ''Platform [[Software development kit|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 [http://www.ecma-international.org/publications/standards/Ecma-234.htm 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 [[Advanced Micro Devices|AMD]].
== Struttura delle Windows API ==
Le API consistono in un insieme di [[funzione (informatica)|funzioni]] in [[linguaggio C]] implementate in ''librerie a collegamento dinamico'' (in inglese ''[[Dynamic-link library|Dynamic-link libraries]]'' o DLL).
Le Windows API, nonostante siano scritte, per ragioni di prestazioni, in un mix di linguaggio C e [[assembler]], presentano un complesso modello [[object oriented|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 [[Windows NT|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 citiamo [[WINE]] per emulare le Windows API nei sistemi di tipo [[Unix]], e [[ReactOS]] che mira a clonare l’intero sistema operativo.
== 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 [[Libreria software|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:
* [[Microsoft Foundation Classes]] (MFC), libreria in C++ molto utilizzata che però ha un livello di astrazione ridotto.
* [[Object Windows Library]] (OWL), libreria in C++ di [[Borland]] con un maggiore livello di astrazione.
* [[Active Template Library]] (ATL), libreria in C++ basata su [[template]] di Microsoft.
* [[Windows Foundation Classes]] (WFC), libreria per [[Linguaggio_di_programmazione_Java|Java]] non più utilizzata in seguito alla causa giudiziaria intentata da [[Sun Microsystems]] a Microsoft.
* [[Framework .NET|.NET framework]], libreria di Microsoft indipendente dal linguaggio perché destinata ai [[compilatore|compilatori]] [[Common Language Runtime|CLR]].
== Il futuro delle Windows API ==
La storia delle Windows API è a un bivio: nelle intenzioni di Microsoft dovrebbe lasciare il posto alla libreria .NET grazie in particolare al nuovo componente [[Windows Presentation Foundation]], disponibile nella versione 3.0 del Framework .NET.
== Voci correlate ==
* [[DirectX]]
* [[Component Object Model]] (COM)
== Collegamenti esterni ==
* [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sdkintro/sdkintro/devdoc_platform_software_development_kit_start_page.asp Microsoft Platform SDK]
[[Categoria:Microsoft Windows]]
[[Categoria: Librerie software]]
[[be-x-old:Windows API]]
[[cs:Windows API]]
[[da:Windows API]]
[[de:Windows Application Programming Interface]]
[[el:Διεπαφή Windows]]
[[en:Windows API]]
[[es:API de Windows]]
[[fr:Windows API]]
[[ja:Windows API]]
[[ko:윈도 API]]
[[lt:Windows API]]
[[ms:Windows API]]
[[pl:Windows API]]
[[ru:Windows API]]
[[uk:Windows API]]
[[zh:Windows API]]
|