Portace softwaru: Porovnání verzí

Smazaný obsah Přidaný obsah
m typos
Formulace, styl
Řádek 1:
'''Portace softwaru''' (též '''portování softwaru''') je úpravav tohoto[[Informatika (počítačová věda)|informatice]] úprava [[software|softwaru]] za cílem umožnění jeho fungování na jiné [[počítačová platforma|počítačové platformě]] (ať již [[Hardware|hardwarové]] nebo [[Software|softwarové]]). Tento termínTermín je takétéž používán obecně pro změnitelnost softwaru/hardwaru pro jejich použitelnost v jinýchrůzných prostředích.
 
'''Portabilita''' (přenositelnost) softwaru je schopnost programového vybavení přeneseníbýt přeneseno na jinéjinou platformyplatformu. 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í sepsá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''.<ref>http://en.wiktionary.org/wiki/port portare]'', znamenajícíslovo 'přenést'.port'' na Wikislovníku</ref> Pokud kód není kompatibilní s příslušným [[operační systém|operačním systémem]] nebo [[počítačová platforma|architekturou]], musí být „přenesen“ do tohoto 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 [[operační paměť|paměť]] pro stejný [[CPU|procesor]] a [[operační systém]]. Též se nevztahuje k přepsání [[zdrojový kód|zdrojového kódu]] do odlišného [[programovací jazyk|jazykuprogramovacího jazyka]] (tedy jazykové konverze či překladu).
Termín 'port' je odvozen z latinského ''[http://en.wiktionary.org/wiki/port portare]'', znamenající 'přenést'. Pokud kód není kompatibilní s příslušným [[operační systém|operačním systémem]] nebo [[počítačová platforma|architekturou]], musí být „přenesen“ do tohoto nového systému.
 
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'') lidí od nového prostředí (''cílová platforma''), zkušenostech původních autorů v otázkách, které konstrukce v [[programovací jazyk|programovacím jazyku]] a knihovnách třetích stran jaoujsou 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 nabízejí levnější řešení).
Tento termín není obecně používán pro proces adaptace softwaru k jeho běhu s menšími nároky na [[operační paměť|paměť]] pro stejný [[CPU|procesor]] a [[operační systém]]. Též se nevztahuje k přepsání [[zdrojový kód|zdrojového kódu]] do odlišného [[programovací jazyk|jazyku]] (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'') lidí od nového prostředí (''cílová platforma''), zkušenostech původních autorů v otázkách, které konstrukce v [[programovací jazyk|programovacím jazyku]] a knihovnách třetích stran jaou 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 nabízejí levnější řešení).
 
== Historie ==
PočetV značnědnešní sedobě je používán na počítačích značný počet lišícíchrůzných [[CPUprocesor]]ů a [[operační systém|operačních systémů]], používanýchi nakdyž počítačíchmajoritní v dnešní doběplatformou je mnohem nižší než v minulosti. Majorita [[x86]]. znamená, že většinaVětšina desktopových aplikací se nikdy neportuje na jiné CPU.platformy Stejněa stejně tak volba operačního systému bylaje 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ý systém|vestavěných systémů]] zůstává portabilita významnou záležitostí.
 
MezinárodníRůzné standardy, jako ty šířené ([[Mezinárodní organizace pro normalizaci|ISO]], [[POSIX]], ...) významně napomáhánapomáhají portování díky specifikaci detailů prostředí a tím napomáhápomáhají redukovat rozdíly mezi různými standardy platforemplatformami. PsaníVytváření softwaru, který zůstává v mezích specifikovaných těmito standardy, pak znamená praktické, ačkoli netriviální úsilí. Portování takového programu mezi dvěma standardůmplatformami vyhovujícími platformamistejnému standardu (jakonapř. jsou [[Posix|POSIX]]) může být pouze otázkou nahrání zdrojového kódu a [[kompilace]] [[Zdrojový kód|zdrojového kódu]] na novou platformu.
Počet značně se lišících [[CPU]] a [[operační systém|operačních systémů]] používaných na počítačích v dnešní době je mnohem nižší než v minulosti. Majorita [[x86]] znamená, že většina desktopových aplikací se nikdy neportuje na jiné CPU. Stejně tak volba operačního systému byla zredukována na tři: [[Microsoft Windows]], [[Mac OS]]/[[Mac OS X]] a [[Unix]]/[[Linux]].
 
