Чому програми Mac ніколи не закриваються?


60

Я користувач Linux / Windows / Mac. Мені подобаються всі системи, * nixes більше, ніж Windows, але мені подобаються всі ніщо.

Я почав використовувати Mac у цьому році, і різниця між Linux та Windows, яку я не можу зрозуміти, полягає в тому, чому програми ніколи не закриваються, коли натискаю кнопку "x", оскільки так поводяться Linux та Windows? Мені потрібно натиснути cmd + q або вийти з меню вгору.

Я маю на увазі, чи лише це відрізняється від усіх, чи є причина такої поведінки? Я не бачу жодної переваги. Якщо я хочу закрити, я хочу закрити. Період.

Хтось знає причину цього?


1
Просто поведінка Xкнопки за замовчуванням приховується. Я погоджуюся, що це дурно, але це результат менталітету «Ваш макбук знає краще за вас». Деякі програми Windows та Linux роблять те саме, але загалом - Xце близько.
Falmarri

1
Іноді поведінка за замовчуванням має причину, навіть історичну, яка не має сенсу. Я хотів би це знати.
Хтось досі використовує вас MS-DOS

1
Я думаю, що історично він закриває вікно, але не закриває програму. Я точно не знаю, чому, але я підозрюю, що це коріння в часі до того, як у Macs з'явилася віртуальна пам'ять і реальна комутація додатків, ви могли закрити вікна, можливо, звільнити деяку кількість пам'яті, але не зробити відкриття нової повільно (ер).
Neth

