Dlaczego nie muszę instalować programów?

13

Właśnie zacząłem używać systemu Mac dla iOS, pochodzącego z dwudziestu lat użytkowania systemu Windows, i jestem zdumiony i zaskoczony tym, że nie ma procesu instalacji programów Mac ... po prostu je pobierz, otwórz DMG, skopiuj plik i presto.

To mnie dezorientuje bez końca.

Czy ktoś może wyjaśnić na poziomie technicznym, na czym polega różnica? Jak może nie być konieczne przeprowadzenie procesu instalacji?

A jeśli coś takiego jest możliwe, dlaczego wszystkie systemy operacyjne nie działają w ten sposób?

nazwa_użytkownika tymczasowego
źródło
Warto zauważyć, że przeciągnięcie *.app folderu na dysk lokalny może wyzwalać działania na plikach. Również, że nnn.appjest to katalog , a nie plik. Sposób działania aplikacji Mac jest dość zaangażowany.
Fałszywe imię
Chciałbym tylko zaznaczyć, że instalatory Windows robią pewne rzeczy oprócz kopiowania plików i ustawiania skrótów. Jednym z nich jest utworzenie punktu przywracania, aby system mógł zostać przywrócony do pierwotnego stanu, jeśli coś pójdzie nie tak. Kolejna aktualizacja rejestru za pomocą procesu odinstalowywania. Ponieważ aplikacje systemu Windows nie są pakowane tak jak aplikacje OS X, ten ostatni proces jest zdecydowanie konieczny.
Kris Harper

Odpowiedzi:

15

Użytkownicy komputerów Mac zadają to samo pytanie w drugą stronę: Dlaczego potrzebujesz (nie) instalatora do wszystkiego w systemie Windows?

Większość programów na komputery Mac to kompletne pakiety - wszystkie ich zasoby znajdują się w folderze aplikacji (kliknij prawym przyciskiem myszy ikonę aplikacji -> Pokaż zawartość pakietu). Będą więc działać z dowolnego miejsca, istnieje zmienna systemowa, która informuje kod, gdzie on jest. Często aplikację można uruchomić bezpośrednio z pobranego DMG, a nawet ze zdalnego serwera. Trochę hit wydajności, ale będzie działać. Ustawienia użytkownika znajdują się w bibliotece użytkownika, istnieją również procedury systemowe do obsługi mechaniki.

Komputery Mac nie mają centralnego rejestru, który wymagałby konfiguracji (lub konserwacji), więc też nie trzeba tam iść.

Jeśli tworzysz aplikacje dla komputerów Mac, powinieneś bardzo starać się nie potrzebować instalatora - tylko jeśli instalujesz biblioteki współdzielone lub usługi na poziomie powłoki. Ogólnie rzecz biorąc, można się bez tego obejść.

Ponieważ zmierzasz w kierunku programowania na iOS, sugeruję, aby się tym nie martwić. Reguły iOS podpowiedzą, gdzie zapisać, i NIE jest to do negocjacji. Preferencje przejdź tutaj, dane użytkownika tam. Państwo będzie używać dostarczonych API. Zastosować się. Być posłusznym.

Paweł
źródło
Żadna aplikacja nie może myśleć inaczej?
Machinarius
Drugą stroną jest to, że jeśli dołączona aplikacja (.app) dodaje pliki do systemu (np. W / Library, innych miejscach), rejestruje usługi, panele preferencji itp., Proste „usuwanie aplikacji” nie jest nie usuwaj go i naprawdę nic go nie oczyszcza, chociaż istnieją inne aplikacje, które usuwają artefakty z nieobecnych aplikacji (a przynajmniej tak twierdzą).
Hugo
Czy możesz wyjaśnić, jak to ma sens? Wiele aplikacji musi zostać rozpoznanych jako programy obsługi niektórych plików. Jest to niemożliwe tylko w przypadku procesu wyodrębniania pliku; aplikacja musi się gdzieś zarejestrować, być może odpowiednik rejestru systemu Windows. Jak aplikacja może nie potrzebować instalatora.
user541686,
5

W rzeczywistości w systemie OS X jest wiele rzeczy, które należy „zainstalować”.

Zazwyczaj aplikacje, które są „instalowane”, to pakiety zawierające określone instrukcje. Mówiąc najprościej, pakiet uruchamia skrypt i informuje system o tworzeniu / przenoszeniu plików w różnych częściach systemu operacyjnego. Jest to konieczne w przypadku oprogramowania takiego jak pakiet Adobe CS lub Microsoft Office.

Innym rodzajem aplikacji są „samodzielne aplikacje”, w których potrzebujesz tylko jednego pliku wykonywalnego. Ten plik po otwarciu tworzy następnie swoje zależności, pliki preferencji i tym podobne.

ronaldpoi
źródło
3

W wielu przypadkach instalator systemu Windows tak naprawdę nie robi nic innego niż rozpakowanie skompresowanych plików i zapisanie ich w miejscu docelowym.

Następnie tworzy kilka skrótów i może się zarejestrować, aby otwierać pliki z określonymi rozszerzeniami.

Nie ma nic magicznego w instalowaniu oprogramowania w systemie Windows, a w przypadku większości oprogramowania Windows można w rzeczywistości pobrać katalog zainstalowanego oprogramowania i skopiować go bezpośrednio na inny komputer i uruchomić tam bez ponownej instalacji.

Dlatego jest to głównie różnica między interfejsami użytkownika (kto jest odpowiedzialny za kopiowanie plików), a nie różnica między tym, co naprawdę się dzieje.

MTilsted
źródło