Quale sarebbe la migliore piattaforma per sviluppare siti Web da utilizzare con connessioni molto lente senza sacrificare troppo il design? [chiuso]

1

Come possiamo offrire agli utenti dial-up in alcuni luoghi remoti o in paesi meno sviluppati, una buona esperienza durante l'utilizzo di siti Web dinamici.

    
posta Carlos 24.10.2012 - 00:36
fonte

4 risposte

4

Utilizza YSlow per capire come ottimizzare il tuo sito web e seguire tutte le best practice per l'ottimizzazione delle pagine web.

YSlow analizza le pagine Web e perché sono lente in base alle regole di Yahoo! per i siti Web ad alte prestazioni.

Visita il sito ufficiale YSlow per maggiori informazioni: link

    
risposta data 24.10.2012 - 00:41
fonte
3
  1. Affidati molto alla memorizzazione nella cache a livello di browser (meta-tag: usa Firebug o equivalente per valutare le tue chiamate al server e verificare che le risorse vengano memorizzate nella cache sul lato client).
  2. Per contenuti dinamici, utilizza AJAX con JSON (non XML) per ridurre il traffico e i postback del browser. (Oppure sperimenta con websocket se puoi garantire quale browser stanno utilizzando).
  3. Prova a codificare più logica all'interno del codice JavaScript stesso (JS MVC?) - di nuovo per eliminare le chiamate al server.
  4. Alta compressione su qualsiasi immagine
  5. Minimizza qualsiasi JavaScript usato

Il tuo obiettivo sarà quello di passare il meno possibile al browser e dal browser nel minor numero di richieste di richiamata al server. Vedi Guida di Yahoo .

    
risposta data 24.10.2012 - 04:14
fonte
2

Penso che Watson abbia bisogno di qualificare il suo punto n. 5: Minimizza JavaScript. Penso che quello che intende con il punto 3 sia che se hai una pagina che ha bisogno di costruire un sacco di HTML attorno a un elenco di bit di dati molto piccoli, puoi costruire i dati in un array in JavaScript e costruirgli quella parte della pagina usando Document.write (). Ad esempio, in una pagina che deve elencare molte stringhe lunghe separate da virgole o punti e virgola, puoi semplicemente elencare le stringhe una volta.

var emailAddrs = new Array("[email protected]",
    "[email protected]",
    ...
    "[email protected]");
function showEmailAddrs(semicolon) {
    var innerHtml = '<a href="mailto:javascript:hideEmailAddrs();">Hide email addresses<\/a><br \/>\n<span class="normal">';
    if (semicolon) {
        innerHtml += emailAddrs.join('; ');
    } else {
        innerHtml += emailAddrs.join(', ');
    }
    innerHtml += '<\/span>';
    document.getElementById("emailAddrs").innerHTML = innerHtml;
}

Con una lunga lista, puoi vedere come questo salverebbe quasi la metà delle dimensioni. Se il JavaScript ha generato <option value="123"> tag attorno a qualche migliaio di stringhe, puoi risparmiare ancora più spazio. Come altri hanno già detto, evita le immagini di grandi dimensioni. Dovrei anche aggiungere:

  • Le teorie ti portano solo lontano. Credi quello che tempo e tempo tutto. Mi piace fare ogni prova di cronometraggio per 10 volte, organizzare i risultati in ordine ascendente e mediamente due volte al centro. Registra il tuo tempo prima di iniziare a ottimizzare in modo da essere sicuro di migliorare le cose e non di peggiorare le cose. Ho il tempo del server, ho il tempo del client ... ottieni l'immagine.
  • Utilizza i timer incorporati negli "Strumenti per sviluppatori" nella maggior parte dei browser.
  • Non utilizzare HTTPS a meno che non sia necessario: disattiva la memorizzazione nella cache del browser.
  • Scopri la differenza tra l'utilizzo di file CSS e JavaScript separati e l'integrazione in ogni pagina. Per HTTP, separate dovrebbe essere più veloce (può essere memorizzato nella cache), HTTPS, l'incorporamento dovrebbe essere più veloce (è una richiesta in meno).
  • Non dimenticare il lato server. La maggior parte dei progetti su cui ho dovuto risolvere sono stati lenti ad aspettare che il server leggesse gli stessi dati dal database 3 o 4 volte, quindi li butta via e usa dati diversi per costruire lo schermo!
  • Puoi sperimentare con il tuo server web comprimere le risposte. Penso che ci sia un'opzione di compressione gzip sulla maggior parte dei server che i browser comprendono.
  • Se hai un'immagine grande (con HTTP), utilizza la stessa grande immagine su ogni pagina in modo che il browser possa memorizzarla nella cache.
  • Scopri le differenze tra GIF, PNG e JPEG. Ognuno funziona meglio per un diverso tipo di immagine. Se hai uno sfondo grande e molto sbiadito, puoi comprimerlo in un JPEG di bassa qualità e se il contrasto è abbastanza basso nell'immagine originale, apparirà benissimo.
  • Comprimi il tuo CSS. Ho avuto fortuna con lotterypost.com/css-compress.aspx di recente. Aggiungo sempre un'interruzione di riga} così posso ancora leggerla.
  • Elimina CSS inutilizzati, commenti, spazi bianchi ... Inserisco sempre un'interruzione di riga dopo un <br /> e non puoi sempre tagliare gli spazi bianchi dagli elementi interni senza causare problemi. Ma puoi rimuovere ovunque spazi bianchi consecutivi.
  • Scrivi HTML semplice. Utilizza meno tabelle, meno tag, meno formattazione quando possibile. Una strong conoscenza di HTML e CSS è il tuo più grande alleato qui.
  • Non utilizzare immagini spaziali (dal mio blog).

Questi suggerimenti funzionano con qualsiasi piattaforma principale. Potrei cercare qualcosa che ti dia il massimo controllo sul tuo HTML. Starei lontano dai tag JSP e Struts a causa della difficoltà di gestione degli spazi bianchi. Se ti trovi in Java, potresti visualizzare JRebel per compilare automaticamente i servlet, ma la maggior parte delle persone usa Spring with JSF, che non ho provato. Ruby / Rails è ottimo per i prototipi rapidi, ma non per la tua applicazione finale. Una buona parte del web gira su PHP, quindi quanto può essere cattivo? In questi giorni sono in Scala e intendevo controllare Lift (per siti sicuri). Play mi sembra piuttosto carino per un sito pubblico, ma come ho detto, sono un po 'prevenuto verso Scala in questo momento. Ci sono così tante scelte!

Buona fortuna!

    
risposta data 24.10.2012 - 05:20
fonte
1

Ciò che gli ottimizzatori non faranno per voi è minimizzare l'uso di file multimediali di grandi dimensioni (soprattutto grafici). Grafici inutilmente sovraffollati e molti di essi rappresentano in genere la maggior parte dei tempi di attesa sul dial-up. Un approccio minimalista sia al numero di download separati che alle loro dimensioni, sarebbe buono.

    
risposta data 24.10.2012 - 01:18
fonte

Leggi altre domande sui tag