Por que aplicativos Mac nunca ficam "fechados"?


60

Eu sou um usuário Linux / Windows / Mac. Gosto de todos os sistemas, * nixes mais que o Windows, mas gosto de todos.

Comecei a usar um Mac este ano, e uma diferença entre Linux e Windows que não consigo entender é: por que os aplicativos nunca se fecham quando pressiono o botão "x", pois é assim que o Linux e o Windows se comportam? Eu preciso pressionar cmd + q ou sair pelo menu para cima.

Quero dizer, isso é apenas para ser diferente de todos eles, ou há uma razão para esse comportamento? Não vejo nenhuma vantagem. Se eu quiser fechar, quero fechar. Período.

Alguém sabe o motivo disso?


11
É só que o comportamento padrão do Xbotão é ocultar. Concordo que é estúpido, mas é o resultado da mentalidade "Seu macbook sabe melhor que você". Alguns programas Windows e Linux fazem a mesma coisa, mas, em geral, Xsignifica fechar.
Falmarri

11
Às vezes, um comportamento padrão tem uma razão, mesmo histórica, que não faz sentido. Eu gostaria de saber.
Alguém ainda usa o MS-DOS

11
Eu acho que historicamente ele fecha a janela, mas não fecha o aplicativo. Não sei ao certo por que, mas desconfio que esteja enraizado no tempo antes dos Macs terem memória virtual e troca real de aplicativos, você pode fechar as janelas, liberar alguma memória, mas não tornar a abertura de uma nova lenta (er).
Neth

25
Quando um aplicativo sempre tem apenas uma janela (principal) (por exemplo, Preferências do Sistema ), fechá-lo ( Arquivo > Fechar , Comando + W ou o X vermelho por janela no canto superior esquerdo) sai do aplicativo (sendo "concluído" com ”a janela significa que você“ terminou ”o aplicativo, pois existe apenas uma janela). Os aplicativos que podem ter mais de uma janela principal não são encerrados quando a última janela é fechada. O aplicativo permanece aberto para que você possa usar (por exemplo) Arquivo > Novo ... (ou Arquivo > Abrir ... ) para abrir uma nova janela sem precisar sair e reiniciar o aplicativo.
Chris Johnsen

11
@ Chris seu deve ser uma resposta, faz mais sentido para mim
phunehehe

Respostas:


89

Em certo sentido, é uma convenção de interface do usuário com história que remonta a 1984. Como o Windows e o X11 postam a data da GUI original do Mac, pode-se dizer que o Windows faz da maneira do Windows "apenas para ser diferente" em vez de sugerindo que o Mac é o excêntrico.

Nos primeiros dias do Macintosh, você só podia executar um aplicativo por vez. Era perfeitamente razoável que um aplicativo fosse aberto sem janelas porque o aplicativo sempre tinha uma barra de menus visível na parte superior da tela. Quando você fechava todas as janelas de um aplicativo, fazia sentido mantê-lo aberto, pois era sempre possível usar a barra de menus para criar um novo documento ou abrir um existente. Sair do processo apenas porque uma janela foi fechada não fazia sentido no momento, porque não haveria outro processo para o qual focar.

Alguns anos depois, o Macintosh do final dos anos 80 avançou ao ponto em que havia memória suficiente para abrir vários aplicativos ao mesmo tempo. Como as ferramentas para fazer isso tinham que manter a compatibilidade com os aplicativos existentes, elas naturalmente não mudavam as convenções básicas da interface do usuário e acabavam com os aplicativos sem nenhuma janela aberta. O resultado foi uma distinção clara na interface do usuário entre um elemento visual da GUI (uma janela) e um processo de execução abstrato (o aplicativo).

Enquanto isso, a Microsoft estava desenvolvendo o Windows. No início dos anos 90, a Microsoft tinha o Windows 3.X funcionando bem, e o Motif no X11 havia sido fortemente inspirado pelo trabalho da Microsoft. Enquanto o Macintosh foi construído em torno da apresentação de uma interface do usuário de aplicativos, o Windows (como o nome sugere) foi construído em torno da filosofia de que a própria janela deveria ser a unidade fundamental da interface do usuário, com o único conceito de aplicativo na forma de Janelas de contêineres no estilo MDI. O X11 também considerou um aplicativo pouco importante do ponto de vista da interface do usuário. Um único processo pode até abrir janelas em vários monitores conectados a várias máquinas em uma rede local (muito nova).