25
Коли програма завжди має лише одне (головне) вікно (наприклад, Системні налаштування ), закриваючи це (або Файл > Закрити , Команда + W, або червоне вікно X у верхньому лівому куті), закриває програму (робиться "зроблено" з "вікно означає, що ви" готові "до програми, оскільки існує лише одне вікно). Програми, які можуть мати більше одного головного вікна, не закриваються, коли останнє вікно закрите. Додаток залишається відкритим, тому ви можете використовувати (наприклад, Файл > Нове… (або Файл > Відкрити… ), щоб відкрити нове вікно, не виходячи із системи та перезавантажуючи програму.
Кріс Джонсен

1
@Chris ваша повинна бути відповіддю, для мене це має найбільш сенс
phunehehe

Відповіді:


89

У певному сенсі це угода інтерфейсу з історією, яка наближається до 1984 року. Оскільки Windows і X11 опублікують дату оригінального інтерфейсу Mac, можна сказати, що Windows робить це Windows способом "просто бути іншим", а не припускаючи, що Mac - це дивна куля.

Ще в перші дні Macintosh ви могли запускати лише одну програму. Це було цілком розумно, щоб програма відкривалася без вікон, оскільки програма завжди мала видиму панель меню у верхній частині екрана. Коли ви закрили всі вікна програми, має сенс тримати додаток відкритим, оскільки ви завжди можете використовувати рядок меню для створення нового документа або відкриття існуючого. Вихід із процесу лише тому, що вікно було закрите, на той час не мало жодного сенсу, тому що не було б іншого процесу, на який можна було б зосередити увагу.

Через кілька років Macintosh кінця 80-х років просунувся до того моменту, коли було достатньо пам’яті, щоб відкрити декілька додатків одночасно. Оскільки інструменти для цього повинні були зберігати зворотну сумісність із існуючими програмами, вони, природно, не збиралися змінювати основні конвенції інтерфейсу та не вбивали програми, не відкриваючи жодного вікна. Результатом було чітке розмежування в інтерфейсі між візуальним елементом графічного інтерфейсу (вікно) та абстрактним запущеним процесом (додаток).

Тим часом Microsoft розробляла Windows. На початку 90-х у Microsoft працював Windows 3.X, і Motif на X11 був сильно натхненний роботою Microsoft. У той час як Macintosh був побудований на базі представлення інтерфейсу програм, Windows (як випливає з назви) був побудований на основі філософії, що саме Вікно має бути основним підрозділом інтерфейсу користувача, при цьому єдине поняття програми має форму Вікна контейнерів у стилі MDI. X11 також вважає додаток, що є вкрай важливим з точки зору інтерфейсу користувача. Один процес може навіть відкрити вікна на декількох дисплеях, підключених до декількох машин у (дуже новомодній) локальній мережі.

Проблема з підходом до стилю Windows полягала в тому, що ви не могли виконати деякі форми взаємодії з користувачем, наприклад, відкриття за допомогою простої панелі меню, і користувач не мав реальної гарантії того, що процес фактично завершився, коли вікон не було. Користувач Macintosh міг легко перейти на додаток, що працює без вікон, щоб вийти з нього або використовувати його, але Windows не надала абсолютно ніякого способу взаємодії з таким процесом. (Окрім того, щоб помітити це в диспетчері завдань і вбити його.) Також користувач не міг вибрати процес, який працює, щоб він міг повернутися до нього, не перезавантажуючи його, за винятком збереження деякого видимого користувальницького інтерфейсу в процесі захаращення. вгору на екрані та витрачаючи (на той час дуже обмежені) ресурси. Поки Macintosh мав меню "Програми" для перемикання, Windows популяризувала "панель завдань" які відображали всі вікна верхнього рівня, не зважаючи на процес, який їх відкрив. Для важких багатозадачників "суп-бар із завданнями" виявився неприємним. Для більш базових користувачів, індекстабельність щодо того, що саме кваліфікується як "вікно верхнього рівня", іноді було заплутаним, оскільки не було вивченого правила про те, які саме вікна будуть відображатися на панелі.

До кінця 90-х найчастіше використовувався графічний інтерфейс Майкрософт. Більшість користувачів має комп'ютер під керуванням Windows, а не Macintosh або UNIX X11. Отже, по мірі зростання популярності Linux з часом багато розробників виходили з тла використання конвенцій інтерфейсу Windows, а не конвенцій UNIX UI. Це в поєднанні з історією ранньої роботи над такими речами, як Motif crtanje з конвенцій інтерфейсу Windows, в результаті чого сучасні робочі середовища Linux поводяться набагато більше, ніж Windows, ніж класичні речі X11, такі як twm або Macintosh.

На цьому етапі "класична" Mac OS пройшла свій курс з Mac OS 9, і Macintosh став машиною, що працює на Unix, з дуже різними кишками у вигляді Mac OS X. Таким чином, він успадкував концепцію NeXT UI Dock. На оригінальних NeXT машинах використовувався X11, але з досить унікальним набором віджетів та конфігурацій інтерфейсу користувача. Напевно, найбільш відмітним з них був Док, який був свого роду комбінованим програмою запуску та перемикачем завдань. (Діалогове вікно відкритого файлу "багатоколонок", яке відомо в OS-X, також прийшло від NeXT, а також деякі інші видимі речі. Однак, найбільш істотні зміни в переході до OS-X були всі невидимі.) Док добре працював з концепцією Macintosh "Застосування як основний елемент інтерфейсу". Тому, користувач міг бачити, що програма відкрита позначкою на значку дока, і переключитися на неї або запустити її, натиснувши на неї. Оскільки сучасний OS-X зараз підтримує багатозадачність набагато краще, ніж класичний Mac OS, раптом з’явилося сенс, що користувачеві можливо захочеться, щоб у фоновому режимі працювали всілякі речі, наприклад, якесь програмне забезпечення для перетворення відео, яке запускається у фоновому режимі , екранний диктофон, програмне забезпечення VOIP, Інтернет-радіо, веб-сервер, щось, що говорить у відповідь на розмовну команду тощо. Жоден із цих матеріалів не потребує відкритого вікна, щоб усе-таки мати розумний досвід користувача та меню панель все ще була окремою від вікон у верхній частині екрана, і ви могли мати меню прямо на піктограмі дока, щоб користувач міг завжди взаємодіяти з програмою, яка не мала відкритого інтерфейсу користувача. отже, Більшість користувачів Mac розглядали б, як уникнути існуючої конвенції про те, щоб програма не була відкритою, просто більше схожа на Windows, як жахливий крок у неправильному напрямку. Це робить кілька режимів взаємодії неможливими без реальної користі.

Очевидно, що деякі користувачі віддають перевагу конвенції Windows, і жодна з них не є "очевидно правильною". Але переходити від чогось такого корисного, без поважних причин просто не має сенсу. Сподіваємось, ця екскурсія по деякій історії дає вам трохи контексту, який вам здається корисним.


1
Ніт: NeXTSTEP не використовував X11. У нього було власне віконце, засноване на Display PostScript (що врешті-решт лягло в основу Quartz 2D OS X, хоча і на основі PDF, а не PS).
gsnedders

За винятком того, що всі вони імітували Xerox Alto. Джобс і Гейтс обидва сказали так буквально. І X11 / Motif був заснований на їх основі.
Evi1M4chine

1
Apple надає розробникам можливість виходу з програми після закриття останнього вікна. Саме розробники роблять такий вибір. Мабуть, багато розробників вважають за краще створювати свої додатки так.
SpaceDog

20

Вікно не є додатком у MacOS, у MacOS вікна підключаються до програми. Ось чому програма не виходить, коли ви закриваєте вікно.

У Windows вікно - це програма, тому програма повинна вийти, коли натиснути кнопку виходу.

У Linux розробник вирішує, якою архітектурою вони люблять користуватися, можливо обидва способи ...


4
У Windows також можливі обидва способи ...
Chris Down

1
І якщо ви використовуєте Cocoa для створення програм, ви можете вибрати, чи закривати ваш додаток, коли останнє вікно закриється.
Blacklight Shining

Крім того, System Preferences закривається, коли її вікно закрите. (Можливо, є інші додатки в комплекті, які роблять це, але це єдине, про що я можу придумати на даний момент.)
Blacklight Shining

@ChrisDown: Як можна взаємодіяти з додатком без вікна в Windows? Док-станція системи?
Evi1M4chine

15

Це специфічно для програми. Наприклад, додаток System Preferences робить завершує роботу при натисканні на червону кнопку. Однак більшість програм закриває вікно (і документи всередині) лише тоді, коли ви намагаєтесь «закрити» його. Я думаю, що ідея цього полягає в тому, щоб зробити це швидше, коли ви хочете знову використовувати додаток.

Якщо я хочу закрити, я хочу закрити. Період.

Я погоджуюсь, тому я використовую комбінації клавіш, Cmd+ wдля закриття вікна та Cmd+ qдля того, щоб дійсно закрити . Більшість додатків це реалізовано. Альтернативою є натискання правою кнопкою миші на піктограму програми та оберіть "Вийти", що набагато повільніше.


8

Так, це дуже, дуже дратує.

Тим часом цей додаток повинен допомогти:
http://www.carsten-mielke.com/redquits.html

З опису:

Ви коли-небудь намагалися закрити програму її червоною кнопкою і цікавились, чому вона все ще відкрита? RedQuits змінює це. Усі програми зараз закривають і закривають усі відкриті вікна, якщо натиснути червону кнопку.



1
Люди, які користуються цим способом вирішення, ймовірно, повинні перейти на Windows або вивчити філософію OS X, як це робити. Я не хочу розпочати тут вогненну війну, але це, як правило, застосовується, коли хтось хоче поводити продукт, як інший. Добре, що інструмент існує. Напевно, є пара людей, які цим користуються.
Рафаель Бугаєвський

2
І це єдина правильна відповідь, ДЯКУЙТЕ @Tamas! Правило полягає в тому, що комп'ютер і програмне забезпечення повинні бути гнучкими і відповідати моїм потребам і звичкам - не навпаки!
Marecky

3

Причина цього пов’язана з тим, що таке вікно. У Microsoft Windows кожна програма отримує власне вікно, де у Mac OSX та попередніх випусках Mac OS кожен файл чи документ має власне вікно. Коли ви "закриваєте Safari", ви не закриваєте [вихід] програми Safari, а просто закриваєте файл (http://unix.stackexchange.com). Так само якщо ви закриєте вікно "Сторінок" (програма для обробки текстів Apple), ви закриваєте документ, над яким працювали, але додаток "Сторінки" все ще працює. Якщо ви хочете вийти з програми, використовуйте CMD + Q. Деякі програми, що не створюють файли, слідують цій схемі, оскільки у них може бути відкрито кілька вікон або взагалі немає і все ще функціонують (iTunes).

Альтернативні дії: Натисніть CMD + Q, щоб закрити програму, а не закривати вікно [CMD + W] Вторинним натисканням на піктограму на доці (CTRL + клацання правою кнопкою миші або правою кнопкою миші або натисканням двома пальцями на трекпаді / магічній миші) та виберіть киньте так.

На жаль, це лише одна маленька річ, яку потрібно зробити, щоб навчитися Windows і думати Mac: D


Я отримав це через кілька місяців. :) Насправді обидва підходи мають сенс.
Хтось досі використовує вас MS-DOS

0

На початку я думав, що це теж погана ідея, але справді - зараз я думаю, що це приголомшливо. Насправді мені не подобається така дурна поведінка, що "X" припиняє додаток. Дуже важливо відзначити, що набагато кращий підхід для програм на основі документів, таких як Photoshop чи редактори документів, насправді - тепер я завжди забуваю пам'ятати, що "X" припиняє додаток (наприклад, Photoshop), і тоді мені потрібно витратити додаткові час на ініціалізацію. Додаток просто там чекає на ваші нові документи, чому я повинен його припиняти? Гаразд - це свиня для пам’яті, але в даний час оперативна пам’ять настільки дешева, що зовсім не має значення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.