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.
X
pulsante è 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 generaleX
significa vicino.