2010-12-08 4 views
2

私はWindows、Mac OS、Linux(Ubuntu、Redhat)を使用しています。 Mac OSでは、新しいアプリケーションを(ほとんどの場合)インストールするには、/Applicationsにコピーする必要がありますが、Windowsではインストーラがファイルをすべてコピーします。 Linuxの場合make installまたはDebianインストーラはファイルを多くの異なるフォルダにコピーします。なぜほとんどのMacアプリケーションはインストール不要です(/ Applicationにコピーするだけです)?

Macソフトウェアはほとんどが自己完結しているからですか?それとも、OSがとても巧みで、フードの下で依存関係を処理するからですか?

答えて

2

これは依存関係の処理方法の選択肢であり、OS自体が行う魔法ではありません。自己完結型アプリケーションは、依存関係の問題をなくし、アプリケーション管理(ドラッグ&ドロップ)を簡素化するという利点がありますが、ライブラリや他の依存関係をアプリケーションにバンドルする必要があるため、さらに、アプリケーションの更新/保守には慎重でなければならず、セキュリティ上の欠陥などの問題を修正することができます(パッケージマネージャではやや簡単な作業です)。

2

OS Xのほとんどの ".app"アプリケーションは自己完結型であり、すべての依存関係の独自のバージョンをパッケージ化するためです。 PERFORCEを例にとると、それぞれのGUIアプリケーション(P4vとP4Admin)はそれぞれ独自の依存関係をバンドルしています。つまり、アプリケーションごとにほぼ半分ギガバイトのQTライブラリのMBが100個あります。

しかし、それは一方では他のインストールを容易にするためにサイズとのトレードオフです。

+0

クール、説明のためにありがとう。 –

0

私は確かに100%と言っているわけではありませんが、主に自己完結しているためです。通常、ソフトウェアを起動すると、必要なファイルが作成されます。通常はplistであり、他のファイルもいくつかありますが、通常は少数です。

+0

これはすべてのソフトウェアではありません。 – mcbeav

0

他の人が言っているように、Mac .appファイルは大部分が自己完結型です。一方、Windowsでは、多くの情報がWindowsのレジストリに入る必要があります。 DLLを登録する必要があります、shortcusts、シェルの拡張機能、アンインストール要件などなど

関連する問題