移植 (ソフトウェア)
プラットフォームごとにソフトウェアを記述するのではなく、クロスプラットフォームなアプリケーションフレームワークを利用して、移植性やメンテナンス性を高める手法が採られることも多い。また、移植性を高めるために、プラットフォームやプロセッサ命令セットを抽象化した仮想マシンや中間表現が利用されることもある。オラクル(旧サン・マイクロシステムズ)のJavaは、プラットフォームに依存しない仮想的な実行環境 (Java Runtime Environment, JRE) を定義し、その仮想環境上で動作する仮想マシン (Java VM) とクロスプラットフォームなクラスライブラリ (Java API) を用意することで、JREをサポートする環境であれば一度書いたアプリケーションプログラムを変更することなくそのまま実行できるエコシステムを構築し、一定の成功を収めている。
OpenGLやOpenCLなどのように、標準化されたAPIのオープン規格も存在する。これらのAPIをサポートするプラットフォーム間では、ソフトウェアの移植がしやすくなるが、実際のAPIの実装であるデバイスドライバの品質や規格への準拠レベルは、個々のベンダーによってまちまちである。