2010-12-08 403 views
2

我已经使用Windows,Mac OS和Linux(Ubuntu,Redhat)。在Mac OS上,安装新应用程序(在大多数情况下)只需要将其复制到/Applications,而在Windows中,安装程序将文件复制到整个位置。在Linux中,make install或Debian安装程序也会将文件复制到多个不同的文件夹中。为什么大多数Mac应用程序不需要安装(只需复制到/应用程序)?

是因为Mac软件大多是自包含的吗?或者是因为操作系统如此聪明以至于处理引擎盖下的依赖关系?

回答

2

这只是如何处理依赖关系的选择,而不是操作系统本身所做的任何魔法。独立应用程序具有减少依赖性问题和简化应用程序管理(拖放!)的优点,但带来的问题是需要将应用程序与库和其他依赖关系进行捆绑。此外,还需要努力更新/维护应用程序,以便纠正安全缺陷等问题(对于软件包管理员而言,这项任务稍微简单一些)。

2

因为OS X上的大多数“.app”应用程序都是独立的,并且打包了它们自己的所有依赖版本。以Perforce为例,它们的每个GUI应用程序(P4v和P4Admin)都捆绑了它们自己的依赖项,这意味着每个应用程序都附带100多个QT库MB,总计几乎有半个。

但这是一种折衷,一方面为了方便安装,另一方面的尺寸。

+0

很酷,感谢您的解释。 – 2010-12-08 20:14:06

0

我不能肯定地说100%,但是它的主要原因是它是自包含的。通常,当软件启动时,它会创建所需的任何文件,通常是plist和其他几个文件,但通常不会超过几个。

+0

并非所有的软件都这样做。 – mcbeav 2010-12-08 05:21:23

0

正如其他人所说,Mac .app文件大体上是独立的。另一方面,Windows需要大量的信息进入Windows注册表。 DLL必须注册,shortcusts,外壳扩展,卸载要求等等等等等。

相关问题