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.