it-swarm-pt.com

Por que aplicativos Mac nunca são "fechados"?

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?

61

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 MDI janelas de contêineres. 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 um local (muito novo)) rede de área.

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 qualquer consideração pelo processo que as abrira. Para multitarefas pesadas, a "sopa de barra de tarefas" mostrou-se insana. 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 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 curso com o Mac OS 9, e o Macintosh se tornou 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". Portanto, 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 fez 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, servidor da Web, algo que fale em resposta a um comando falado, etc. Nada disso exige necessariamente que uma janela visível seja 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 você pode ter um menu diretamente no ícone do dock, para que o usuário sempre possa interagir com um programa que não possui interface de usuário 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 impossibilita 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 oferece um pouco de contexto que você considera útil.

89
wrosecrans

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 ...

20
Johan

Isso é específico do aplicativo. Por exemplo, o aplicativo Preferências do Sistema não sai 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". Eu 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 eu uso atalhos de teclado, Cmd+w para fechar a janela e Cmd+q por realmente desistir. 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.

15
phunehehe

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.

8
Tamas

A razão para isso é devido ao que é uma janela. No Microsoft Windows, cada aplicativo obtém sua própria janela, enquanto no Mac OSX e versões anteriores do Mac OS cada arquivo ou documento possui 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 Windows e pensar em Mac: D

3
vyse

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, em seguida, 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 RAM é tão barato que não importa em nada.

0
zzz