Sono interessato a sapere quali sono le reali differenze (vantaggi e svantaggi) tra i due tipi di motori di template python; XML (come Genshi o Kid) e una sintassi personalizzata (come Cheetah o Jinja2).
Non sto cercando ciò che è meglio o una raccomandazione. Capisco che nessuna soluzione sarà perfetta e che la soluzione migliore dipenderà dal problema. Voglio capire meglio le differenze tra i due tipi prima di sceglierne uno per il mio problema.
Questo elenco potrebbe non essere applicabile a tutte le soluzioni di template.
Vantaggi XML:
- Utilizza l'XML, è per lo più familiare agli sviluppatori. Ci sono alcuni nuovi elementi (ifelse, logica di flusso) da imparare.
- Funziona con gli strumenti XML esistenti.
- È più potente in quanto è ben informato sui dati su cui si sta lavorando. (Genshi è sensibile al contesto)
Svantaggi XML:
- I motori basati su XML tendono ad essere più lenti dei motori di sintassi personalizzati .
- Alcuni sostengono che XML sia più difficile da imparare rispetto alla sintassi personalizzata.
Vantaggi della sintassi personalizzata:
- È veloce rispetto ai motori basati su XML. (vedi link precedente)
- È una sintassi semplice e potente che dovrebbe essere più facile da imparare.
Svantaggi della sintassi personalizzata:
- È un'altra sintassi da imparare.
- Potrebbe non funzionare correttamente con gli strumenti XML esistenti.