Multipiattaforma
Multipiattaforma può essere detto di un linguaggio di programmazione, di un'applicazione software o di un dispositivo hardware che funziona su più di un sistema o, appunto, piattaforma (es. Unix/Linux, Windows e Macintosh). Esempi di linguaggi multipiattaforma sono: C, C++, Java, JavaScript, Perl, PHP, Python, Tcl, Erlang e REALbasic.
Molti linguaggi informatici sono per loro stessa natura multipiattaforma - poiché per un sistema ad alto-livello e comprensibile all'essere umano di istruire una CPU non c'è bisogno di dipendere strettamente da un particolare sistema operativo. Comunque, per fare cose del tipo creare una interfaccia grafica (GUI) usando il sistema dei widget, un programma fa linking a delle librerie che potrebbero essere specifiche per il sistema sul quale lo sviluppatore lavora. Sebbene il C++ di per sé è multipiattaforma, un programma scritto per Windows che usa le API di Win32, ad esempio, solitamente non riuscirà ad essere compilato anche su un sistema Unix. Ci sono poi parecchie differenze su come gli sviluppatori dei vari compilatori interpretano le specifiche di un determinato linguaggio; in questi casi un programma potrebbe richiedere qualche accortezza in più prima di essere compilato su più sistemi.
Alcuni linguaggi di programmazione come Java sono stati disegnati per funzionare su ogni piattaforma che potesse usufruire di una virtual machine. Questi linguaggi, che usano il bytecode come rappresentazione compilata oppure che interpretano script direttamente, non hanno bisogno di essere compilati per un particolare sistema operativo. Le librerie native del sistema operativo non sono legate al codice distribuito, bensì l'ambiente run time reimplementa molte delle stesse funzionalità o fornisce una connessione comune tra funzioni analoghe sui differenti sistemi. È possibile però creare applicazioni Java che "girano" solo su un particolare sistema, usando JNI o usando un compilatore bytecode-a-linguaggio_macchina (bytecode-to-machinecode); ciò non è necessario nella maggior parte dei casi.
Poiché fornire e collaudare versioni compilate di un programma per ogni OS ed ogni CPU è praticamente impossibile, i progetti di software libero (o open source), o che altrimenti permettono all'utente di compilare il proprio object code, possono essere considerati più multipiattaforma. Allo stesso modo, i linguaggi interpretati o che richiedono una virtual machine sono più multipiattaforma quando ognuno può compilarsela. Hotspot, la virtual machine di Java della Sun Microsystems, è fornita solo sotto forma di binari precompilati, con supporto per parecchie piattaforme (ma non tutte, nemmeno potenzialmente). Per esempio, Sun supporta GNU/Linux solo sull'architettura i386 (e parzialmente AMD64) così che chiunque ha Linux su un PowerPC o su computer SPARC non può utilizzare Java, se non compilando nel linguaggio macchina nativo oppure utilizzando strumenti di terzi.
Molte 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 Windows di poter funzionare su UNIX.
Ci sono anche estensioni multipiattaforma e middleware per molti linguaggi di programmazione che permettono ai programmatori di compilare e fari girare lo stesso codice sorgente con minimi ritocchi su piattaforme differenti. Alcuni esempi sono le Qt e le wxWidgets.
Multipiattaforma e Web
Le applicazioni Web sono normalmente utilizzabili da ogni piattaforma con qualsiasi web browser, senza preoccuparsi del linguaggio col quale sono state scritte. Ciò è vero perché il codice gira su un server e la comunicazione con l'utente avviene soltanto attraverso l'HTTP e l'(X)HTML.
Le 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, 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. 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 telefoni cellulari e PDA.