为什么大多数 Mac 应用程序不需要安装(只需复制到 /Application 中)?
我使用过 Windows、Mac OS 和 Linux(Ubuntu、Redhat)。在 Mac OS 上,安装新应用程序(在大多数情况下)只需将其复制到 /Applications
中,而在 Windows 中,安装程序会在各处复制文件。在 Linux 中,make install
或 Debian 安装程序也会将文件复制到许多不同的文件夹中。
是因为 Mac 软件大多是独立的吗?或者是因为操作系统非常聪明,它可以在幕后处理依赖关系?
I have used Windows, Mac OS, and Linux (Ubuntu, Redhat). On the Mac OS, installing a new application (in most cases) only requires copying it into /Applications
, whereas in Windows, the installer copies files all over the place. In Linux, make install
or the Debian installer also copy files into many different folders.
Is it because Mac software is mostly self-contained? Or is it because the OS is so clever that it handles the dependencies under the hood?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这只是如何处理依赖关系的选择,而不是操作系统本身所做的任何魔法。自包含应用程序的优点是可以消除依赖性问题并简化应用程序管理(拖放!),但随之而来的是需要将库和其他依赖项与应用程序捆绑在一起而导致膨胀的代价。此外,需要勤于更新/维护应用程序,以便纠正安全缺陷等问题(使用包管理器可以更简单地完成这项任务)。
It's just a choice in how dependencies are handled, not any magic done by the OS itself. Self-contained applications have the advantage of dropping dependency issues and simplifying application management (drag and drop!), but bring with them the price of bloat with needing to bundle libraries and other dependencies with the applications. In addition, one needs to be diligent in the updating/maintenance of the applications so that issues such as security flaws can be corrected (a task that is somewhat simpler with a package manager).
因为 OS X 上的大多数“.app”应用程序都是独立的,并且打包了所有依赖项的自己版本。以 Perforce 为例,他们的每个 GUI 应用程序(P4v 和 P4Admin)都捆绑了自己的依赖项,这意味着每个应用程序都附带了 100 MB 的 QT 库,应用程序总数接近半 GB。
但这是一种权衡,一方面是尺寸,另一方面是易于安装。
Because most ".app" applications on OS X are self-contained, and package their own versions of all of their dependencies. Taking Perforce as an example, each of their GUI apps (P4v and P4Admin) both bundle their own dependencies, which means each one comes with 100s of MBs of QT libraries, for almost half a Gigabyte total for the apps.
But it's a tradeoff, size on the one hand for ease of installation on the other.
我不能肯定地说 100%,但主要是因为它是独立的。通常,当软件启动时,它会创建它需要的任何文件,通常是一个 plist 和可能的几个其他文件,但通常不超过几个。
I can't say 100% for sure, but yeah its mostly because it is self contained. Usually when the software is started it will create whatever files it needs to, that usually is a plist and possibly a couple of other files, but usually no more than a few.
正如其他人所说,Mac .app 文件基本上是独立的。另一方面,Windows 要求将大量信息输入 Windows 注册表。必须注册 DLL、快捷方式、shell 扩展、卸载要求等。
As others have said, Mac .app files are by and large self contained. Windows, on the other hand requires that a lot of information go in to Windows registry. DLLs have to be registered, shortcusts, shell extensions, uninstall requirements etc. etc. etc.