Perché le applicazioni Mac non vengono mai "chiuse"?


60

Sono un utente Linux / Windows / Mac. Mi piacciono tutti i sistemi, * nix più di Windows, ma mi piacciono comunque tutti.

Ho iniziato a usare un Mac quest'anno e una differenza tra Linux e Windows che non riesco a capire è: perché le applicazioni non si chiudono mai quando premo il pulsante "x", dal momento che questo è il modo in cui Linux e Windows si comportano? Devo premere cmd + q o uscire dal menu su.

Voglio dire, è solo per essere diverso da tutti loro, o c'è una ragione per questo comportamento? Non vedo alcun vantaggio. Se voglio chiudere, voglio chiudere. Periodo.

Qualcuno sa il motivo di ciò?


1
È solo che il comportamento predefinito del Xpulsante è nascondere. Sono d'accordo che è stupido, ma è il risultato della mentalità "Il tuo macbook conosce meglio di te". Alcuni programmi Windows e Linux fanno la stessa cosa, ma in generale Xsignifica vicino.
Falmarri,

1
A volte un comportamento predefinito ha una ragione, anche storica che non ha senso. Mi piacerebbe saperlo
Qualcuno usa ancora MS-DOS il

1
Penso che storicamente chiuda la finestra, ma non chiude l'applicazione. Non so con certezza perché, ma sospetto che sia radicato nel tempo prima che i Mac avessero memoria virtuale e cambio di applicazione reale, potresti chiudere Windows, eventualmente liberare un po 'di memoria ma non rallentare l'apertura (nuova).
Neth,

