Perché stiamo ancora usando il DOM nel browser piuttosto che un paradigma desktop


11

Da quanto ho capito, l'interfaccia web è stata sviluppata per utilizzare l'HTML perché al momento non era possibile simulare un'applicazione di tipo desktop nel browser come il funzionamento di Silverlight e Flash, a causa delle limitazioni della larghezza di banda e possibilmente della potenza di elaborazione.

Perché non c'è stato in passato e il presente ha ricevuto un'accettazione più ampia e ha spinto per tecnologie come Flash / Silverlight? Dalla mia esperienza sono più piacevoli da sviluppare (ovviamente la mia opinione) e non devi occuparti della conformità tra browser e browser più vecchi (per la maggior parte).

Gestire i postback, AJAX, ecc. Sembra uno sforzo extra inutile rispetto al paradigma di sviluppo delle applicazioni desktop. Il DOM e le sue tecnologie complementari continuano a prosperare principalmente sul fatto che Silverlight / Flash richiede l'installazione di un plug-in e alcuni dispositivi mobili non supportano il plug-in?


1
Perché il DOM non è un cittadino di seconda classe. Silverlight e flash sono astrazioni che perdono. Puoi facilmente avere desktop nativi come applicazioni nell'utente browser DOM. Si comporta semplicemente e si integra meglio di Flash o Silverlight.
Raynos,

Risposte:


17

Alcuni motivi che mi vengono in mente, dalla cima della mia testa:

  • Lo stack web tradizionale è piuttosto maturo in questi giorni; i browser moderni hanno pochissime stranezze e progettare siti web per loro è relativamente piacevole, rispetto a soli 5 anni fa
  • Sebbene esistano differenze tra i browser, sono meno rilevanti delle differenze tra il sistema operativo e l'hardware sottostanti
  • Il paradigma richiesta / risposta funziona davvero molto bene per molte cose, come la presentazione di contenuti ricchi di testo
  • I motori di ricerca non sono esattamente entusiasti dei contenuti Flash o Silverlight
  • Flash e Silverlight sono controllati ciascuno da una singola azienda; utilizzarli significa che il supporto futuro della piattaforma per il tuo codice è in balia di queste aziende
  • Molte cose che puoi fare con HTML non possono essere fatte con i plugin: pensa ai segnalibri, copia-incolla, traduzione al volo, fogli di stile personalizzati
  • I plug-in non funzionano bene con i browser non standard: pensa ai browser di testo, ai browser audio e alla vasta gamma di altri dispositivi in ​​grado di visualizzare pagine Web
  • Non è possibile automatizzare facilmente i client Flash o Silverlight, mentre guidare i siti Web HTML dagli script è in genere piuttosto semplice.

Un'altra cosa che mi viene in mente: questi plugin non sono open source. E alcune persone semplicemente non si fidano delle cose, con le quali non possono fare git clone. Ovviamente puoi ottenere versioni open source, come Gource o Moonlight, ma non sono completamente compatibili.
Dr McKay,

2
In realtà avevo pensato all'argomento open source, ma non pensavo che fosse un problema abbastanza grande, dal punto di vista del mondo reale (non importa quanto grande fan di FOSS sono me stesso). L'argomento "alla mercé di una singola azienda" è comunque correlato e significativo.
tdammers,

4

La semplice risposta a "Perché nessuna applicazione desktop in Flash" è che puoi semplicemente scriverli in Adobe Air, ma a quanto pare solo pochi lo fanno.

Credo che la risposta sia che le persone vogliono applicazioni Web , non applicazioni Flash appariscenti, e vogliono che le applicazioni Web abbiano esattamente come tutte le altre applicazioni Web che usano. Personalmente voglio essere in grado di utilizzare un Flashblocker e avere comunque la piena funzionalità dell'applicazione.


3

Questo è un effetto molto comune nel nostro settore.
Ad esempio, uso personalmente haXe e distribuisco il mio codice client su Flash Player, perché IMHO è la migliore piattaforma abilitata per il Web che posso scegliere come target. Una volta terminato il backend di C #, probabilmente verificherò se valga la pena usare Silverlight, anche se la mia sensazione personale è che sia morto, prima che decollasse.

Essere molto contento della mia scelta della lingua, una cosa che mi chiedo spesso è: perché non più sviluppatori web usano un linguaggio open source, multi-paradigma, espressivo, multipiattaforma?

Ci sono molte ragioni, ma sono sempre le stesse. Una valida è la preferenza personale. Ma spesso si tratta di ignoranza o riluttanza verso le nuove tecnologie di nicchia.
Quando si tratta di Flash, ho avuto numerosi argomenti sul perché ha il suo posto e sul perché usarlo. Le persone sostengono principalmente che il punto centrale di Flash è creare siti fantasiosi che si caricano da secoli e si comportano in modo orribile (e diffondono molte altre informazioni sbagliate).
In realtà, è vero il contrario e le app come Aviary Phoenix o Sliderocket e giochi come Koyotl e Tanki Online lo dimostrano. Flash è una piattaforma matura per creare un'esperienza simile al desktop nel browser.

