Multipiattaforma: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: Aggiungo az:Cross platform |
Nessun oggetto della modifica |
||
Riga 1:
{{F|informatica|gennaio 2010}}
In [[informatica]] il termine '''
==Linguaggi di programmazione e applicazioni==
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]] (gestione delle finestre, accesso allo ''[[hardware]]'', funzioni per il ''[[multithreading]]''
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]]).
Molti linguaggi offrono una piattaforma costituita da librerie comuni (''librerie standard''), che permettono una copertura maggiore o minore delle esigenze tipiche di un programma.▼
▲Molti linguaggi offrono una piattaforma costituita da librerie comuni (''librerie standard''), che permettono una copertura maggiore o minore delle esigenze tipiche di un [[programma (informatica)|programma]].
Un altro problema è dato dal fatto che un linguaggio può ''non specificare'' il comportamento di una certa sintassi; in questo caso, il comportamento effettivo dipende dalla implementazione specifica in uso a [[tempo di esecuzione]], e ciò rende possibile scrivere un programma il cui corretto funzionamento si fondi su uno di questi comportamenti specifici (con la conseguenza che il programma non risulta portabile).
Riga 14 ⟶ 16:
==Limiti e soluzioni==
Poiché fornire e [[Collaudo del software|collaudare]] versioni compilate di un programma per ogni [[Sistema operativo|OS]] ed ogni [[CPU]] è praticamente impossibile, i progetti di [[software libero]] ([[open source]]), o che altrimenti permettono all'utente di compilare il proprio ''
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 fari girare lo stesso [[codice sorgente]] con minimi ritocchi su piattaforme differenti. Alcuni esempi sono le [[Qt (toolkit)|Qt]] e le [[wxWidgets]].
==Multipiattaforma e Web==
Le [[Applicazione web|applicazioni Web]] sono normalmente utilizzabili da ogni piattaforma con qualsiasi [[Browser|web browser]], senza preoccuparsi del linguaggio col quale sono state scritte. Ciò è vero perché il codice gira su un [[server]] (applicazione [[lato server]]) e la comunicazione con l'utente avviene soltanto attraverso l'[[Hyper Text Transfer Protocol|HTTP]] e l'([[XHTML|X]])[[HTML]].
Le [[Pagina web|pagine web]] si dicono talvolta multipiattaforma o ''cross-browser'' se possono essere utilizzate da qualunque browser, o da tutti i browser recenti. Per produrre codice valido all'autore spesso occorre un'esperienza tale da "domare" le bizzarrie di alcuni browser poco conformi agli [[standard (informatica)|standard]], come [[Internet Explorer]].
Una [[pagina web]] contenente qualcosa non interpretabile da tutti i browser come i filmati [[Macromedia Flash]] è ancora multipiattaforma se è navigabile anche da chi non possiede lo speciale [[plugin (informatica)|plugin]]. Per esempio, con l'aggiunta di immagini a sostituire un contenuto multimediale.
L'accessibilità web multipiattaforma richiede la conoscenza di standard tecnici, se una pagina è accessibile da vari sistemi come [[screen reader]], browser basati sul [[Braille]] e piccoli dispositivi come [[Telefono cellulare|telefoni cellulari]] e [[palmare|PDA]].
|