Port (oprogramowanie)
Z Wikipedii
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ę.
Spis treści |
[edytuj] Porty na różne platformy sprzętowe
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). .
[edytuj] Porty aplikacji
Przykładem portu aplikacji na inny system operacyjny może być pakiet biurowy OpenOffice.org czy pakiet internetowy Mozilla, które są dostępne między innymi dla Microsoft Windows, Linuksa i Mac 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.
[edytuj] Pozostałe rodzaje portów
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 widgetó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.