Portowanie oprogramowania
Portowanie, znane także jako konwersja, to proces dostosowywania programu komputerowego do innej platformy sprzętowej lub programistycznej. Zazwyczaj dotyczy to zmiany architektury procesora lub systemu operacyjnego. Port powstaje w wyniku adaptacji istniejącego kodu do nowego środowiska.
Porty na różne platformy sprzętowe
Portowanie jest ściśle związane z przenośnością kodu: im bardziej kod jest niezależny od konkretnej platformy, tym łatwiej go przenieść. Przykładem może być system Linux, który pierwotnie powstał dla procesorów x86. Dzięki uniwersalnym koncepcjom w różnych architekturach, możliwe jest dostosowanie jedynie niewielkich fragmentów kodu. W efekcie Linux dostępny jest na wielu procesorach, takich jak IA-64, PowerPC czy MIPS.
Porty aplikacji
Przykłady portów aplikacji obejmują pakiety biurowe, takie jak Apache OpenOffice oraz przeglądarki internetowe, jak Mozilla, które są dostępne na systemy operacyjne Microsoft Windows, Linux i macOS. Porty aplikacji są także wykorzystywane w systemach BSD, gdzie aplikacje są wyraźnie oddzielone od systemu operacyjnego.
Pozostałe rodzaje portów
Portowanie może również dotyczyć implementacji programu w innym języku programowania. W przypadku podobnych języków, jak C i C++, możliwe jest dostosowanie kodu zamiast pisania go od nowa. Platformą do portowania mogą być wirtualne maszyny oraz różne kombinacje technologii. Przykładem jest Python, którego główna wersja napisana jest w C, ale istnieją także wersje dla wirtualnej maszyny Javy (Jython) i środowiska .NET (IronPython).
Portowanie może również obejmować dostosowanie do konkretnego środowiska graficznego, na przykład przeportowanie Mozilli do KDE, co polega na użyciu mechanizmów tego środowiska. Dodatkowo, możliwe jest portowanie elementów z nowszych wersji programów do starszych, znane jako backporty. Umożliwia to korzystanie z nowych funkcji w jeszcze używanych wersjach oprogramowania.