O problema com a abordagem de estilo do Windows era que você não podia fazer algumas formas de interação do usuário, como abrir apenas uma barra de menus, e o usuário não tinha garantia real de que um processo havia realmente encerrado quando as janelas foram fechadas. Um usuário de Macintosh poderia facilmente mudar para um aplicativo que estava sendo executado sem janelas para encerrá-lo ou usá-lo, mas o Windows não dava absolutamente nenhuma maneira para o usuário interagir com esse processo. (Exceto para notá-lo no gerenciador de tarefas e eliminá-lo.) Além disso, um usuário não pode optar por deixar um processo em execução para poder voltar a ele sem o reiniciá-lo, exceto para manter alguma UI visível da bagunça do processo. na tela e consumindo (na época, muito limitados) recursos. Enquanto o Macintosh tinha um menu "Aplicativos" para alternar, o Windows popularizou uma "barra de tarefas" que exibia todas as janelas de nível superior sem levar em consideração o processo que as abrira. Para multitarefas pesadas, a "sopa de barra de tarefas" mostrou-se desagradável. Para usuários mais básicos, a imprevisibilidade sobre o que exatamente é qualificado como uma "janela de nível superior" às vezes era confusa, pois não havia uma regra aprendível sobre exatamente quais janelas realmente apareceriam na barra.

No final dos anos 90, a GUI da Microsoft era a mais usada. A maioria dos usuários possui um PC com Windows em vez de uma estação de trabalho Macintosh ou UNIX X11. Consequentemente, à medida que o Linux cresceu em popularidade ao longo do tempo, muitos desenvolvedores começaram a usar as convenções de interface do usuário do Windows em vez das convenções de interface do usuário UNIX. Isso combinou-se com a história dos primeiros trabalhos em coisas como o Motif, a partir das convenções de interface do usuário do Windows, para resultar em ambientes de desktop Linux modernos se comportando muito mais como o Windows do que com os clássicos X11, como twm ou Macintosh.

Nesse ponto, o Mac OS "clássico" já seguia seu caminho com o Mac OS 9, e o Macintosh tornou-se uma máquina alimentada por Unix com tripas muito diferentes na forma do Mac OS X. Assim, herdou o conceito de Dock da interface do usuário NeXT. Nas máquinas NeXT originais, o X11 era usado, mas com um conjunto bastante único de widgets e convenções de interface do usuário. Provavelmente o mais distintivo deles foi o Dock, que era uma espécie de combinação de iniciador de programa e alternador de tarefas. (A caixa de diálogo de arquivo aberto de "várias colunas", conhecida no OS-X, também veio do NeXT, além de outras coisas visíveis. As mudanças mais significativas na transição do OS-X foram todas as invisíveis.) funcionou bem com o conceito de Macintosh de "Aplicativo como elemento fundamental da interface do usuário". Assim, um usuário pode ver que um aplicativo está aberto por uma marca no ícone do dock e mudar para ele ou iniciá-lo clicando nele. Como o OS-X moderno agora suporta multitarefa muito melhor do que o Mac OS clássico, subitamente fazia sentido que um usuário desejasse ter todo tipo de coisa em execução em segundo plano, como alguns softwares de conversão de vídeo que se destacam em segundo plano , um gravador de tela, software VOIP, rádio na Internet, um servidor da Web, algo que fale em resposta a um comando falado etc. Nada disso exige necessariamente que uma janela visível esteja aberta para ainda ter uma experiência sensata do usuário e o menu a barra ainda estava separada das janelas na parte superior da tela e era possível ter um menu diretamente no ícone do dock, para que um usuário sempre pudesse interagir com um programa que não tinha uma interface aberta. consequentemente, abandonar a convenção existente de manter um aplicativo aberto, apenas para ser mais parecido com o Windows, teria sido visto pela maioria dos usuários de Mac como um passo horrível na direção errada. Isso torna impossível vários modos de interação, sem nenhum benefício real.

Obviamente, alguns usuários preferem a convenção do Windows, e nenhum deles é "comprovadamente correto". Mas migrar para longe de algo útil como esse, sem uma boa razão, não faria sentido. Felizmente, este passeio por parte da história fornece um pouco de contexto que você considera útil.


11
Nit: O NeXTSTEP não usou o X11. Ele tinha a sua própria janela baseada no Display PostScript (que acabou formando a base do Quartz 2D do OS X, embora baseado em PDF e não em PS).
gsnedders

Exceto que todos eles imitaram a Xerox Alto. Jobs e Gates disseram isso literalmente. E o X11 / Motif foi baseado basicamente em todos eles.
Evi1M4chine

11
A Apple oferece aos desenvolvedores a opção de sair de um aplicativo após o fechamento da última janela. Cabe aos desenvolvedores fazer essa escolha. Aparentemente, muitos desenvolvedores preferem criar seus aplicativos assim.
SpaceDog

20

