Hoppa till innehÄllet

Multiplattform

FrÄn Wikipedia
(Omdirigerad frÄn Multi-plattform)
Mozilla Firefox version 24 i Ubuntu 13.

Ett datorprogram kallas multiplattform om det kan köras pÄ flera operativsystem.

I allmÀnhet skrivs datorprogram avsedda att vara multiplattform med hjÀlp av en utvecklingsmiljö eller ett programbibliotek avsett att stöda flera plattformar. Ofta mÄste ÀndÄ hÀnsyn tas till alla de stödda plattformarnas speciella drag. Stor vikt mÄste fÀstas vid att inte implicit utnyttja funktioner eller egenheter specifika för nÄgon viss plattform.

Program skrivna i sprÄk som Java kompileras till plattformsoberoende bytekod och kan dÀrmed köras pÄ alla plattformar som kan tolka denna. Oberoendet grundar sig pÄ att programmen körs i en vÀldefinierad virtualmaskin, som tillhandahÄlls tillsammans med bytekodstolken. C# fungerar i princip pÄ samma sÀtt, men sjÀlva virtualmaskinen Àr inte avsedd att fungera annat Àn i Windows.

Program skriva i skriptsprÄk som Perl, Python eller Ruby kompileras eller tolkas vid varje körning och kan dÀrmed köras pÄ alla system som har stöd för dessa. MÄnga sÄdana program gör antaganden om sin omgivning som inte uppfylls bara för att en tolk för sprÄket Àr installerad. I praktiken Àr skripten ofta skrivna till exempel för Unix-liknande system.

Program skrivna i sprÄk sÄsom C, C++, Pascal eller Fortran, avsedda att kompileras skillt mÄste kompileras om för varje ny plattform programmet skall köras pÄ. Programkoden anvÀnder ofta systemanrop eller programbibliotek som Àr bundna till en viss plattform, dÄ mycket mindre funktionalitet i allmÀnhet inkluderats i sjÀlva sprÄket Àn vad som Àr fallet för till exempel Perl.

Innan plattformsberoende program kan kompileras och köras mÄste de dÀrför ofta portas, sÄ att systemspecifika funktioner ersÀtts med motsvarande kod för den nya plattformen. Om programmet strikt hÄllit sig till vÀldefinierade plattformsoberoende standarder och programbibliotek som finns tillgÀngliga pÄ mÄnga plattformar (eller lÀtt kan portas), utom i klart avskilda delar, och undvikit implicita antaganden om exempelvis filtrÀdets struktur Àr portningsarbetet relativt enkelt (till exempel frÄn en Unix-variant till en annan kan omkompilering rÀcka).

Plattformsberoende

[redigera | redigera wikitext]

Plattformsoberoende innebÀr att ett datorprogram, ett programmeringsgrÀnssnitt (API) eller en hÄrdvara Àr planerat att fungera oberoende av plattform.

Ett exempel pÄ plattformsoberoende programsprÄk Àr Java.

Graden av oberoende varierar. Ofta Àr avsikten att stöda en viss grupp av plattformar genom att följa standarder och konventioner gemensamma för dessa, och att skriva kÀllkod eller specifikationer sÄ att Portering till (respektive implementering för) en ny plattform blir sÄ lÀtt som möjligt.