マルチプラットフォーム – 定義

クロスプラットフォームソフトウェアは、複数のプラットフォーム、つまりコンピュータとオペレーティング システムをリンクするペアで動作するように設計されたソフトウェアです。英語では、「クロスプラットフォーム ソフトウェア」、「プラットフォーム非依存ソフトウェア」、さらには「マルチプラットフォーム ソフトウェア」とさえ呼ばれます。

多くのプログラミング言語はクロスプラットフォームです。実際、使用したい各プロセッサが理解できる実行可能コードを生成することを目的としたコンパイラを開発するだけで十分です。

たとえば、 Linux上の GTK+ グラフィック ライブラリで作成されたソフトウェアは、アーキテクチャが同じであっても、 Windows上ではそのままでは動作しません。言語は C ですが、ディスプレイ管理の内部動作は異なります。ここで、プログラムの移植性の概念について触れます。

開発者にとって問題はすぐに発生します。プログラムのプラットフォームを選択することは、その視聴者を制限することになります。 IT部門がオペレーティング システム (Linux、 Mac OSなど) とハードウェア (GSM、PDA など) の両方において多様化する傾向にあるため、この問題はさらに複雑になっています。

さまざまな技術的ソリューション

ソフトウェアができるだけ多くのユーザーを利用できるようにするには、次の 3 つの手法を使用できます。

  • クロスプラットフォーム ライブラリでコンパイルされた言語、
  • 通訳された言語、
  • 半通訳言語。
マルチプラットフォーム - 定義

クロスプラットフォーム ライブラリでコンパイルされた言語

実行と統合の速度は、多くの開発において重要な要素です。その場合は、コンパイルされた言語を使用する必要があります。システムが異なれば多くの処理が異なるため、クロスプラットフォーム ライブラリを使用して、クロスプラットフォームプログラミングに必要な抽象化を取得する必要があります。

コンパイルされたプログラムのもう 1 つの利点は、エンド ユーザーが直接使用できることです。製品でライブラリを提供することで、インタプリタ仮想マシンを使用する必要がなくなります。

クロスプラットフォームでコンパイルされたプログラムを使用する場合には、配布という欠点がまだあります。実際、オペレーティング システムごと、アーキテクチャごとにプログラムのバージョンをコンパイルする必要があり、これはプログラムのバージョンごとに行われます。オープンソース ソフトウェアの場合、各オペレーティング システムでコンパイルする手段を提供するだけで十分であるため、これは実際には問題にはなりません。

最も人気のあるクロスプラットフォーム ライブラリには、 wxWidgetsと Qt があります。これら 2 つのライブラリは、多くのシステム (Linux、Mac OS、Windows、Windows CE、 Palm OSなど) でアプリケーションを一度に開発できる非常に包括的なフレームワークを提供します。

マルチプラットフォーム - 定義

通訳言語

通訳言語は、この問題に対する別のアプローチを提供します。このような言語はプログラムが使用されるたびに解釈されるため、特定のプラットフォームにインタープリターが存在する場合、プログラムはそのプラットフォーム上で動作します。ただし、使用は、プログラムで使用されるすべてのものが標準ライブラリの一部である場合と同じくらい簡単です。高度な機能を使用するには、クロスプラットフォーム ライブラリ (たとえば、wxWidgets や Qt) にフォールバックする必要があります。

インタープリタ言語でソフトウェアを配布するのははるかに簡単ですが、多くの場合、適切なインタープリタを提供する必要があります。もう 1 つの問題は、ソフトウェア ソースが提供されることです。コードに秘密にしなければならないプロセスが含まれている場合に問題が発生する可能性があります。

マルチプラットフォーム - 定義

半通訳言語

クロスプラットフォーム アプリケーションを作成するための最新のアプローチは、半解釈言語を使用することです。これらの言語は、解釈される中間コードにコンパイルされます。このアプローチには、解釈されたコードと同じ利点がありますが、実行速度が向上します。

主な例は、 Sun Microsystemsの Java 言語です。この言語はJava バイトコードにコンパイルされ、仮想マシンによって解釈されます。バイトコードは、仮想マシンが実装されている各プラットフォームで実行できます。半解釈コードを使用しているにもかかわらず、Java は遅いという評判があります。 Java 言語は (GCJ などを使用して) ネイティブ コードにコンパイルできますが、移植性が失われます。 Java の配布には、仮想マシンをソフトウェアと一緒に配布する必要があるという問題が発生しますが、これは必ずしも簡単ではありません。

マルチプラットフォーム - 定義
  1. Nuus – afrikaans
  2. The – – – – – ancien anglais
  3. خبر (إعلام) – arabe
  4. ܛܐܒܐ – araméen
  5. Noticia – asturien
  6. Xəbər – azerbaïdjanais

マルチプラットフォーム – 定義・関連動画

サイエンス・ハブ

知識の扉を開け、世界を変える。