В некотором смысле, это соглашение о пользовательском интерфейсе, история которого восходит к 1984 году. Поскольку Windows и X11 публикуют дату с оригинальным графическим интерфейсом Mac, можно сказать, что Windows делает это «просто чтобы быть другим», а не предполагая, что Mac это чудак.
Еще в первые дни Macintosh вы могли запускать только одно приложение за раз. Было совершенно разумно, чтобы приложение открывалось без окон, потому что у приложения всегда была видимая строка меню в верхней части экрана. Когда вы закрыли все окна приложения, имело смысл оставить приложение открытым, потому что вы всегда можете использовать строку меню для создания нового документа или открытия существующего. Выход из процесса только потому, что окно было закрыто, не имел никакого смысла в то время, потому что не было бы никакого другого процесса, на который можно было бы обратить внимание.
Несколько лет спустя Macintosh конца 80-х годов достиг уровня, когда было достаточно памяти для одновременного открытия нескольких приложений. Поскольку инструменты для этого должны были сохранять обратную совместимость с существующими приложениями, они, естественно, не собирались изменять основные соглашения UI и убивать приложения без открытых окон. Результатом стало четкое различие в пользовательском интерфейсе между визуальным элементом GUI (окном) и абстрактным запущенным процессом (приложением).
Тем временем Microsoft занималась разработкой Windows. К началу 90-х у Microsoft была хорошо работающая Windows 3.X, и Motif на X11 был сильно вдохновлен работой Microsoft. В то время как Macintosh был построен вокруг представления пользовательского интерфейса приложений, Windows (как следует из названия) была построена на философии, согласно которой само окно должно быть фундаментальной единицей пользовательского интерфейса, и единственная концепция приложения находится в форме Контейнерные окна в стиле MDI. X11 также считал приложение в значительной степени неважным с точки зрения пользовательского интерфейса. Один процесс может даже открыть окна на нескольких дисплеях, подключенных к нескольким машинам в (совсем новомодной) локальной сети.
Проблема с подходом в стиле Windows заключалась в том, что вы не могли выполнять некоторые формы взаимодействия с пользователем, такие как открытие только с помощью строки меню, и у пользователя не было реальной гарантии того, что процесс фактически завершился, когда окна исчезли. Пользователь Macintosh мог легко переключиться на приложение, которое работало без окон, чтобы закрыть его или использовать его, но Windows не предоставила пользователю абсолютно никакого способа взаимодействия с таким процессом. (За исключением того, чтобы заметить это в диспетчере задач и убить его.) Кроме того, пользователь не мог оставить процесс запущенным, чтобы он мог вернуться к нему, не перезапуская его, за исключением сохранения некоторого видимого пользовательского интерфейса от беспорядка процесса вверх по экрану, и потребляет (в то время, очень ограничено) ресурсы. В то время как Macintosh имел меню «Приложения» для переключения, Windows популяризировала «панель задач». который отображал все окна верхнего уровня без учета процесса, который их открыл. Для тяжелой многозадачности «суп из бара задач» оказался непривлекательным. Для более простых пользователей возможность предсказуемости того, что именно называется «окном верхнего уровня», иногда сбивала с толку, поскольку не было понятного правила о том, какие именно окна будут отображаться на панели.
К концу 90-х наиболее часто использовался графический интерфейс Microsoft. У большинства пользователей есть ПК с Windows, а не рабочая станция Macintosh или UNIX X11. Следовательно, с ростом популярности Linux со временем многие разработчики исходили из опыта использования соглашений Windows UI, а не UNIX UI. Это в сочетании с историей ранней работы над такими вещами, как рисование Motif из соглашений Windows UI, привело к тому, что современные среды рабочего стола Linux ведут себя намного больше как Windows, чем классические вещи X11, такие как twm или Macintosh.
К этому моменту «классическая» Mac OS начала работать с Mac OS 9, и Macintosh стал машиной с операционной системой Unix с очень разными внутренностями в виде Mac OS X. Таким образом, он унаследовал концепцию NeXT UI Dock. На оригинальных машинах NeXT использовался X11, но с довольно уникальным набором виджетов и соглашений UI. Вероятно, самым отличительным из них был Dock, который был своего рода комбинацией программ запуска и переключения задач. (Диалоговое окно «Открыть файл с несколькими столбцами», известное в OS-X, также пришло из NeXT, а также из-за некоторых других видимых вещей. Однако наиболее существенными изменениями в переходе OS-X были невидимые.) Док хорошо работал с концепцией Macintosh «Приложение как фундаментальный элемент пользовательского интерфейса». Так, пользователь может увидеть, что приложение открыто по значку на значке док-станции, и переключиться на него или запустить его, щелкнув по нему. Поскольку современная OS-X теперь поддерживает многозадачность намного лучше, чем классическая Mac OS, внезапно стало понятно, что пользователь может захотеть, чтобы в фоновом режиме работали все виды вещей, например, некоторые программы для преобразования видео, которые запускаются в фоновом режиме. устройство записи экрана, программное обеспечение VOIP, интернет-радио, веб-сервер, что-то, что говорит в ответ на произнесенную команду, и т. д. Ни один из этих элементов не обязательно должен быть открыт для отображения видимого окна, чтобы все еще иметь разумный пользовательский опыт, и меню Панель по-прежнему была отделена от окон в верхней части экрана, и вы могли иметь меню прямо на значке дока, чтобы пользователь всегда мог взаимодействовать с программой, у которой не было открытого пользовательского интерфейса. вследствие этого, Отказ от существующего соглашения о том, чтобы держать приложение открытым, просто чтобы больше походить на Windows, был бы расценен большинством пользователей Mac как ужасный шаг в неправильном направлении. Это делает невозможным несколько способов взаимодействия без реальной выгоды.
Очевидно, что некоторые пользователи предпочитают соглашение Windows, и ни один из них не является «доказуемо правильным». Но переходить от чего-то полезного без веской причины просто бессмысленно. Надеемся, что этот тур по истории поможет вам понять, что вы считаете полезным.
X
кнопки по умолчанию - скрывать. Я согласен, что это глупо, но это результат менталитета «Твой макбук знает лучше тебя». Некоторые программы для Windows и Linux делают то же самое, но в целом этоX
означает, что они закрыты.