Domanda

La maggior parte delle persone parlare di progressive enhancement in questo momento a servire browser con javascript (versione avanzata), e browser senza javascript (versione semplice).

Ma c'è una grande differenza in javascript prestazioni tra i browser che può essere utile applicare tale termine per sostenere per la scelta tra i javascript funzionalità basate tra i browser.

In una web app complesso con numerose caratteristiche non assolutamente essenziali (e animazioni), è la pena di iniziare a pensare a loro sbarramento per dire, questi insiemi di caratteristiche dovrebbe funzionare in tutti i browser, e questi insiemi di funzioni solo in Chrome e Safari, e questi in Firefox e Chrome e Safari e Opera, e così via, perché consente a determinate caratteristiche in alcuni browser sarebbe troppo lento.

A volte mi sento come l'esperienza degli utenti potrebbe migliorare se non hanno avuto accesso ad alcune funzioni non essenziali. Per esempio non consentendo gli utenti di IE di ridimensionare alcuni pannelli che gli utenti di Chrome sarebbe in grado di ridimensionare.

È stato utile?

Soluzione

Che suona come un incubo di manutenzione.

Mi rendo conto che ci sono alcune applicazioni web in cui semplicemente non ha senso avere una versione HTML. Detto questo, se è possibile vorrei iniziare con la costruzione di una versione HTML di ogni pagina prima, quindi utilizzare JavaScript per migliorare l'esperienza dell'utente.

IE è meno performante di Safari, Chrome e FF quando si tratta di JS - ma hanno davvero messo a punto una pagina che è inutilizzabile in IE con JS acceso? Ho appena non l'ho visto -. In natura penso che le varie implementazioni JS sono abbastanza veloci

Altri suggerimenti

Non ho fatto io stesso, ma posso vedere che fa un sacco di senso se il budget lo consente per esso (e non si può controllare scelta del browser per l'utente)

Alla fine della giornata, gli utenti di IE possono essere utilizzando un browser lento, ma sono ancora gli utenti. Quindi, se si vuole dare a tutti gli utenti la migliore esperienza utente possibile, può valere la pena di spendere un po 'di tempo dando agli utenti di IE una versione diversa dell'applicazione per dare loro un più alto livello di prestazioni.

Una domanda che è veloce per il 99% degli utenti è indubbiamente meglio di un'applicazione che è veloce per solo il 30% degli utenti. L'unica domanda è che cosa è più importante - l'esperienza degli utenti, o il vostro tempo di sviluppo (e di tenere conto che in pochi anni, l'utente medio sarà in esecuzione i browser più veloce su computer più veloci)

Qualsiasi lavoro deve essere guidato da criteri di riferimento, però, dal momento che la mia esperienza è che si sarà spesso sorpresi da ciò che parte del codice è lento e quale parte del codice è veloce.

Per inciso, Lombardi Blueprint ha un approccio molto interessante, anche se probabilmente impraticabile al di fuori di GWT. Hanno algoritmi di layout scritto in Java, scritto in modo tale che essi possono essere eseguiti sia sul lato client (tramite GWT) e lato server (tramite una JVM standard). Di conseguenza, in base alle prestazioni parametro di riferimento del browser, sono in grado di passare dinamicamente tra il fare il layout sul lato client (per i browser veloci) vs facendo il layout sul lato server (per i browser più lenti).

Due questioni diverse con i browser in questi giorni:

  1. Velocità. La mia esperienza è stata che IE 7 funziona bene, solo molto più lento rispetto al resto. La mia soluzione è quella di dare più frequenti aggiornamenti sui progressi interfaccia utente per gli utenti. Dal momento che l'aggiornamento dell'interfaccia utente richiede tempo, ho minimizzare gli aggiornamenti sui browser più veloci. Ad esempio su IE aggiorno lo schermo con più reazione dopo l'elaborazione altri 50 eventi. Per altri browser, dopo la trasformazione di 200 eventi.

  2. La mancanza di funzionalità. tele ad es. Ma è grande spesa per costruire più siti. E testarli anche. Così ho trascorrere il mio bilancio sul 1 versione per tutti i browser desktop corrente. E fare ulteriori siti per il mobile esp iPhone.

HTH,

Larry

Quello che faccio è quello di scrivere un semplice file JavaScript che ha la funzionalità comuni, andare al denominatore più basso (JavaScript 1.5). Ho poi ho altri file per le versioni più recenti di javascript, e quelli sostituirò funzioni nei miei oggetti JavaScript, in modo che possa progressivamente aggiungere più sostegno.

Se voglio utilizzare il tag canvas, quindi posso aggiungere che in un file diverso, dal momento che IE e Firefox / Opera / Safari differiscono nel modo in cui creano l'elemento canvas.

Questa non è una gioia per la manutenzione, ma se voglio utilizzare il nuovo HTML / JavaScript presenta quindi questo sembrava essere il miglior modello.

Sono d'accordo con Andy. Fornire diversa versione di un'applicazione per i vari browser è un potenziale problema di manutenzione lungo la strada. Ho sempre trovato una scommessa migliore per fornire una versione di un app, che funziona in tutti i browser. Ad esempio, cerco di evitare sniffer del browser. L'applicazione potrebbe non essere il più cool uno, ma funziona per tutti ed è più facile da mantenere.

Questo genere di cose è più facile ora con tutte le librerie Javascript nifty che astratta alcune delle differenze del browser via. Inoltre, si può fare un sacco di cose nei browser più vecchi. E 'solo fatto "in modo diverso";)

Quindi diciamo che si crea un'applicazione decentemente dimensioni. Hai bizzeffe browser sniffing per determinare quali caratteristiche si accende e che sarà off. È annusato per Opera 9.x, e ora (oggi in realtà) Opera 10 viene fuori. Devi andare e aggiornare ogni sniffer in ogni pagina. E poi un altro browser viene fuori presto ... e un altro. Avete intenzione di passare tutto il tempo, determinare quali browser si sostegno e quali caratteristiche per supportare su di loro.

Io uso più browser in un giorno. Così, quando vado al vostro sito, ho intenzione di vedere tre diverse interfacce. Sarò confuso, dal momento che le caratteristiche mi aspettavo di essere lì, o i comportamenti che mi aspettavo non ci sarò. Alla fine, vado a prendere frustrato e non andare al tuo sito nuovo.

Inoltre, non v'è più di quanto velocemente qualche pezzo di codice JavaScript viene eseguito non solo il browser. Ho ancora un vecchio Pentium esecuzione Firefox 3.5. A volte, può essere dolorosamente lento.

Penso che la risposta è che è necessario per classificare il codice in categorie di velocità, non solo catalogare nella funzionalità del browser.

In altre parole, dare ai vostri livelli del sito di caratteristiche, primo livello è HTML di base, secondo livello è javascript miglioramenti di usabilità, terzo livello è javascript caramelle animazione occhio.

Poi fare una combinazione di permettere agli utenti di dimettersi un livello ogni volta che vogliono, "Clicca per disattivare le animazioni!", "Fare clic per attivare le animazioni!", "Clicca per visualizzare in HTML di base", e scegliendo per difetto a determinate categorie di velocità basate su browser per le ragioni di velocità (ad esempio se IE7 sembra mostrare problemi di velocità con i pieni animazioni, renderlo di default per il secondo livello "javascript usabilità miglioramenti").

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top