Multipiattaforma: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m corretta la frase accesso all'hardware
m Corretto fari girare in far girare
Etichette: Nowiki inseriti da dispositivo mobile Modifica visuale
Riga 5:
Molti linguaggi informatici ad [[linguaggio di programmazione ad alto livello|alto livello]] sono per loro stessa natura multipiattaforma, poiché sono definiti per una macchina astratta (cfr. la macchina astratta C, la [[macchina virtuale]] del Java e di altri linguaggi).
 
Tuttavia, per numerosi compiti, è necessario che il programma faccia riferimento a delle [[Application programming interface|API]] che sono diverse sui diversi [[sistema operativo|sistemi operativi]]<nowiki> (gestione delle finestre, accesso all' </nowiki>''[[hardware]]'', funzioni per il ''[[multithreading]]'' ecc...). Ad esempio, sebbene il C++ di per sé sia multipiattaforma, un programma scritto per [[Microsoft Windows|Windows]] che usa le [[Application programming interface|API]] di [[Win32]], solitamente non riuscirà ad essere [[compilazione|compilato]] anche su un sistema [[Unix]], in quanto le API che rendono disponibili quelle stesse funzionalità su Unix sono scritte diversamente.
 
Una soluzione comune è quella di realizzare una API intermedia, implementata in una [[libreria (informatica)|libreria]] che sia a sua volta [[portabilità|portabile]], e quindi implementata in modo diverso per le diverse piattaforme (mantenendo invariata l'interfaccia). Il codice del programma viene ''[[linking|linkato]]'' a questa libreria. Un esempio tipico è quello delle [[Interfaccia grafica|interfacce grafiche]] ([[GUI]]).
Riga 20:
Molte [[Application programming interface|API]] sono specifiche per una singola piattaforma. Si può dire che le [[OpenGL]] siano invece multipiattaforma perché non sono legate a un particolare sistema operativo, architettura CPU o marca di hardware grafico. API legate a una sola piattaforma possono essere ricreate sugli altri sistemi creando un livello di compatibilità, come ad esempio le librerie [[WINE]], che consentono ai programmi che richiedono le librerie di [[Microsoft Windows|Windows]] di poter funzionare su UNIX.
 
Ci sono anche estensioni multipiattaforma e [[middleware]] per molti linguaggi di programmazione che permettono ai [[programmatore|programmatori]] di compilare e farifar girare lo stesso [[codice sorgente]] con minimi ritocchi su piattaforme differenti. Alcuni esempi sono le [[Qt (toolkit)|Qt]] e le [[wxWidgets]].
 
==Multipiattaforma e Web==