Pourquoi ne dois-je pas installer de programmes?

13

Je viens de commencer à utiliser un Mac pour le développement iOS, issu de deux décennies d'utilisation de Windows, et je suis étonné et confus de constater qu'il n'y a pas de processus d'installation pour les programmes Mac .... il vous suffit de les télécharger, d'ouvrir le DMG, recopiez le fichier et hop.

Cela m'embrouille sans fin.

Quelqu'un peut-il expliquer sur le plan technique quelle est la différence? Comment pourrait-il ne pas être nécessaire d'effectuer un processus d'installation?

Et si une telle chose est possible, pourquoi tous les systèmes d'exploitation ne fonctionnent-ils pas de cette façon?

nom_utilisateur_temporaire
la source
Il convient de noter que le simple fait de glisser le *.app dossier sur votre disque local peut déclencher des actions sur les fichiers. C'est aussi nnn.appun dossier , pas un fichier. Le fonctionnement des applications mac est assez complexe.
Fake Name
Je voudrais simplement souligner que les installateurs Windows font certaines choses en plus de copier des fichiers et de définir des raccourcis. L'une consiste à créer un point de restauration afin que le système puisse être restauré à son état d'origine en cas de problème. Un autre pour mettre à jour le registre avec un processus de désinstallation. Étant donné que les applications Windows ne sont pas regroupées comme les applications OS X, ce dernier processus est absolument nécessaire.
Kris Harper

Réponses:

15

Les utilisateurs de Mac américains posent la même question dans l'autre sens: pourquoi avez-vous besoin d'un (dé) installateur pour tout dans Windows?

La majorité des programmes Mac sont des bundles complets - toutes leurs ressources sont dans le dossier de l'application (clic droit sur l'icône de l'application -> Afficher le contenu du package). Donc, ils s'exécuteront de n'importe où, il y a une variable système qui indique au code où il se trouve. Souvent, une application peut être exécutée directement à partir du DMG téléchargé et même à partir d'un serveur distant. Un peu de performance mais ça va marcher. Les paramètres utilisateur sont dans la bibliothèque de l'utilisateur, il existe également des routines système pour gérer la mécanique.

Les Mac n'ont pas de registre central qui nécessite une configuration (ou une maintenance), donc rien n'est nécessaire non plus.

Si vous développez des applications Mac, vous devez vous efforcer de ne pas avoir besoin d'un programme d'installation - uniquement si vous installez des bibliothèques partagées ou des services au niveau du shell. En général, il est possible de s'en passer.

Puisque vous vous dirigez vers la programmation iOS, je vous suggère de ne pas vous en soucier. Les règles iOS vous diront où enregistrer quoi, et ce n'est PAS négociable. Les préférences vont ici, les données utilisateur y vont. Vous allez utiliser les API fournies. Se conformer. Obéit.

Paul
la source
Aucune application ne peut penser différemment?
Machinarius
Le revers de la médaille est que si une application qui est groupée (.app) ajoute des fichiers au système (comme dans / Library, d'autres endroits), enregistre des services, des volets de préférences, etc., un simple "supprimer le .app" ne fait pas ne le nettoyez pas, et vraiment, rien ne le nettoie, bien qu'il existe d'autres applications qui nettoient (ou du moins le prétendent) des artefacts des applications non présentes.
Hugo
Pouvez-vous expliquer en quoi cela a un sens? De nombreuses applications doivent être reconnues comme gestionnaires de certains fichiers. C'est impossible à faire avec juste un processus d'extraction de fichiers; l'application doit s'enregistrer quelque part, peut-être l'équivalent d'un registre Windows. Comment une application n'a-t-elle pas besoin d'un programme d'installation?
user541686
5

En fait, il y a beaucoup de choses sur OS X qui doivent être "installées".

Normalement, les applications "installées" sont des packages qui incluent certaines instructions. Pour faire simple, le package exécute un script et indique au système de créer / déplacer des fichiers dans différentes parties du système d'exploitation. Cela est nécessaire pour des logiciels comme la suite Adobe CS ou Microsoft Office.

Les autres types d'applications sont des "applications autonomes", dans lesquelles vous n'avez besoin que d'un seul fichier exécutable. Ce fichier, une fois ouvert, crée ensuite ses dépendances, ses fichiers de préférences, etc.

ronaldpoi
la source
3

Dans de nombreux cas, un programme d'installation de Windows ne fait rien d'autre que d'extraire les fichiers compressés et de les écrire dans la destination.

Et puis il crée quelques raccourcis, et il peut s'enregistrer pour ouvrir des fichiers avec des extensions spécifiques.

Il n'y a rien de magique à installer un logiciel sous Windows, et pour la plupart des logiciels Windows, vous pouvez en fait prendre le répertoire des logiciels installés et le copier directement sur un autre ordinateur et l'exécuter là sans faire de (ré) installation.

Il s'agit donc principalement d'une différence entre les interfaces utilisateur (qui est responsable de la copie des fichiers) et non d'une différence entre ce qui se passe réellement.

MTilsted
la source