¿Por qué no tengo que instalar programas?

Recién comencé a usar una Mac para el desarrollo de iOS, después de dos décadas de uso de Windows, y estoy asombrado y confundido al descubrir que no hay un proceso de instalación para los programas de Mac... simplemente descárguelos, abra el DMG, copie el archivo y listo.

Esto me confunde sin fin.

¿Alguien puede explicar a nivel técnico cuál es la diferencia? ¿Cómo es posible que no sea necesario realizar un proceso de instalación?

Y si tal cosa es posible, ¿por qué no todos los sistemas operativos funcionan de esa manera?

Vale la pena señalar que simplemente arrastrar la *.app carpeta a su disco local puede desencadenar acciones de archivo. Además, eso nnn.appes una carpeta , no un archivo. El funcionamiento de las aplicaciones de Mac es bastante complicado.
Solo me gustaría señalar que los instaladores de Windows hacen algunas cosas además de copiar archivos y configurar accesos directos. Una es crear un punto de restauración para que el sistema pueda restaurarse a su estado original si algo sale mal. Otro para actualizar el registro con un proceso de desinstalación. Dado que las aplicaciones de Windows no están incluidas como las aplicaciones de OS X, el último proceso es definitivamente necesario.

Respuestas (3)

Los usuarios de Mac nos hacemos la misma pregunta al revés: ¿Por qué necesita un (des)instalador para todo en Windows?

La mayoría de los programas de Mac son paquetes completos: todos sus recursos están en la carpeta de la aplicación (haga clic con el botón derecho en el icono de la aplicación -> Mostrar contenido del paquete). Entonces se ejecutarán desde cualquier lugar, hay una variable del sistema que le dice al código dónde está. A menudo, una aplicación se puede ejecutar directamente desde el DMG descargado e incluso desde un servidor remoto. Un poco de rendimiento, pero funcionará. La configuración del usuario está en la biblioteca del usuario, también hay rutinas del sistema para manejar la mecánica.

Las Mac no tienen un registro central que requiera configuración (o mantenimiento), por lo que tampoco es necesario que vaya allí.

Si está desarrollando aplicaciones para Mac, debe esforzarse mucho para no necesitar un instalador, solo si está instalando bibliotecas compartidas o servicios a nivel de shell. En general, es posible prescindir.

Dado que te diriges a la programación de iOS, te sugiero que no te preocupes por eso. Las reglas de iOS le dirán dónde guardar qué, y NO es negociable. Las preferencias van aquí, los datos del usuario van allí. Utilizará las API proporcionadas . Cumplir. Cumplir.

¿Ninguna aplicación puede pensar diferente?
La otra cara de la moneda es que si una aplicación que está incluida (.app) agrega archivos al sistema (como en /Librería, otros lugares), registra servicios, paneles de preferencias, etc., un simple "eliminar la .aplicación" no No lo limpia, y en verdad, nada lo limpia, aunque hay otras aplicaciones que (o al menos lo afirman) limpian los artefactos de las aplicaciones que no están presentes.
¿Puedes explicar cómo esto tiene algún sentido? Muchas aplicaciones necesitan ser reconocidas como manejadoras de ciertos archivos. Eso es imposible de hacer con solo un proceso de extracción de archivos; la aplicación necesita registrarse en algún lugar, quizás el equivalente a un registro de Windows. ¿Cómo puede una aplicación no necesitar un instalador?

En realidad, hay muchas cosas en OS X que deben "instalarse".

Normalmente, las aplicaciones que se "instalan" son paquetes que incluyen ciertas instrucciones. En pocas palabras, el paquete ejecuta un script y le dice al sistema que cree/mover archivos en diferentes partes del sistema operativo. Esto es necesario para software como Adobe CS suite o Microsoft Office.

El otro tipo de aplicaciones son una especie de "aplicaciones independientes", en las que solo necesita un archivo ejecutable. Este archivo, cuando se abre, crea sus dependencias, archivos de preferencias y demás.

En muchos casos, un instalador de Windows realmente no hace nada más que extraer los archivos comprimidos y escribirlos en el destino.

Y luego crea algunos accesos directos y podría registrarse para abrir archivos con extensiones específicas.

No hay nada mágico en la instalación de software en Windows, y para gran parte del software de Windows, de hecho, puede tomar el directorio de software instalado y copiarlo directamente a otra computadora y ejecutarlo allí sin hacer una (re)instalación.

Por lo tanto, es principalmente una diferencia entre las interfaces de usuario (quién es responsable de copiar los archivos), no una diferencia entre lo que realmente sucede.