25
Quando un'applicazione ha sempre una sola finestra (principale) (ad es . Preferenze di Sistema ), chiudendola (o File > Chiudi , Comando + W, o la X rossa per finestra in alto a sinistra) esce dall'applicazione (essendo “fatto con ”la finestra significa che hai“ finito ”l'applicazione poiché esiste solo una finestra). Le applicazioni che possono avere più di una finestra principale non si chiudono quando si chiude l'ultima finestra. L'applicazione rimane aperta, quindi è possibile utilizzare (ad esempio) File > Nuovo ... (o File > Apri ... ) per aprire una nuova finestra senza dover chiudere e riavviare l'applicazione.
Chris Johnsen,

1
@Chris la tua dovrebbe essere una risposta, ha più senso per me
phunehehe

Risposte:


89

In un certo senso, è una convenzione dell'interfaccia utente con una storia che risale al 1984. Dato che Windows e X11 entrambi datano la GUI originale del Mac, si potrebbe dire che Windows fa la strada di Windows "solo per essere diverso" piuttosto che suggerendo che il Mac è la strana palla.

Nei primi giorni del Macintosh, era possibile eseguire solo un'applicazione alla volta. Era perfettamente ragionevole che un'applicazione si aprisse senza finestre perché l'applicazione aveva sempre una barra dei menu visibile nella parte superiore dello schermo. Quando hai chiuso tutte le finestre di un'applicazione, ha senso mantenere aperta l'applicazione perché puoi sempre utilizzare la barra dei menu per creare un nuovo documento o aprirne uno esistente. Uscire dal processo solo perché una finestra era chiusa non aveva senso in quel momento, perché non ci sarebbe stato nessun altro processo su cui concentrarsi.

Pochi anni dopo, il Macintosh della fine degli anni '80 arrivò al punto in cui c'era memoria sufficiente per aprire più applicazioni contemporaneamente. Dal momento che gli strumenti per farlo dovevano mantenere la retrocompatibilità con le applicazioni esistenti, naturalmente non avrebbero cambiato le convenzioni di base dell'interfaccia utente e avrebbero ucciso le applicazioni senza aprire finestre. Il risultato è stato una chiara distinzione nell'interfaccia utente tra un elemento GUI visivo (una finestra) e un processo in esecuzione astratto (l'applicazione).

Nel frattempo, Microsoft aveva sviluppato Windows. All'inizio degli anni '90, Microsoft 3. Windows funzionava bene e Motif su X11 era stato fortemente ispirato dal lavoro di Microsoft. Mentre il Macintosh era costruito attorno alla presentazione di un'interfaccia utente delle applicazioni, Windows (come suggerirebbe il nome) è stato costruito attorno alla filosofia secondo cui la finestra stessa dovrebbe essere l'unità fondamentale dell'interfaccia utente, con l'unico concetto di un'applicazione sotto forma di Finestre contenitore stile MDI. X11 ha anche considerato un'applicazione in gran parte irrilevante dal punto di vista dell'interfaccia utente. Un singolo processo potrebbe persino aprire finestre su più schermi collegati a più macchine attraverso una rete locale (molto nuova).

Il problema con l'approccio in stile Windows era che non si potevano fare alcune forme di interazione dell'utente, come l'apertura con solo una barra dei menu, e l'utente non aveva alcuna reale garanzia che un processo fosse effettivamente uscito quando le finestre erano sparite. Un utente Macintosh potrebbe facilmente passare a un'applicazione che era in esecuzione senza Windows per chiuderla o per usarla, ma Windows non forniva assolutamente alcun modo all'utente di interagire con tale processo. (Tranne per notarlo nel task manager e ucciderlo.) Inoltre, un utente non può scegliere di lasciare un processo in esecuzione in modo da poterlo riavviare senza riavviarlo, tranne per mantenere una UI visibile dal disordine del processo sullo schermo e consumando risorse (al momento molto limitate). Mentre il Macintosh aveva un menu "Applicazioni" per il cambio, Windows rese popolare una "barra delle applicazioni" che mostrava tutte le finestre di livello superiore senza alcun riguardo per il processo che le aveva aperte. Per i multitasking pesanti, la "minestra della barra delle attività" si è rivelata inflessibile. Per gli utenti più elementari, l'upredictability su ciò che si è qualificato esattamente come "finestra di livello superiore" era a volte confuso in quanto non esistevano regole apprendibili su quali finestre sarebbero state effettivamente visualizzate sulla barra.

Alla fine degli anni '90, la GUI di Microsoft era la più utilizzata. La maggior parte degli utenti ha un PC Windows anziché un Macintosh o una workstation UNIX X11. Di conseguenza, con il crescere della popolarità di Linux nel tempo, molti sviluppatori provenivano da un background di utilizzo delle convenzioni dell'interfaccia utente di Windows anziché delle convenzioni dell'interfaccia utente di UNIX. Ciò si è combinato con la storia dei primi lavori su cose come Motif che si basano sulle convenzioni dell'interfaccia utente di Windows, per far sì che i moderni ambienti desktop Linux si comportino molto più come Windows rispetto ai classici X11 come twm o Macintosh.

A questo punto, il Mac OS "classico" aveva fatto il suo corso con Mac OS 9 e il Macintosh è diventato una macchina alimentata da Unix con budelli molto diversi sotto forma di Mac OS X. Pertanto, ha ereditato il concetto di interfaccia utente NeXT di Dock. Sulle macchine NeXT originali, è stato utilizzato X11, ma con un set abbastanza unico di widget e convenzioni dell'interfaccia utente. Probabilmente il più caratteristico di questi era il Dock, che era una sorta di programma di avvio combinato e commutatore di attività. (La finestra di dialogo "apri file" a più colonne che è nota in OS-X proviene anche da NeXT, così come da altre cose visibili. I cambiamenti più significativi nella transizione di OS-X sono stati tutti quelli invisibili, però.) Il Dock ha funzionato bene con il concetto del Macintosh di "Applicazione come elemento fondamentale dell'interfaccia utente". Così, un utente potrebbe vedere che un'applicazione è aperta da un segno sull'icona del dock e passare ad essa o avviarla facendo clic su di essa. Dato che il moderno OS-X ora supportava il multitasking molto meglio del classico Mac OS, all'improvviso aveva senso che un utente avrebbe potuto avere ogni sorta di cose in esecuzione in background, come ad esempio un software di conversione video che si avvia in background , uno screen recorder, un software VOIP, una radio su Internet, un web server, qualcosa che parla in risposta a un comando vocale, ecc. Nessuna di queste cose richiede necessariamente che una finestra visibile sia aperta per avere ancora un'esperienza utente sensata, e il menu la barra era ancora separata dalle finestre nella parte superiore dello schermo e si poteva avere un menu direttamente sull'icona del dock, quindi un utente poteva sempre interagire con un programma che non aveva un'interfaccia utente aperta. conseguentemente, abbandonare la convenzione esistente di mantenere aperta un'applicazione, solo per essere più simile a Windows, sarebbe stata vista dalla maggior parte degli utenti Mac come un orribile passo nella direzione sbagliata. Rende impossibili diverse modalità di interazione, senza reali benefici.

Ovviamente, alcuni utenti preferiscono la convenzione di Windows, e nessuno dei due è "dimostrabilmente corretto". Ma migrare lontano da qualcosa di utile come quello, senza una buona ragione, non avrebbe senso. Spero che questo tour attraverso un po 'della storia ti dia un po' di contesto che ritieni utile.


1
Nit: NeXTSTEP non ha usato X11. Aveva una propria finestra basata su Display PostScript (che alla fine costituiva la base di Quartz 2D di OS X, sebbene basata su PDF anziché su PS).
gsnedders,

Tranne il fatto che tutti imitarono Xerox Alto. Jobs e Gates lo dissero entrambi alla lettera. E X11 / Motif si basava praticamente su tutti.
Evi1M4chine,

1
Apple offre agli sviluppatori la possibilità di uscire da un'app dopo la chiusura dell'ultima finestra. Spetta agli sviluppatori fare questa scelta. Apparentemente molti sviluppatori preferiscono creare le loro app in questo modo.
SpaceDog

20

La finestra non è l'applicazione in MacOS, in MacOS la finestra si collega all'applicazione. Ecco perché l'applicazione non si chiude quando si chiude una finestra.

Su Windows la finestra è l'applicazione, ecco perché l'applicazione dovrebbe uscire quando si preme il pulsante di uscita.

Su Linux lo sviluppatore decide quale architettura preferisce utilizzare, in entrambi i modi è possibile ...


4
Su Windows sono possibili anche entrambi i modi ...
Chris Down,

1
E se stai utilizzando Cocoa per creare app, puoi scegliere se chiudere l'app quando viene chiusa l'ultima finestra.
Blacklight Shining

Inoltre, Preferenze di Sistema si chiude alla chiusura della finestra. (Potrebbero esserci altre app in bundle che lo fanno, ma al momento è l'unica a cui riesco a pensare.)
Blacklight Shining

@ChrisDown: come si interagirebbe con un'applicazione senza una finestra in Windows? La finestra mobile di sistema?
Evi1M4chine,

15

Questo è specifico per l'applicazione. Ad esempio, l'applicazione Preferenze di Sistema si chiude quando si fa clic sul pulsante rosso. Tuttavia, la maggior parte dei programmi chiude la finestra (e i documenti all'interno) solo quando si tenta di "chiuderla". Immagino che l'idea alla base sia quella di rendere le cose più veloci quando si desidera utilizzare nuovamente l'applicazione.

Se voglio chiudere, voglio chiudere. Periodo.

Sono d'accordo, quindi uso le scorciatoie da tastiera, Cmd+ wper chiudere la finestra e Cmd+ qper uscire davvero. La maggior parte delle applicazioni lo ha implementato. Un'alternativa è fare clic con il tasto destro sull'icona dell'applicazione e scegliere "Esci", che è molto più lento.


8

Sì, questo è molto, molto fastidioso.

Nel frattempo, questa app dovrebbe aiutare:
http://www.carsten-mielke.com/redquits.html

Dalla descrizione:

Hai mai provato a chiudere un'applicazione con il suo pulsante rosso e ti chiedi perché è ancora aperta? RedQuits cambia questo. Tutti i programmi ora si chiudono e chiudono tutte le finestre aperte se si fa clic sul pulsante rosso.


Soluzione interessante.
Qualcuno usa ancora il tuo MS-DOS il

1
Le persone che usano questa soluzione alternativa dovrebbero probabilmente passare a Windows o imparare la filosofia OS X di fare le cose. Non voglio iniziare una guerra di fiamma qui, ma questo generalmente si applica ogni volta che qualcuno vuole comportarsi come un prodotto come un altro. È buono che lo strumento esista. Probabilmente ci sono un paio di persone che lo usano.
Rafael Bugajewski,

2
E questa è l'unica risposta corretta, GRAZIE @Tamas! La regola è che il computer e il software dovrebbero essere flessibili e adattarsi alle mie esigenze e abitudini - non al contrario!
Marecky,

3

Il motivo è dovuto a ciò che è una finestra. In Microsoft Windows ogni applicazione ha una propria finestra in cui in Mac OSX e nelle versioni precedenti di Mac OS ogni file o documento ha una propria finestra. Quando "chiudi Safari" non stai chiudendo [uscendo] dall'applicazione Safari ma semplicemente chiudendo il file (http://unix.stackexchange.com). Allo stesso modo se chiudi la finestra di Pages (l'applicazione di elaborazione testi di Apple) stai chiudendo il documento su cui stavi lavorando ma l'applicazione Pages è ancora in esecuzione. Se si desidera chiudere l'applicazione, utilizzare CMD + Q. Alcune applicazioni che non creano file seguono questo schema in quanto possono avere più finestre aperte o nessuna e funzionare comunque (iTunes).

Passaggi alternativi: Premi CMD + Q per chiudere l'applicazione invece di chiudere la finestra [CMD + W] Fai clic secondario sull'icona sul dock (CTRL + clic o pulsante destro del mouse o tocca due dita sul trackpad / mouse magico) e scegli di smettere in quel modo.

Purtroppo questa è solo una piccola cosa che bisogna fare per disimparare Windows e pensare a Mac: D


L'ho preso dopo pochi mesi. :) In realtà, entrambi gli approcci hanno un senso.
Qualcuno usa ancora il tuo MS-DOS il

0

All'inizio ho pensato che fosse anche una cattiva idea, ma veramente - ora penso che sia fantastico. In realtà non mi piace quello stupido comportamento che "X" termina l'app. È molto importante notare che l'approccio molto migliore per app basate su documenti, come Photoshop o editor di documenti, in effetti - ora dimentico sempre di ricordare che "X" termina l'app (come Photoshop), e quindi ho bisogno di spendere ulteriori tempo di inizializzazione. L'applicazione è semplicemente lì in attesa di nuovi documenti, perché dovrei terminarlo? Ok - è un brutto ricordo, ma al giorno d'oggi la RAM è così economica che non ha alcuna importanza.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.