Portace softwaru (též portování softwaru) jsou v informatice úpravy softwaru za účelem jeho fungování na jiné počítačové platformě (ať již hardwarové nebo softwarové). Portabilita (přenositelnost) softwaru je schopnost programového vybavení být přeneseno na jinou platformu. Portabilita je jedno z měřítek kvality softwaru. Software je označován za portabilní, pokud náklady na jeho portování jsou nižší než náklady na jeho kompletní přepsání. Čím nižší je relativní cena portování v porovnání s celkovými náklady na implementaci, tím více portabilní program je.
Původ slova
Termín port je odvozen z latinského portare, znamenající přenést.[1] Pokud není kód kompatibilní s příslušným operačním systémem nebo platformou, musí být „přenesen“ do nového systému.
Tento termín není obecně používán pro proces adaptace softwaru k jeho běhu s menšími nároky na paměť pro stejný procesor a operační systém. Též se nevztahuje k přepsání zdrojového kódu do odlišného programovacího jazyka (tedy jazykové konverze či překladu).
Softwaroví vývojáři často prohlašují, že jejich software je portabilní v tom smyslu, že je potřeba pouze malé úsilí pro jeho adaptaci do nového prostředí. Množství skutečně vynaloženého úsilí závisí na několika faktorech, včetně míry do jaké se původní prostředí (zdrojová platforma) liší od nového prostředí (cílová platforma), zkušenostech původních autorů v otázkách, které konstrukce v programovacím jazyku a knihovnách třetích stran jsou nevhodné pro portování a na investicích původních autorů v používání pouze portovatelných konstrukcí (konstrukce specifické pro danou platformu mohou nabízet levnější řešení).
Historie
V dnešní době je používán na počítačích značný počet různých procesorů a operačních systémů, i když majoritní platformou je IBM PC. Většina desktopových aplikací se nikdy neportuje na jiné platformy a stejně tak volba operačního systému je na desktopu zredukována v podstatě na tři: Microsoft Windows, Mac OS/Mac OS X a Unix/Linux. Na druhou stranu na trhu vestavěných systémů zůstává portabilita významnou záležitostí.
Různé standardy (ISO, POSIX, ...) významně napomáhají portování díky specifikaci detailů prostředí a tím pomáhají redukovat rozdíly mezi různými platformami. Vytváření softwaru, který zůstává v mezích specifikovaných těmito standardy, pak znamená jisté úsilí, ačkoli typicky velmi praktické. Následné portování programu mezi dvěma platformami vyhovujícími stejnému standardu (např. POSIX) může být pouze otázkou kompilace zdrojového kódu na novou platformu.
Existuje stále se zvyšující počet nástrojů na podporu portování. Například GCC, které poskytuje konzistentní prostředí pro překlad různých programovacích jazyků na různých platformách. Dále autotools, které automatizují detekci a přizpůsobení minoritních variací zápisu programu v různých prostředích.
Kompilátory pro některé vyšší programovací jazyky (např. Eiffel, Esterel) získaly portabilitu tím, že produkují zdrojový kód v jiném vyšším programovacím jazyce (např. v jazyce C, pro něž jsou k dispozici kompilátory prakticky na všech platformách.
Dvě aktivity příbuzné (ale odlišné) s portováním jsou emulace a křížová kompilace.
Portování ve hrách
Portování je používáno při přenosu počítačové hry na jinou platformu, než na jaké byla vytvořena (osobní počítač a herní konzole). Dříve spočívalo portování videoher spíše v přepracování hry. V současné době je však mnoho her vyvíjeno pomocí softwaru, který umožňuje vytvářet kód pro stolní počítače stejně jako pro jeden nebo i více typů konzolí. Mnoho dříve portovaných her trpělo značnými problémy s herní kvalitou, protože hardware osobních počítačů a konzolí se významně lišil.
Arcade perfect je termín používaný pro označení počítačových her, které byly portovány z původní verze na jinou platformu beze změn herního výkonu. To znamená, že grafika, zvuk včetně všech herních charakteristik jsou identické s původní verzí.
Console port se používá pro hry, které byly původně vytvořeny pro konzole (např. PS3 nebo Xbox 360) a od nich byla odvozena verze hratelná na osobním počítači. Tento termín je široce používán herní komunitou.
Literatura
- LEHEY, Greg. Porting UNIX Software [online]. 1995, rev. 2007-02-23 [cit. 2010-05-27]. Dostupné online.
Reference
Související články
Externí odkazy
- Slovníkové heslo port ve Wikislovníku