Víceplatformní

Cross- platform ( cross-platform ) - schopnost softwaru pracovat s více hardwarovými platformami nebo operačními systémy . Je poskytován pomocí programovacích jazyků na vysoké úrovni , vývojových a runtime prostředích, která podporují podmíněnou kompilaci, propojování a spouštění kódu pro různé platformy. Typickým příkladem je software navržený pro současné spuštění na operačních systémech Linux a Windows .

Multiplatformní programovací jazyky

Většinu moderních programovacích jazyků na vysoké úrovni lze nazvat multiplatformní . Například C , C ++ , Free Pascal , FreeBASIC , PureBasic  jsou multiplatformní jazyky na úrovni kompilace, to znamená, že pro tyto jazyky existují kompilátory pro různé platformy. To umožňuje - při správné kvalitě kódu - nepřepisovat hlavní engine programu, pouze se mění speciální části závislé na systému.

Neméně důležité pro použití napříč platformami jsou standardizované runtime knihovny . Standardem se stala zejména knihovna jazyka C ( POSIX ). Z velkých multiplatformních knihoven - Qt , GTK+ , FLTK , STL , Boost , OpenGL , SDL , OpenAL , OpenCL .

Existují křížové kompilátory – kompilátory, které generují spustitelný kód pro jinou platformu, než na které běží samotný kompilátor.

Běhové moduly pro více platforem

PHP , Perl , Python , Tcl a Ruby  jsou multiplatformní interpretované jazyky a jejich interpreti existují pro mnoho platforem.

Běhové moduly ActionScript Virtual Machine , Java Virtual Machine a .NET jsou také multiplatformní, ale jejich vstupem není zdrojový kód , ale přechodný kód . Proto lze programy napsané v ActionScriptu , Javě a C# spouštět na různých operačních systémech bez rekompilace.

Uživatelské rozhraní napříč platformami

Na různých operačních systémech a prostředích – bez ohledu na to, jak je práce v nich technicky zajištěna – mají standardní prvky rozhraní různé velikosti. Jednoduché pevné umístění prvků rozhraní je tedy nemožné – v jiném operačním systému (prostředí) se mohou „plazit“ jeden přes druhý, „rozmazávat“, „opíjet“. Existuje několik přístupů:

  1. Jediný styl společný pro všechny operační systémy, programy vypadají ve všech systémech stejně. Takto fungují knihovny rozhraní Java , jako je Swing .
    • Navíc: ovládací prvky můžete pevně uspořádat na způsob Delphi, původního stylu.
    • Mínus: systém musí mít vlastní obrazovková písma a styl se liší od stylu operačního systému.
  2. Samoadaptivní (adaptivní) rozhraní, které přizpůsobí mřížku skutečné velikosti ovládacích prvků. Typickými příklady jsou Qt , wxWidgets , XUL .
    • Výhody: standardní styl operačního systému, velmi rychlý a skládací pod Windows XP , Vista a Windows 7 a určitá automatizace lokalizace .
    • Nevýhoda: Sestavení samoadaptivní sítě vyžaduje zkušeného programátora a těsné uspořádání je obtížné.
  3. V GTK+ je implementován hybridní přístup .
    • Navíc: fonty lze převzít ze systému, a ne "přetahovat" své vlastní, stejně jako určitá automatizace lokalizace.
    • Mínus: bere všechny nevýhody z prvních dvou přístupů. Styl se liší od stylu operačního systému, těsné uspořádání je obtížné.

V každém případě je v jiných operačních systémech a prostředích vyžadováno alespoň minimální testování, protože jsou možné chyby v propojení ...

Podmíněná kompilace

Přestože obecně existuje široká standardizace hardwaru a softwaru, programátor se často musí větvit pro různé operační systémy a prostředí, včetně jednoho nebo druhého prostřednictvím podmíněné kompilace .

Například prohlížeč Mozilla Firefox má různé sady ikon pro různé operační systémy.

Aplikační programy

Velké množství aplikačních programů je také multiplatformních. Tato kvalita je zvláště výrazná v programech původně vyvinutých pro operační systémy podobné Unixu . Důležitou podmínkou pro jejich přenositelnost na jiné platformy je kompatibilita platforem s doporučeními POSIX a také existence kompilátoru GCC pro platformu, na kterou jsou portovány.

Operační systémy

Moderní operační systémy jsou také často multiplatformní. Například open source operační systémy (zejména: NetBSD , Linux , FreeBSD , AROS ) mohou běžet na několika různých hardwarových platformách. Nejběžnější jsou: x86 , m68k , PowerPC , Alpha , AMD64 , SPARC . („ Elbrus OS “ není nic jiného než hluboce modifikovaný pro platformu Elbrus . Existuje však „Elbrus OS“ také pro platformy Elbrus-SPARC, což je implementace platformy SPARC od MCST a platformy x86. ) První vydání Microsoft Windows NT 4 , vydané v roce 1996, podporovalo čtyři platformy (x86, Alpha, MIPS a PowerPC), pozdější verze Windows NT podporovaly pouze platformu x86. Moderní Microsoft Windows může běžet na platformách Intel x86 i Intel Itanium . (Přesněji řečeno, Itanium má pouze verze Windows 2000/XP, Windows 2003 a Windows 2008, poté byla podpora pro Itanium postupně ukončena.) Operační systém NetBSD je považován za nejvíce multiplatformní [1] , je portován na většinu stávající platformy.

Vývojová prostředí

Řada IDE , včetně Free Pascal, Lazarus , Qt Creator , běží na různých operačních systémech: Linux, Windows a další [2] .

Emulace

Pokud není program určen ke spuštění (spuštění) na konkrétní platformě, ale pro tuto platformu existuje emulátor základní platformy pro tento program, pak lze program spustit v prostředí emulátoru.

Spuštění programu v prostředí emulátoru obvykle vede ke snížení výkonu ve srovnání s podobnými programy, pro které je platforma základem, protože značná část systémových prostředků je vynaložena na funkce emulátoru.

Poznámky

  1. ↑ Přenositelnost a podporované hardwarové platformy  . netbsd.org . Získáno 31. října 2021. Archivováno z originálu dne 22. prosince 2021.
  2. Lazarus IDE a Free Pascal (downlink) . Datum přístupu: 8. prosince 2013. Archivováno z originálu 26. listopadu 2013. 

Odkazy