Také tu existujeExistuje stále se zvyšující počet nástrojů na podporu portování, jako [[GNU Compiler Collection|GCC]], které poskytují konzistentní programovací jazyky pro různé platformy; dále [[GNU toolchain|Autotools]], které automatizují detekci minoritních variací v prostředích a adaptují software s ohledem něj před jeho kompilací.
Na druhou stranu na truhu [[vestavěný systém|vestavěných systémů]] zůstává portabilita významnou záležitostí.
 
Kompilátory pro některé vyšší [[vyššíProgramovací jazyk|programovací jazyky]] (např. [[Eiffel]], [[Esterel]]) získaly portabilitu tím, že produkují zdrojový kód v jiném [[vyšší programovací jazyky|vyšším programovacím jazyce]] (např. [[C (programovací jazyk)|C]], pro něž jsou k dispozici kompilátory pro více platforem.
Mezinárodní standardy, jako ty šířené [[Mezinárodní organizace pro normalizaci|ISO]], významně napomáhá portování díky specifikaci detailů prostředí a tím napomáhá redukovat rozdíly mezi různými standardy platforem. Psaní softwaru, který zůstává v mezích specifikovaných těmito standardy, pak znamená praktické, ačkoli netriviální úsilí. Portování takového programu mezi dvěma standardům vyhovujícími platformami (jako jsou [[Posix|POSIX]]) může být pouze otázkou nahrání zdrojového kódu a [[kompilace]] na novou platformu.
 
Také tu existuje stále se zvyšující počet nástrojů na podporu portování, jako [[GNU Compiler Collection|GCC]], které poskytují konzistentní programovací jazyky pro různé platformy; dále [[GNU toolchain|Autotools]], které automatizují detekci minoritních variací v prostředích a adaptují software s ohledem něj před jeho kompilací.
 
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šší programovací jazyky|vyšším programovacím jazyce]] (např. [[C (programovací jazyk)|C]], pro něž jsou k dispozici kompilátory pro více platforem.
 
Dvě aktivity příbuzné (ale odlišné) s portováním jsou [[emulátor|emulace]] a [[křížový překladač|křížová kompilace]].
 
== Portování ve hrách ==
Portování je také používáno kdyžpři přenosu [[počítačová hra|počítačové hry]] vytvořená pro běh na jednéjinou platforměplatformu, než na jejaké byla tovytvořena ([[osobní počítač]] neboa [[herní konzole]], je převedena na běh na jiné platformě). Dříve spočívalo portování videoher nebylospíše skutečné portování, ale spíšev přepracování hry. NicméněV vícesoučasné adobě víceje videohervšak jemnoho nyní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řívějšíchdříve portovaných her trpělo značnými problémy s herní kvalitou, protože hardware osobních počítačů a konzolí se dramaticky lišil.
 
Portování je také používáno když [[počítačová hra]] vytvořená pro běh na jedné platformě, ať už je to [[osobní počítač]] nebo [[herní konzole]], je převedena na běh na jiné platformě. Dříve portování videoher nebylo skutečné portování, ale spíše přepracování hry. Nicméně více a více videoher je nyní vyvíjeno pomocí softwaru, který umožňuje vytvářet kód pro stolní počítače stejně jako pro jeden nebo více typů konzolí. Mnoho dřívějších portovaných her trpělo značnými problémy s herní kvalitou, protože hardware osobních počítačů a konzolí se dramaticky lišil.
 
''Arcade perfect'' je termín používaný pro označení [[počítačová hra|počítačových her]], které byly portovány z původní verze na jinou platformu, jakou může být konzole, bez úprav na herním 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í počítač|osobním počítači]]. Tento termín je široce používán herní komunitou.
 
== Reference ==
<references />
 
== Související články ==
* [[Emulátor]]
* [[Křížový překladač]]
 
[[Kategorie:Programování]]