Cross-platform

Cross- platform ( cross-platform ) - softwares evne til at arbejde med flere hardwareplatforme eller operativsystemer . Det leveres gennem brugen af ​​programmeringssprog på højt niveau , udviklings- og runtime-miljøer, der understøtter betinget kompilering, linkning og kodekørsel for forskellige platforme. Et typisk eksempel er software designet til at køre på Linux og Windows operativsystemer samtidigt.

Programmeringssprog på tværs af platforme

De fleste moderne programmeringssprog på højt niveau kan kaldes på tværs af platforme . For eksempel er C , C ++ , Free Pascal , FreeBASIC , PureBasic  sprog på tværs af platforme på kompileringsniveauet, det vil sige, at der er compilere til forskellige platforme til disse sprog. Dette gør det muligt - med den rette kvalitet af koden - ikke at omskrive programmets hovedmotor, kun specielle systemafhængige dele ændres.

Lige så vigtigt for brug på tværs af platforme er de standardiserede runtime-biblioteker . Især C-sprogbiblioteket ( POSIX ) er blevet en standard. Af de store biblioteker på tværs af platforme - Qt , GTK+ , FLTK , STL , Boost , OpenGL , SDL , OpenAL , OpenCL .

Der findes krydskompilere - compilere, der genererer eksekverbar kode til en anden platform end den, som selve compileren kører på.

Kørselstider på tværs af platforme

PHP , Perl , Python , Tcl og Ruby  er tværplatformsfortolkede sprog og deres tolke findes til mange platforme.

ActionScript Virtual Machine , Java Virtual Machine og .NET runtimes er også på tværs af platforme, men deres input er ikke kildekode , men mellemkode . Derfor kan programmer skrevet i ActionScript , Java og C# køres på forskellige operativsystemer uden genkompilering.

Brugergrænseflade på tværs af platforme

På forskellige operativsystemer og miljøer – uanset hvordan arbejdet i dem udføres teknisk – har standardgrænsefladeelementer forskellige størrelser. Derfor er simpel stiv placering af grænsefladeelementer umulig - i et andet operativsystem (miljø) kan de "kravle" oven på hinanden, "sløre", "fulde". Der er flere tilgange:

  1. En enkelt stil fælles for alle operativsystemer, programmer ser ens ud under alle systemer. Sådan fungerer Java -grænsefladebiblioteker som Swing .
    • Plus: du kan stift arrangere kontroller på samme måde som Delphi, den originale stil.
    • Minus: systemet skal have sine egne skærmskrifttyper, og stilen er forskellig fra stilen i OS.
  2. Selvadaptiv (adaptiv) grænseflade, der justerer gitteret til den faktiske størrelse af kontrollerne. Typiske eksempler er Qt , wxWidgets , XUL .
    • Fordele: standard operativsystem stil, meget hurtig og foldbar under Windows XP , Vista og Windows 7 , og en vis lokaliseringsautomatisering .
    • Ulempe: Selvtilpassende mesh kræver en dygtig programmør til at samle, og stram layout er svært.
  3. En hybrid tilgang er implementeret i GTK+ .
    • Plus: skrifttyper kan tages fra systemet, og ikke "trækkes" dine egne, samt en vis automatisering af lokalisering.
    • Minus: tager alle ulemperne fra de to første tilgange. Stilen er forskellig fra stilen i operativsystemet, stramt layout er svært.

Under alle omstændigheder, i andre operativsystemer og miljøer, kræves der i det mindste minimal test, da koblingsfejl er mulige ...

Betinget kompilering

Selvom der generelt er en bred standardisering af hardware og software, er programmøren ofte nødt til at forgrene sig til forskellige operativsystemer og miljøer, herunder det ene eller det andet gennem betinget kompilering .

For eksempel har Mozilla Firefox - browseren forskellige ikonsæt til forskellige operativsystemer.

Ansøgningsprogrammer

Et stort antal applikationsprogrammer er også på tværs af platforme. Denne kvalitet er især udtalt i programmer, der oprindeligt er udviklet til Unix-lignende operativsystemer . En vigtig betingelse for deres portabilitet til andre platforme er platformenes kompatibilitet med POSIX -anbefalingerne samt eksistensen af ​​en GCC-kompiler for den platform, som de bliver overført til.

Operativsystemer

Moderne operativsystemer er også ofte på tværs af platforme. For eksempel kan open source-operativsystemer (især: NetBSD , Linux , FreeBSD , AROS ) køre på flere forskellige hardwareplatforme. De mest almindelige er: x86 , m68k , PowerPC , Alpha , AMD64 , SPARC . (" Elbrus OS " er intet mere end en dybt modificeret til Elbrus -platformen . Men der er også et "Elbrus OS" tilgængeligt til Elbrus-SPARC-platformene, som er en implementering af SPARC -platformen fra MCST og x86-platformen. ) Første udgivelse Microsoft Windows NT 4 , udgivet i 1996, understøttede fire platforme (x86, Alpha, MIPS og PowerPC), senere versioner af Windows NT understøttede kun x86-platformen. Moderne Microsoft Windows kan køre på både Intel x86 og Intel Itanium platforme . (Mere præcist har Itanium kun versioner af Windows 2000/XP, Windows 2003 og Windows 2008, hvorefter understøttelsen af ​​Itanium blev udfaset.) NetBSD -operativsystemet anses for at være det mest multi-platform [1] , der bliver porteret til de fleste eksisterende platforme.

Udviklingsmiljøer

En række IDE'er , herunder Free Pascal, Lazarus , Qt Creator , kører på forskellige operativsystemer: Linux, Windows og andre [2] .

Emulering

Hvis programmet ikke er beregnet til at blive afviklet (lanceret) på en bestemt platform, men for denne platform er der en emulator af basisplatformen for dette program, så kan programmet køres i emulatormiljøet.

Typisk resulterer eksekvering af et program i et emulatormiljø i ydeevneforringelse sammenlignet med lignende programmer, som platformen er basen for, da en betydelig del af systemressourcerne bruges på emulatorfunktioner.

Noter

  1. ↑ Portabilitet og understøttede hardwareplatforme  . netbsd.org . Hentet 31. oktober 2021. Arkiveret fra originalen 22. december 2021.
  2. Lazarus IDE og Free Pascal (downlink) . Dato for adgang: 8. december 2013. Arkiveret fra originalen 26. november 2013. 

Links