Multiplattform

Begrepet multiplattform i informatikk kan referere til et programmeringsspråk , en programvareapplikasjon eller en maskinvareenhet som fungerer på mer enn ett system eller plattform (f.eks . Unix / Linux , Windows og Macintosh ). [1] Eksempler på kryssplattformspråk er: C , C ++ , Java , JavaScript , Perl , PHP , Python , Tcl , Erlang og REALbasic .

Programmeringsspråk og applikasjoner

Mange datamaskinspråk på høyt nivå er av natur på tvers av plattformer, siden de er definert for en abstrakt maskin (se abstrakt maskin C, den virtuelle maskinen til Java og andre språk).

For mange oppgaver er det imidlertid nødvendig for programmet å referere til APIer som er forskjellige på forskjellige operativsystemer (vindusbehandling, maskinvaretilgang , multithreading- funksjoner osv ...). For eksempel, selv om C ++ i seg selv er på tvers av plattformer, vil et program skrevet for Windows som bruker Win32 API vanligvis ikke klarer å kompilere selv på et Unix -system , ettersom API-ene som gjør de samme funksjonene tilgjengelige på Unix er skrevet på annen måte.

En vanlig løsning er å lage et mellomliggende API, implementert i et bibliotek som i seg selv er bærbart , og deretter implementert på en annen måte for de forskjellige plattformene (holder grensesnittet uendret). Programkoden er knyttet til dette biblioteket. Et typisk eksempel er det for grafiske brukergrensesnitt ( GUI ).

Mange språk tilbyr en plattform som består av vanlige biblioteker (standardbiblioteker ), som tillater en større eller mindre dekning av de typiske behovene til et program .

Et annet problem er at et språk kanskje ikke spesifiserer oppførselen til en bestemt syntaks; i dette tilfellet avhenger den faktiske oppførselen av den spesifikke implementeringen som er i bruk ved kjøretid , og dette gjør det mulig å skrive et program hvis korrekte funksjon er basert på en av disse spesifikke atferdene (med den konsekvens at programmet ikke er portabelt).

Videre, for noen språk, respekterer forskjellige kompilatorer forskjellig eller ufullstendig spesifikasjonene til selve språket; i disse tilfellene kan det være nødvendig å være mer forsiktig med å skrive kildekoden til et program før du kompilerer den på flere systemer.

Begrensninger og løsninger

Siden det er praktisk talt umulig å tilby og teste kompilerte versjoner av et program for hvert OS og hver CPU , kan prosjekter som er gratis ( open source ), eller som på annen måte lar brukeren kompilere sin egen kildekode , betraktes som mer tverrplattform . På samme måte er språk som tolkes eller krever en virtuell maskin mer på tvers av plattformer når hvem som helst kan kompilere det. Hotspot , Oracle Corporations virtuelle Java - maskin , leveres kun i form av forhåndskompilerte binærfiler , med støtte for flere plattformer ( men ikke alle , ikke engang potensielt). Sun støtter for eksempel bare GNU/Linuxi386 (og delvis AMD64 )-arkitekturen, slik at alle som kjører Linux på en PowerPC- eller SPARC -datamaskin ikke kan bruke Java, bortsett fra ved å kompilere til det opprinnelige maskinspråket eller bruke tredjepartsverktøy.

Mange APIer er spesifikke for en enkelt plattform. På den annen side kan OpenGL sies å være multiplattform fordi den ikke er knyttet til et bestemt operativsystem, CPU-arkitektur eller merkevare for grafikkmaskinvare. API-er knyttet til en enkelt plattform kan gjenskapes på andre systemer ved å lage et kompatibilitetslag, for eksempel WINE -bibliotekene , som lar programmer som krever Windows -biblioteker kjøre på UNIX.

Det finnes også utvidelser på tvers av plattformer og mellomvare for mange programmeringsspråk som lar programmerere kompilere og kjøre den samme kildekoden med minimal justering på forskjellige plattformer. Noen eksempler er Qt og wxWidgets .

Multiplattform og nett

Nettapplikasjoner kan vanligvis brukes fra hvilken som helst plattform med hvilken som helst nettleser , uten å bekymre deg for språket de ble skrevet på. Dette er sant fordi koden kjører på en server ( serversideapplikasjon ) og kommunikasjon med brukeren skjer kun gjennom HTTP og ( X ) HTML .

Nettsider kalles noen ganger multiplattformer eller kryss-nettlesere hvis de kan brukes av en hvilken som helst nettleser, eller av alle nyere nettlesere . Å produsere gyldig kode til forfatteren krever ofte en erfaring for å "temme" lunkene til enkelte nettlesere som ikke er i samsvar med standarder , for eksempel Internet Explorer .

En nettside som inneholder noe som ikke kan tolkes av alle nettlesere, for eksempel Macromedia Flash -filmer , er fortsatt på tvers av plattformer hvis den er navigerbar selv for de som ikke har den spesielle plugin- en . For eksempel ved å legge til bilder for å erstatte et multimedieinnhold.

Netttilgjengelighet på tvers av plattformer krever kunnskap om tekniske standarder hvis en side er tilgjengelig fra ulike systemer som skjermlesere , punktskriftbaserte nettlesere og små enheter som mobiltelefoner og PDAer .

Merknader

  1. ^ Betydningen av Cross platform , på ehiweb.it . Hentet 10. august 2020 .

Relaterte elementer