Per quanto posso vedere ci sono due modi per costruire una pagina html: "dentro" il linguaggio (lo chiamerò building per mancanza di un nome migliore) o al di fuori della lingua ( usando i modelli). Lascia che ti spieghi un po 'cosa significa con questo prima di saltare alle domande.
Edificio
Un modo è quello di costruire la pagina html "dentro" la lingua che stai usando, utilizzando preferibilmente costrutti linguistici (non solo concatenando stringhe), e convertendo questi costrutti in html in un ultimo passaggio.
Un ottimo esempio di ciò è la libreria hiccup di Clojure, che usa il Mappe e vettori del clojure per rappresentare l'html. Questo permette di usare il pieno potere della lingua in cui si lavora per manipolare queste strutture.
Templating
Il secondo modo è scrivere l'html separatamente dal programma principale e utilizzare una sorta di modello DSL per inserire la logica nei modelli. Il pacchetto hamlet per Haskell è un esempio di questo.
Ora la mia domanda è : quali sono altri vantaggi e svantaggi di entrambi gli approcci?
Mi piacerebbe avere più familiarità con questi concetti in modo da fornire indicazioni agli articoli ecc. sono più che benvenuti Inoltre, per favore mi informi se lì è un altro approccio a cui non pensavo.
Riepilogo delle risposte finora
Pro templating
- È più semplice separare la vista dal resto del codice. Il codice sarà più facile da mantenere ed eviterai di mescolare la logica di business con il resto del tuo codice.
- Questo approccio è generalmente molto più accessibile alle persone con meno competenze tecniche.
Con templating
(nessuno fino ad ora)
Pro building
- Linguaggi funzionali, semplifica la scrittura di codice dichiarativo in modo nativo, quindi non è richiesto un linguaggio modello.
- Puoi ottenere tutta la potenza e la flessibilità del tuo linguaggio di programmazione e ottenere comunque i vantaggi di una sintassi dichiarativa.
Costruzione di Con
- I progettisti / i client non funzionano correttamente nella lingua di logica preferita.
- Si riduce ancora a codificare la pagina in codice solo per quello non è un codice modello separato.
- Ha più potenza, che potrebbe essere usato impropriamente. Devi fare molta attenzione
per separare il codice di visualizzazione e la logica aziendale. - In casi ideali è più veloce però.