Come si può architettare il livello di presentazione di un sito Web?

3

Sto andando avanti e indietro in diversi approcci per la progettazione del livello di presentazione per i siti web.

Molte persone giurano su uno dei diversi pacchetti CMS che è troppo vincolante e inflessibile. Molte persone suggeriscono di scrivere l'HTML a mano che non sembra scalare nel caso di molte pagine.

Ho una nuova applicazione web che sto progettando e voglio davvero avere un approccio "corretto" ed "elegante" e pratico nel modo in cui lo architetto.

Qualcuno ha fatto questo in un modo in cui sono felice e può collegare vari moduli e librerie senza problemi?

Qualche consiglio o insidia che dovrei osservare?

    
posta Genadinik 28.04.2011 - 22:06
fonte

3 risposte

1

Se vuoi garantire la conformità agli standard, la semplicità e la coerenza (ad esempio correttezza ed eleganza), scrivere la tua HTML e CSS a mano è la strada da percorrere. Lo fa ogni progettista competente con cui ho lavorato. Questo livello di controllo è necessario per ottenere i risultati desiderati. Non trovo l'economia di scala per nulla limitante. Come ogni altro problema di scalabilità, può essere gestito con gli strumenti corretti (riutilizzo e così via).

    
risposta data 28.04.2011 - 23:51
fonte
2

Ho scritto HTML a mano, scritto JSP, usato editor WYSIWYG e sono stato su team che usavano pacchetti (JSF). In realtà mi sono piaciuti tutti e alcuni ... anche se spesso finisco con il lancio di editor WYSIWYG sul cordolo e ho appena iniziato a editare a mano quando eseguo direttamente HTML.

Penso che sia un fattore di ciò che vuoi fare:

  • JSF - e presumibilmente altre librerie complete - era eccezionale per strutture di dati web molto complesse. Dopo averlo usato, non vorrei scrivere alberi dinamici, tabelle complesse con controlli dei moduli nidificati, menu a comparsa o altri HTML di fascia alta a mano. Si adatta perfettamente alla mia architettura JEE MVC con i suoi innumerevoli tipi di iniezione e penso che mi abbia risparmiato un sacco di tempo nei widget dell'interfaccia utente. Anche il fatto di poter decifrare il codice, entrare e personalizzare alcune cose è stato un assoluto risparmio di vita. Lo svantaggio principale - quando hai bisogno di accelerare il tuo server finirai per scomporre la cover parecchio e chiedendoti quanto hai salvato. Avevamo un sistema veramente pesante, con connessioni complesse, molti dati e un strong bisogno di impaginazione e ordinamento. Questo ha funzionato in JSF, ma alla fine abbiamo deciso di sovrascrivere alcune cose per far funzionare il sistema in modo efficiente.

  • JSP - e presumibilmente altri meccanismi di presentazione dinamica (come ASP): davvero grandiosi quando hai bisogno di una forma di presentazione dinamica più semplice. Veloce e facile da codificare e in grado di fare una bella collezione di cose dinamiche. La sfida: costruire una connessione tra la visualizzazione HTML e l'elaborazione dinamica è una curva di apprendimento diversa dalla scrittura in un linguaggio OO e diversa dall'HTML. Può diventare estenuante passare mentalmente tra il pensiero HTML / CSS, JSP e Java - e devi farlo. JSF ti permetterà di essere abbastanza cieco nei confronti di HTML e CSS, a meno che tu non stia facendo qualcosa di complicato. JSP no. Inoltre, pone l'onere per la continuità della sessione su di te, a meno che tu non abbia dato la caccia ad alcuni open source per farlo per te.

  • HTML / CSS : ottimo per ottenere solo risultati. Ovviamente l'HTML diretto non ti permetterà di diventare dinamico. Hai bisogno di qualcosa in più - anche se è solo un piccolo JavaScript. Ma continuo a scrivere direttamente HTML per pagine che non ho bisogno di aggiornare molto spesso.

Non sono d'accordo sul fatto che una soluzione di rendering HTML semplice e semplicistica (come JSP) non possa scalare. Penso che sia necessario essere intelligenti: costruendo pagine per aree specializzate (come un menu JSP per la navigazione), usando tag div per il layout, ecc. E penso che sia necessario impegnarsi per diventare bravi nel refactoring.

Da JSP a qualcosa di più complesso che ti costruisce di più: penso che la chiave per la felicità sia trovare una libreria che abbia ciò di cui hai bisogno per la visualizzazione. Inizia con alcune schermate e guarda quali librerie si avvicinano ai tuoi scopi. Inoltre, cerca librerie che funzioneranno bene con altri meccanismi e avrai il meglio di entrambi i mondi. Non penso che sia irraggiungibile.

    
risposta data 28.04.2011 - 23:50
fonte
1

Non dimenticare mai la scalabilità quando costruisci siti web che hanno il potenziale per enormi quantità di traffico! Ho visto troppi esempi di siti basati su alcuni CMS appariscenti che possono essere facili da usare, ma alla fine si rivelano avere seri problemi di memoria e prestazioni. Finisce in caso di calamità.

Quindi il mio consiglio è di mettere in dubbio quanto bene il tuo CMS gestisca effettivamente il carico prima di buttarti nel letto con esso. Assicurarsi inoltre che funzioni con cache di memoria, bilanciamento del carico, replica del database e front-end che si prevede di utilizzare. In molti casi, potresti essere meglio scrivere i tuoi contenuti con un semplice motore di template html (anche su misura) e con un'infrastruttura accuratamente realizzata.

    
risposta data 29.04.2011 - 00:07
fonte

Leggi altre domande sui tag