Die Portierung existierender Software auf neue Zielplattformen zählt zu den kniffligsten, aber zugleich auch spannendsten Herausforderungen in der Software-Entwicklung.
Im Zuge einer sauberen Portierung geht es nicht allein um eine (einmalige) Anpassung der Software auf eine andere Zielplattform, sondern vielmehr um eingehende Säuberung und Restrukturierung des Programm-Codes, einschließlich Kapselung und Abstraktion sämtlicher System-Aufrufe. Das Endprodukt ist optimalerweise portabel über eine vielzahl von Plattformen.
Somit ist erschließt Portierung nicht nur eine weitere Zielplattform, sondern sprengt die Fesseln der einen Plattform, für die usprünglich entwickelt wurde. Man spricht dann von portabler Software.
Warum portieren / portabel programmieren ?
- Neue Ziel-Plattformen und somit neue Märkte erschließen.
- Konsequente Befreiung von den Fesseln einer/einzelnen Plattformen
- Deutlich leichtere Anpassung auf zukünftige Änderungen bei den Zielplattformen (man denke da beispielsweise an die sich über die Jahre immer wieder aufgetretenen, teils massiven Veränderungen der Windows-Schnittstellen.)
- Saubere Kapselung des plattform-spezifischen Programmcodes von der eigentlichen (Kern-)Anwendung.
- Mehr Auswahl bei der zugrundeliegenden Ziel-Plattform bei konkereten Installationen





