Port (oprogramowanie)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Port – wersja programu komputerowego na inną platformę sprzętową bądź programistyczną, zazwyczaj na inną architekturę procesora lub system operacyjny. Port powstaje w wyniku przeniesienia już istniejącego kodu, ogólniej można mówić o implementacji danego programu na inną platformę.

Porty na różne platformy sprzętowe[edytuj | edytuj kod]

Portowanie wiąże się ściśle z przenośnością kodu: im bardziej kod jest niezależny od konkretnej platformy tym łatwiej stworzyć kolejne jego porty. Na przykład Linux powstał z początku dla procesorów rodziny x86, ale ponieważ Linus Torvalds wykorzystał w praktyce fakt, że zasadnicze koncepcje w innych architekturach sprzętowych są dosyć podobne, to do danego typu sprzętu wystarczy dostosowywać tylko niewielką część kodu. Stąd też porty tego systemu można znaleźć dla wielu różnych procesorów (np. IA-64, PowerPC czy MIPS).

Porty aplikacji[edytuj | edytuj kod]

Przykładem portu aplikacji na inny system operacyjny może być pakiet biurowy Apache OpenOffice czy pakiet internetowy Mozilla, które są dostępne między innymi dla Microsoft Windows, Linux i OS X.

Porty to także nazwa mechanizmu zarządzania programami w systemach z rodziny BSD, gdzie system operacyjny jest koncepcyjnie wyraźnie oddzielony od aplikacji.

Pozostałe rodzaje portów[edytuj | edytuj kod]

Porty programu do innego języka programowania zwykle są po prostu osobnymi implementacjami danego programu, choć teoretycznie jeśli dwa języki są do siebie podobne (np. C i C++) to można dokonać dostosowania kodu zamiast pisania go od nowa.

Platformą portowania mogą być np. wirtualne maszyny oraz dowolne kombinacje wymienionych wyżej elementów. Ilustracją tego jest Python, którego główna implementacja jest napisana w języku C, ale powstały także wersje na wirtualną maszynę Javy (Jython) oraz na środowisko .NET, a dokładniej Common Language Runtime (IronPython).

Port może polegać także na dostosowaniu do danego środowiska graficznego, jak choćby przeportowanie Mozilli do KDE, które polegało na wykorzystaniu mechanizmów tego środowiska, między innymi widżetów.

Portuje się czasem także części z nowszej do starszych serii programu, np. sterowniki sprzętu pod Linuksem. Są to tzw. backporty, czyli porty wsteczne. Dzięki temu niektóre możliwości nowych wersji można wykorzystać w starszych, ale nadal używanych wersjach programu.

Zobacz też[edytuj | edytuj kod]