A janela não é o aplicativo no MacOS, no MacOS as janelas se conectam ao aplicativo. É por isso que o aplicativo não sai quando você fecha uma janela.

No Windows, a janela é o aplicativo, é por isso que o aplicativo deve sair quando você pressiona o botão sair.

No Linux, o desenvolvedor decide qual arquitetura eles gostam de usar, nos dois sentidos é possível ...


4
No Windows, os dois caminhos também são possíveis ...
Chris Down

11
E se você estiver usando o Cocoa para criar aplicativos, poderá escolher se o aplicativo será encerrado quando a última janela for fechada.
Blacklight Shining

Além disso, as Preferências do Sistema são encerradas quando a janela é fechada. (Pode haver outros aplicativos empacotados que fazem isso, mas essa é a única que eu posso pensar no momento.)
Blacklight Brilhante

@ ChrisDown: Como alguém interage com um aplicativo sem uma janela no Windows? A janela de encaixe do sistema?
Evi1M4chine

15

Isso é específico do aplicativo. Por exemplo, o aplicativo Preferências do Sistema é encerrado quando você clica no botão vermelho. No entanto, a maioria dos programas apenas fecha a janela (e os documentos dentro) quando você tenta "fechá-la". Acho que a idéia por trás disso é tornar as coisas mais rápidas quando você quiser usar o aplicativo novamente.

Se eu quiser fechar, quero fechar. Período.

Eu concordo, então uso atalhos de teclado, Cmd+ wpara fechar a janela e Cmd+ qpara realmente sair. A maioria dos aplicativos implementa isso. Uma alternativa é clicar com o botão direito do mouse no ícone do aplicativo e escolher "Sair", que é muito mais lento.


8

Sim, isso é muito, muito chato.

Enquanto isso, este aplicativo deve ajudar:
http://www.carsten-mielke.com/redquits.html

A partir da descrição:

Você já tentou fechar um aplicativo com seu botão vermelho e se perguntou por que ele ainda está aberto? RedQuits muda isso. Todos os programas agora fecham e fecham todas as janelas abertas se você clicar no botão vermelho.


Solução interessante.
Alguém ainda usa o MS-DOS

11
As pessoas que usam essa solução alternativa provavelmente devem mudar para o Windows ou aprender a filosofia do OS X de fazer as coisas. Não quero iniciar uma guerra de chamas aqui, mas isso geralmente se aplica sempre que alguém quer se comportar com um produto como outro. É bom que a ferramenta exista. Provavelmente existem algumas pessoas que o usam.
Rafael Bugajewski

2
E esta é a única resposta correta, OBRIGADO @Tamas! A regra é que o computador e o software sejam flexíveis e atendam às minhas necessidades e hábitos - e não ao contrário!
Marecky

3

A razão para isso é devido ao que é uma janela. No Microsoft Windows, cada aplicativo obtém sua própria janela. No Mac OSX e nas versões anteriores do Mac OS, cada arquivo ou documento tem sua própria janela. Quando você "fecha o Safari", não está fechando [saindo] do aplicativo Safari, mas apenas fechando o arquivo (http://unix.stackexchange.com). Da mesma forma, se você fechar a janela do Pages (aplicativo de processamento de texto da Apple), estará fechando o documento em que estava trabalhando, mas o aplicativo Pages ainda está em execução. Se você deseja sair do aplicativo, use CMD + Q. Alguns aplicativos que não são de criação de arquivo seguem esse padrão, pois podem ter várias janelas abertas ou nenhuma e ainda funcionar (iTunes).

Etapas alternativas: pressione CMD + Q para sair do aplicativo em vez de fechar a janela [CMD + W] Clique secundário no ícone no dock (CTRL + Clique ou botão direito do mouse ou toque com dois dedos no trackpad / mouse mágico) e escolha saia dessa maneira.

Infelizmente, isso é apenas uma coisinha que é preciso fazer para desaprender o Windows e pensar em Mac: D


Consegui depois de alguns meses. :) Na verdade, as duas abordagens fazem sentido.
Alguém ainda usa o MS-DOS

0

No começo, pensei que também era uma má ideia, mas sinceramente - agora acho isso incrível. Na verdade, eu não gosto desse comportamento estúpido que "X" encerra o aplicativo. É muito importante observar que essa é uma abordagem muito melhor para aplicativos baseados em documentos, como o Photoshop ou os editores de documentos, na verdade - agora eu sempre esqueço de lembrar que "X" encerra o aplicativo (como o Photoshop) e preciso gastar mais tempo na inicialização. O aplicativo simplesmente está aguardando seus novos documentos. Por que devo encerrá-lo? Ok - isso é um problema de memória, mas hoje em dia a RAM é tão barata que não importa.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.