Multiplatformă

Multiplatformă ( cross-platform ) - capacitatea software-ului de a lucra cu mai multe platforme hardware sau sisteme de operare . Este furnizat prin utilizarea limbajelor de programare de nivel înalt , a mediilor de dezvoltare și de execuție care acceptă compilarea condiționată, legarea și execuția de cod pentru diverse platforme. Un exemplu tipic este software-ul conceput să ruleze simultan pe sistemele de operare Linux și Windows .

Limbaje de programare multiplatformă

Cele mai multe limbaje de programare moderne de nivel înalt pot fi numite cross-platform . De exemplu, C , C ++ , Free Pascal , FreeBASIC , PureBasic  sunt limbaje multiplatforme la nivel de compilare, adică există compilatoare pentru diverse platforme pentru aceste limbi. Acest lucru permite - cu calitatea corectă a codului - să nu rescrie motorul principal al programului, doar părțile speciale dependente de sistem se schimbă.

La fel de importante pentru utilizarea pe mai multe platforme sunt bibliotecile standardizate de rulare . În special, biblioteca în limbajul C ( POSIX ) a devenit un standard. Dintre principalele biblioteci multiplatforme - Qt , GTK + , FLTK , STL , Boost , OpenGL , SDL , OpenAL , OpenCL .

Există compilatoare încrucișate - compilatoare care generează cod executabil pentru o altă platformă decât cea pe care rulează compilatorul însuși.

Runtime multiplatformă

PHP , Perl , Python , Tcl și Ruby  sunt limbaje interpretate pe mai multe platforme, iar interpreții lor există pentru multe platforme.

Mașina virtuală ActionScript , Mașina virtuală Java și .NET rulează, de asemenea, pe mai multe platforme, dar intrarea lor nu este codul sursă , ci codul intermediar . Prin urmare, programele scrise în ActionScript , Java și C# pot fi rulate pe diferite sisteme de operare fără recompilare.

Interfață de utilizator multiplatformă

Pe diferite sisteme de operare și medii - indiferent de modul în care munca în ele este realizată din punct de vedere tehnic - elementele de interfață standard au dimensiuni diferite. Prin urmare, poziționarea simplă rigidă a elementelor de interfață este imposibilă - într-un sistem de operare (mediu) diferit, acestea se pot „târâ” una peste alta, „încețoșează”, „beată”. Există mai multe abordări:

  1. Un singur stil comun tuturor sistemelor de operare, programele arată la fel în toate sistemele. Acesta este modul în care funcționează bibliotecile de interfață Java precum Swing .
    • Plus: puteți aranja rigid controalele în maniera Delphi, stilul original.
    • Minus: sistemul trebuie să aibă propriile fonturi de ecran, iar stilul este diferit de stilul sistemului de operare.
  2. Interfață auto-adaptabilă (adaptabilă) care ajustează grila la dimensiunea reală a controalelor. Exemple tipice sunt Qt , wxWidgets , XUL .
    • Avantaje: stil standard de sistem de operare, foarte rapid și pliabil sub Windows XP , Vista și Windows 7 și o anumită automatizare a localizării .
    • Dezavantaj: Mesh-ul auto-adaptabil necesită un programator calificat pentru a asambla, iar aspectul strâns este dificil.
  3. O abordare hibridă este implementată în GTK+ .
    • Plus: fonturile pot fi luate din sistem și nu pot fi „trase” pe propriile dvs., precum și o anumită automatizare a localizării.
    • Minus: preia toate dezavantajele primelor două abordări. Stilul este diferit de stilul sistemului de operare, aspectul strâns este dificil.

În orice caz, în alte sisteme de operare și medii, este necesară cel puțin testare minimă, deoarece erorile de conectare sunt posibile...

Compilare condiționată

Chiar dacă în general există o standardizare largă a hardware-ului și software-ului, programatorul trebuie adesea să se ramifice pentru diferite sisteme de operare și medii, inclusiv unul sau altul prin compilare condiționată .

De exemplu, browserul Mozilla Firefox are seturi diferite de pictograme pentru diferite sisteme de operare.

Programe de aplicație

Un număr mare de programe de aplicație sunt, de asemenea, multiplatforme. Această calitate este deosebit de pronunțată în programele dezvoltate inițial pentru sisteme de operare asemănătoare Unix . O condiție importantă pentru portabilitatea lor pe alte platforme este compatibilitatea platformelor cu recomandările POSIX , precum și existența unui compilator GCC pentru platforma pe care sunt portate.

Sisteme de operare

Sistemele de operare moderne sunt, de asemenea, adesea multiplatforme. De exemplu, sistemele de operare open source (în special: NetBSD , Linux , FreeBSD , AROS ) pot rula pe mai multe platforme hardware diferite. Cele mai comune sunt: ​​x86 , m68k , PowerPC , Alpha , AMD64 , SPARC . („ Elbrus OS ” nu este altceva decât o modificare profundă pentru platforma Elbrus . Dar există un „Elbrus OS” disponibil și pentru platformele Elbrus-SPARC, care este o implementare a platformei SPARC de la MCST și a platformei x86. ) Prima lansare Microsoft Windows NT 4 , lansată în 1996, a acceptat patru platforme (x86, Alpha, MIPS și PowerPC), versiunile ulterioare de Windows NT au acceptat doar platforma x86. Microsoft Windows modern poate rula atât pe platformele Intel x86 , cât și pe Intel Itanium . (Mai exact, Itanium are doar versiuni de Windows 2000/XP, Windows 2003 și Windows 2008, după care suportul pentru Itanium a fost eliminat treptat.) Sistemul de operare NetBSD este considerat cel mai multi-platform [1] , fiind portat la majoritatea platformele existente.

Medii de dezvoltare

O serie de IDE -uri , inclusiv Free Pascal, Lazarus , Qt Creator , rulează pe diferite sisteme de operare: Linux, Windows și altele [2] .

Emulare

Dacă programul nu este destinat să fie executat (lansat) pe o anumită platformă, dar pentru această platformă există un emulator al platformei de bază pentru acest program, atunci programul poate fi executat în mediul emulator.

În mod obișnuit, executarea unui program într-un mediu de emulator are ca rezultat o degradare a performanței în comparație cu programe similare pentru care platforma este baza, deoarece o parte semnificativă a resurselor sistemului este cheltuită pe funcțiile emulatorului.

Note

  1. ↑ Portabilitate și platforme hardware acceptate  . netbsd.org . Preluat la 31 octombrie 2021. Arhivat din original la 22 decembrie 2021.
  2. Lazarus IDE și Free Pascal (downlink) . Data accesului: 8 decembrie 2013. Arhivat din original pe 26 noiembrie 2013. 

Link -uri