Dlaczego aplikacje Mac nigdy się nie „zamykają”?

60

Jestem użytkownikiem systemu Linux / Windows / Mac. Lubię wszystkie systemy, * nixes bardziej niż Windows, ale lubię wszystkie nonethless.

W tym roku zacząłem używać komputera Mac, a różnica między Linuksem a Windowsem, której nie rozumiem, polega na tym: dlaczego aplikacje nigdy nie zamykają się po naciśnięciu przycisku „x”, skoro tak zachowują się Linux i Windows? Muszę nacisnąć cmd + q lub wyjść z menu górnego.

Mam na myśli, czy to tylko różni się od nich wszystkich, czy istnieje powód takiego zachowania? Nie widzę żadnej przewagi. Jeśli chcę zamknąć, chcę zamknąć. Kropka.

Czy ktoś zna przyczynę tego?

Ktoś nadal używa ciebie MS-DOS
źródło
1
Po prostu domyślnym zachowaniem Xprzycisku jest ukrycie. Zgadzam się, że to głupie, ale wynika z mentalności „Twój Macbook wie lepiej niż Ty”. Niektóre programy Windows i Linux robią to samo, ale ogólnie Xoznaczają zamknięcie.
Falmarri,
1
Czasami zachowanie domyślne ma powód, nawet historyczny, co nie ma sensu. Chciałbym to wiedzieć.
Ktoś nadal cię używa MS-DOS
1
Myślę, że historycznie zamyka okno, ale nie zamyka aplikacji. Nie wiem na pewno dlaczego, ale podejrzewam, że jest to zakorzenione w czasach, zanim komputery Mac miały wirtualną pamięć i prawdziwe przełączanie aplikacji, możesz zamknąć okna, być może zwolnić trochę pamięci, ale nie spowalniać otwierania nowej.
Net
25
Gdy aplikacja ma zawsze tylko jedno (główne) okno (np. Preferencje systemowe ), zamknięcie go (albo Plik > Zamknij , Command + W lub czerwony X na okno w lewym górnym rogu) powoduje zamknięcie aplikacji („gotowe” przez „okno” oznacza, że ​​„skończyłeś” z aplikacją, ponieważ jest tylko jedno okno). Aplikacje, które mogą mieć więcej niż jedno okno główne, nie zamykają się po zamknięciu ostatniego okna. Aplikacja pozostaje otwarta, więc możesz użyć (np. Plik > Nowy… (lub Plik > Otwórz… ), aby otworzyć nowe okno bez konieczności zamykania i ponownego uruchamiania aplikacji.
Chris Johnsen,
1
@Chris twój powinien być odpowiedzią, to dla mnie najbardziej sensowne
phunehehe

Odpowiedzi:

89

W pewnym sensie jest to konwencja interfejsu użytkownika z historią sięgającą 1984 roku. Ponieważ zarówno Windows, jak i X11 publikują datę oryginalnego GUI dla Maca, można powiedzieć, że Windows robi to tak, jakby „inaczej było” niż Windows co sugeruje, że Mac to dziwak.

W pierwszych dniach komputerów Macintosh można było uruchamiać tylko jedną aplikację na raz. Otwarcie aplikacji bez okien było całkowicie uzasadnione, ponieważ aplikacja zawsze miała widoczny pasek menu u góry ekranu. Po zamknięciu wszystkich okien aplikacji sensowne było pozostawienie aplikacji otwartej, ponieważ zawsze można użyć paska menu do utworzenia nowego dokumentu lub otwarcia istniejącego. Wyjście z procesu tylko dlatego, że okno było zamknięte, nie miało wtedy sensu, ponieważ nie byłoby innego procesu, na którym można by się skupić.

Kilka lat później komputer Macintosh z końca lat 80. przeszedł do stanu, w którym była wystarczająca ilość pamięci, aby otworzyć wiele aplikacji jednocześnie. Ponieważ narzędzia do tego celu musiały zachować zgodność wsteczną z istniejącymi aplikacjami, naturalnie nie zamierzały zmieniać podstawowych konwencji interfejsu użytkownika i zabijać aplikacje bez otwartych okien. Rezultatem było czyste rozróżnienie w interfejsie użytkownika między wizualnym elementem GUI (okno) a abstrakcyjnym działającym procesem (aplikacja).

W międzyczasie Microsoft rozwijał system Windows. Na początku lat 90-tych Microsoft miał dobrze działający system Windows 3.X, a Motif na X11 był mocno zainspirowany pracą Microsoftu. Podczas gdy Macintosh został zbudowany w oparciu o interfejs użytkownika aplikacji, system Windows (jak sugeruje nazwa) został zbudowany wokół filozofii, że samo okno powinno być podstawową jednostką interfejsu użytkownika, a jedyną koncepcją aplikacji jest postać Okna kontenerów w stylu MDI. X11 uznał również aplikację za w dużej mierze nieistotną z punktu widzenia interfejsu użytkownika. Pojedynczy proces może nawet otworzyć okna na wielu wyświetlaczach podłączonych do kilku komputerów w (bardzo nowej) sieci lokalnej.

Problem z podejściem opartym na stylu Windows polegał na tym, że nie można było wykonywać niektórych interakcji użytkownika, takich jak otwieranie za pomocą tylko paska menu, a użytkownik nie miał żadnej rzeczywistej gwarancji, że proces faktycznie zakończył się po zniknięciu okien. Użytkownik komputera Macintosh może łatwo przełączyć się na aplikację działającą bez systemu Windows, aby go zamknąć lub z niego korzystać, ale system Windows nie zapewnił absolutnie żadnej możliwości interakcji z takim procesem. (Z wyjątkiem zauważenia go w menedżerze zadań i zabicia go.) Ponadto użytkownik nie mógł zdecydować się na pozostawienie uruchomionego procesu, aby mógł do niego wrócić bez ponownego uruchamiania, z wyjątkiem zatrzymania widocznego interfejsu użytkownika z zaśmiecania procesu na ekranie i zużywa (wówczas bardzo ograniczone) zasoby. Podczas gdy Macintosh miał menu „Aplikacje” do przełączania, Windows spopularyzował „pasek zadań”, który wyświetlał wszystkie okna najwyższego poziomu bez względu na proces, który je otworzył. W przypadku ciężkich wielozadaniowości „zupa z paska zadań” okazała się nieskuteczna. Dla bardziej podstawowych użytkowników przewidywalność tego, co dokładnie kwalifikuje się jako „okno najwyższego poziomu”, była czasami myląca, ponieważ nie było możliwej do nauczenia się reguły dotyczącej tego, które okna faktycznie pojawiałyby się na pasku.

Pod koniec lat 90. najczęściej używany był graficzny interfejs użytkownika Microsoft. Większość użytkowników ma komputer z systemem Windows zamiast komputera Macintosh lub UNIX X11. W związku z tym, w miarę jak Linux zyskiwał na popularności, wielu programistów wywodziło się z kontekstu korzystania z konwencji interfejsu Windows zamiast z konwencji UNIX. W połączeniu z historią wczesnych prac nad takimi rzeczami, jak rysowanie motywów na podstawie konwencji interfejsu użytkownika systemu Windows, w wyniku czego nowoczesne środowiska pulpitu Linux zachowują się bardziej jak Windows niż klasyczne X11, takie jak twm lub Macintosh.

W tym momencie „klasyczny” Mac OS zaczął działać z Mac OS 9, a Macintosh stał się maszyną z systemem Unix z bardzo różnymi odwzorowaniami w postaci Mac OS X. W ten sposób odziedziczył koncepcję Docka w NeXT UI. Na oryginalnych maszynach NeXT zastosowano X11, ale z dość unikalnym zestawem widżetów i konwencjami interfejsu użytkownika. Prawdopodobnie najbardziej charakterystycznym z nich był Dock, który był rodzajem programu uruchamiającego programy kombinowane i przełącznika zadań. (Okno dialogowe otwierania pliku „wielokolumna” znane w OS-X również pochodzi z NeXT, a także z kilku innych widocznych rzeczy. Jednak najbardziej znaczącymi zmianami w przejściu na OS-X były wszystkie niewidoczne.) Dock działał dobrze z koncepcją Macintosha „Aplikacja jako podstawowy element interfejsu użytkownika”. Więc, użytkownik może zobaczyć, że aplikacja jest otwarta po znaku na ikonie doku, i przełącz się na nią lub uruchom ją, klikając ją. Ponieważ współczesny system OS-X obsługuje teraz wielozadaniowość o wiele lepiej niż klasyczny Mac OS, nagle zrozumiałe, że użytkownik może chcieć mieć różne rzeczy działające w tle, takie jak oprogramowanie do konwersji wideo, które uruchamia się w tle , rejestrator ekranu, oprogramowanie VOIP, radio internetowe, serwer WWW, coś, co mówi w odpowiedzi na wypowiedziane polecenie itp. Żadne z tych rzeczy niekoniecznie wymaga otwarcia widocznego okna, aby nadal mieć rozsądne wrażenia użytkownika, a także menu pasek był nadal oddzielny od okien u góry ekranu i można było mieć menu bezpośrednio na ikonie doku, dzięki czemu użytkownik zawsze mógł wchodzić w interakcje z programem, który nie miał otwartego interfejsu użytkownika. w konsekwencji, porzucenie istniejącej konwencji utrzymywania otwartości aplikacji, aby być bardziej podobnym do systemu Windows, byłby postrzegany przez większość użytkowników komputerów Mac jako okropny krok w złym kierunku. To sprawia, że ​​kilka sposobów interakcji jest niemożliwych, bez rzeczywistych korzyści.

Oczywiście niektórzy użytkownicy wolą konwencję Windows i żaden z nich nie jest „możliwy do udowodnienia”. Ale migracja z czegoś takiego pożytecznego bez żadnego uzasadnionego powodu nie miałaby sensu. Mamy nadzieję, że ta wycieczka po części historii daje ci trochę kontekstu, który uważasz za przydatny.

wrosecrans
źródło
1
Nit: NeXTSTEP nie używał X11. Miał własne okienko oparte na Display PostScript (które ostatecznie stanowiło podstawę Quartz 2D systemu OS X, choć oparte jest raczej na PDF niż PS).
gsnedders,
Tyle że wszyscy imitowali Xerox Alto. Jobs i Gates powiedzieli tak dosłownie. A X11 / Motif opierał się w zasadzie na wszystkich z nich.
Evi1M4chine
1
Apple daje programistom wybór zamknięcia aplikacji po zamknięciu ostatniego okna. Wybór należy do programistów. Najwyraźniej wielu programistów woli tworzyć takie aplikacje.
SpaceDog,
20

Okno nie jest aplikacją w MacOS, w MacOS Windows łączy się z aplikacją. Dlatego aplikacja nie kończy działania po zamknięciu okna.

W systemie Windows okno jest aplikacją, dlatego aplikacja powinna wyjść po naciśnięciu przycisku wyjścia.

W systemie Linux deweloper decyduje, jakiej architektury chce użyć, możliwe są dwa sposoby ...

Johan
źródło
4
W systemie Windows możliwe są również obie drogi ...
Chris Down
1
A jeśli używasz Cocoa do tworzenia aplikacji, możesz wybrać, czy aplikacja ma zostać zamknięta po zamknięciu ostatniego okna.
Blacklight Shining
Ponadto Preferencje systemowe są zamykane po zamknięciu okna. (Mogą istnieć inne aplikacje, które to robią, ale to jedyna, o której mogę teraz myśleć.)
Blacklight Shining
@ChrisDown: Jak można wchodzić w interakcje z aplikacją bez okna w systemie Windows? Okno dokowane systemu?
Evi1M4chine
15

Jest to specyficzne dla aplikacji. Na przykład aplikacja Preferencje systemowe ma zakończyć się po kliknięciu na czerwony przycisk. Jednak większość programów zamyka okno (i znajdujące się w nim dokumenty) tylko wtedy, gdy próbujesz je „zamknąć”. Chyba chodzi o to, aby przyspieszyć działanie, gdy chcesz ponownie użyć aplikacji.

Jeśli chcę zamknąć, chcę zamknąć. Kropka.

Zgadzam się, więc używam skrótów klawiaturowych, Cmd+ wdo zamykania okna i Cmd+ qdo naprawdę wychodzenia. Większość aplikacji ma to zaimplementowane. Alternatywą jest kliknięcie prawym przyciskiem myszy ikony aplikacji i wybranie „Wyjdź”, co jest znacznie wolniejsze.

phunehehe
źródło
8

Tak, to bardzo, bardzo denerwujące.

Tymczasem ta aplikacja powinna pomóc:
http://www.carsten-mielke.com/redquits.html

Z opisu:

Czy próbowałeś kiedyś zamknąć aplikację za pomocą czerwonego przycisku i zastanawiałeś się, dlaczego jest ona nadal otwarta? RedQuits to zmienia. Wszystkie programy zamykają się i zamykają wszystkie otwarte okna po kliknięciu czerwonego przycisku.

Tamas
źródło
Ciekawe rozwiązanie
Ktoś nadal cię używa MS-DOS
1
Osoby korzystające z tego obejścia powinny prawdopodobnie przejść na system Windows lub nauczyć się filozofii OS X robienia rzeczy. Nie chcę tutaj rozpętać wojny z płomieniami, ale ogólnie rzecz biorąc ma to zastosowanie, gdy ktoś chce zachowywać się jak produkt inny. Dobrze, że narzędzie istnieje. Prawdopodobnie korzysta z niego kilka osób.
Rafael Bugajewski
2
I to jest jedyna poprawna odpowiedź: DZIĘKUJĘ @Tamas! Zasadą jest, że komputer i oprogramowanie powinny być elastyczne i odpowiadać moim potrzebom i nawykom - a nie odwrotnie!
Marecky,
3

Powodem tego jest to, co jest oknem. W systemie Microsoft Windows każda aplikacja ma własne okno, w którym w systemie Mac OSX i poprzednich wersjach systemu Mac OS każdy plik lub dokument ma własne okno. Kiedy „zamykasz Safari”, nie zamykasz [wychodzi] z aplikacji Safari, a jedynie zamykasz plik (http://unix.stackexchange.com). Podobnie, jeśli zamkniesz okno Pages (edytor tekstu Apple), zamykasz dokument, nad którym pracowałeś, ale aplikacja Pages nadal działa. Jeśli chcesz zamknąć aplikację, użyj CMD + Q. Niektóre aplikacje do tworzenia plików nie są zgodne z tym schematem, ponieważ mogą mieć otwarte wiele okien lub nie mieć ich wcale i nadal działać (iTunes).

Alternatywne kroki: Naciśnij CMD + Q, aby zamknąć aplikację zamiast zamykać okno [CMD + W] Drugie kliknięcie ikony w stacji dokującej (CTRL + kliknięcie lub prawy przycisk myszy lub dotyk dwoma palcami na gładziku / magicznej myszy) i wybranie rzucić w ten sposób.

Niestety jest to tylko jedna drobna rzecz, którą należy zrobić, aby oduczyć się systemu Windows i pomyśleć o Mac: D

vyse
źródło
Dostałem to po kilku miesiącach. :) Właściwie oba podejścia mają sens.
Ktoś nadal cię używa MS-DOS
0

Na początku myślałem, że to też zły pomysł, ale naprawdę - teraz myślę, że to niesamowite. Właściwie nie podoba mi się to głupie zachowanie, że „X” zamyka aplikację. Bardzo ważne jest, aby zauważyć, że jest to znacznie lepsze podejście do aplikacji opartych na dokumentach, takich jak Photoshop lub edytory dokumentów - teraz zawsze zapominam, że „X” kończy aplikację (np. Photoshop), a następnie muszę wydać dodatkowe czas przy inicjalizacji. Aplikacja po prostu czeka na twoje nowe dokumenty, dlaczego mam ją zakończyć? Ok - to świnia pamięci, ale obecnie pamięć RAM jest tak tania, że ​​w ogóle nie ma znaczenia.

zzz
źródło