Alla fine, troppe decisioni strategiche vengono prese da persone incompetenti, che preferiscono seguire le tendenze e piuttosto si fidano di alcuni blogger fantasiosi rispetto ai loro sviluppatori. E chi ha davvero molte idee sbagliate in testa.

Le tecnologie nuove / di nicchia faranno sempre fatica per l'accettazione, a meno che non facciano davvero una svolta. Ruby, ad esempio, è riuscito a farlo attraverso Rails e il grande clamore che lo circonda. Flash ha avuto un tale passo in avanti per i designer, perché negli anni '90 la gente pensava che la contrazione fosse buona ed era la prima piattaforma ampiamente diffusa che permetteva di implementare proprio questo.
Nonostante Flex, Flash non ha mai avuto una vera svolta per gli sviluppatori. Forse perché GWT , qooxdoo e molti altri framework deploy-on-HTML sono sufficientemente buoni, troppo semplicemente non usano Flex o Flash, e ci sono molti più sviluppatori Java e JavaScript (a quanto pare le aziende preferiscono scegliere tecnologie dove c'è un'alta quantità di potenziali dipendenti ).

Al giorno d'oggi non è necessario scrivere da zero il sito Web AJAX. In realtà non puoi avere alcuna comprensione dell'HTML e farlo comunque, in una lingua a tua scelta.

Al momento, HTML5 è ampiamente pubblicizzato e portato avanti e molte persone ne deducono la morte di Flash. Vengono fornite molte ottime ragioni, perché HTML5 è meglio di Flash. La cosa più probabile è che avrai sempre più siti Web affamati di risorse e gonfiati creati con HTML5. Le schifezze basate su standard non sono migliori di quelle basate su terze parti.

In questo momento, stanno accadendo molte cose. L'iPhone e altri dispositivi simili hanno creato un mercato gigante, che non è stato lì solo 4 anni fa. E gli standard web vengono finalmente spinti avanti (vagamente) da tutte le principali aziende.

Personalmente, spero solo che tutta l'agitazione si stabilizzi entro un anno o due, che HTML5 si stabilizzi, matura e si diffonda fino ad allora, mentre Apple spera di assumere una posizione meno dispotica e Flash Player diventerà più veloce su piattaforme mobili. E che una volta fatto questo grande passo, le persone torneranno a scegliere lo strumento giusto per il lavoro, proprio come lo era dopo che le guerre del browser si erano fermate. A partire da ora, c'è troppo rumore per le persone per pensare chiaramente.


3
Accendi uno screen reader, spegni lo schermo e provalo. Funziona ancora?
BillThor,

1
"Perché più sviluppatori web non usano un linguaggio open source, multi-paradigma, espressivo, multipiattaforma?" - Vuoi dire, come Javascript?
André Paramés,

1
@BillThor: In realtà, questo dipende dall'implementazione. Flash Player può interfacciarsi con gli screen reader . Non molte persone scelgono di sfruttare queste possibilità. O perché a loro non importa, o perché è inutile. Per quanto mi dispiaccia per i non vedenti, non vedo molto valore nel rendere accessibili le app / i giochi alle app / giochi che ho collegato. Sono anche abbastanza sicuro che avrai difficoltà a usare Photoshop con lo schermo spento.
back2dos

1
@BillThor: Apparentemente, non sei riuscito a ottenere il punto centrale del mio messaggio: le persone dovrebbero tornare a utilizzare lo strumento giusto per il lavoro invece di usare ciò che è popolare. L'HTML è un ottimo strumento per le applicazioni con molti contenuti che possono essere catturati con la sua semantica. Oltre a ciò, non è canonicamente lo strumento migliore.
back2dos,

1
@ back2dos: non l'ho perso per niente. Se avessi usato lo strumento migliore per il lavoro per tutto, avrei usato una dozzina di strumenti, alcuni dei quali oscuri. Quindi la manutenzione diventa estremamente difficile. Invece, utilizzo strumenti con cui altri membri del team hanno esperienza. Lo strumento giusto per un progetto non è sempre uno strumento specializzato.
BillThor,

1

Le tecnologie sono tutte abbastanza immature. Guarda quanti cambiamenti si sono verificati in un blocco di 5 anni. Con le tecnologie mobili / tablet, cambierà di nuovo.

Lo considero più come una fusione. Non è solo HTML / DOM o plug-in. Ho visto estensioni HTML per accedere alle funzionalità del dispositivo. I plug-in supportano sia i concetti desktop che quelli web, oltre a portare le proprie idee.

A seconda della tua prospettiva, questa è una cosa positiva o negativa. Al momento, il mio team sta lavorando in SilverLight (non per il web). Non è una cattiva tecnologia. È possibile creare alcune applicazioni molto potenti e molto interessanti. Tuttavia, presenta molta complessità rispetto ai suoi predecessori (.Net e forse Win32) perché non si poteva fare altrettanto con quelle tecnologie e le aspettative erano inferiori. Oggi, la maggior parte degli sviluppatori che scrivono qualsiasi applicazione sono spesso in competizione (aspettative, non concorrenza effettiva) con il meglio delle tecnologie desktop, web e mobile combinate (velocità, funzionalità, attrattiva, usabilità, ...)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.