Panoramica overview

HTML Template Language (HTL), supportato da Adobe Experience Manager (AEM), mira a fornire un framework web di livello Enterprise a produttività elevata che aumenti la sicurezza. Consente inoltre agli sviluppatori di HTML senza conoscenze Java di partecipare meglio ai progetti AEM.

Introdotto in AEM 6.0, HTML Template Language è il sistema di modelli lato server preferito e consigliato per HTML in AEM. HTML Template Language supporta gli sviluppatori web nella creazione di siti web aziendali affidabili, aumentando la sicurezza e l’efficienza dello sviluppo.

Maggiore sicurezza increased-security

HTL (HTML Template Language) migliora la sicurezza del sito applicando automaticamente l’escape in base al contesto a tutte le variabili di output, rendendolo più sicuro rispetto alla maggior parte degli altri sistemi di modelli. HTL rende possibile questo approccio perché comprende la sintassi HTML e utilizza tale conoscenza per regolare l’escape richiesto per le espressioni in base alla loro posizione nel markup. Questo metodo può comportare un escape diverso per le espressioni posizionate negli attributi href o src rispetto a quelle posizionate in altri attributi o altrove.

Sebbene sia possibile ottenere lo stesso risultato con i linguaggi basati su modelli come JSP, con questi ultimi lo sviluppatore deve accertarsi manualmente che l’escape corretto venga applicato a ogni variabile. Poiché una singola omissione o un singolo errore nell’escape applicato potrebbe causare una vulnerabilità cross-site scripting (XSS), Adobe ha deciso di automatizzare questa attività con HTL. Se necessario, gli sviluppatori possono comunque specificare un escape diverso sulle espressioni. Con HTL, tuttavia, è molto più probabile che il comportamento predefinito corrisponda a quello desiderato, riducendo la probabilità di errori.

Sviluppo semplificato simplified-development

HTML Template Language è facile da imparare e presenta funzioni appositamente limitate per garantirne la semplicità. Dispone inoltre di potenti meccanismi per strutturare la logica di markup e chiamata, applicando costantemente una rigida separazione delle questioni di markup e logica. HTL è HTML5 standard, che utilizza espressioni e attributi di dati per annotare il markup con un comportamento dinamico. Questo approccio mantiene la validità e la leggibilità del markup. La valutazione delle espressioni e degli attributi dei dati viene eseguita interamente sul lato server e non è visibile sul lato client, dove è possibile utilizzare qualsiasi framework JavaScript senza interferire.

Queste funzionalità consentono agli sviluppatori HTML senza conoscenze Java di modificare i modelli HTL, integrarsi nel team di sviluppo e semplificare la collaborazione con sviluppatori Java full stack. E viceversa, consente agli sviluppatori Java di concentrarsi sul codice di back-end senza preoccuparsi di HTML.

Costi ridotti reduced-costs

Una maggiore sicurezza, uno sviluppo semplificato e una migliore collaborazione in team si traducono, per i progetti AEM, in maggiore efficienza, tempi di realizzazione più rapidi e una riduzione del costo totale di proprietà.

La reimplementazione del sito Adobe.com con HTML Template Language ha dimostrato che i costi e la durata del progetto sono ridotti fino a circa il 25%.

Aumento dell’efficienza e riduzione dei costi

Il diagramma precedente mostra i seguenti miglioramenti in termini di efficienza potenzialmente resi possibili da HTL:

  • HTML/CSS/JS: gli sviluppatori HTML possono modificare direttamente i modelli HTL, consentendo l'implementazione diretta dei progetti front-end sui componenti AEM, eliminando la necessità di un'implementazione separata. Questo approccio riduce il dolore delle iterazioni con gli sviluppatori Java full stack.
  • JSP / HTL: Poiché il linguaggio HTL non richiede alcuna conoscenza Java ed è di facile scrittura, qualsiasi sviluppatore con esperienza HTML è in grado di modificare i modelli.
  • Java: grazie alla semplicità d’uso dell’API di utilizzo fornita da HTL, l’interfaccia con la logica di business diventa limpida, andando anche a beneficio dello sviluppo Java in generale.

Video introduttivo video

Il seguente video da una sessione AEM Gems, offre una panoramica dello scopo di HTL e alcuni esempi di implementazione.

Il video fa riferimento a HTL per il suo nome precedente, Sightly.

Passaggi successivi next-steps

Ora che conosci gli obiettivi e i vantaggi di HTL, puoi iniziare a utilizzare il linguaggio. Consulta Guida introduttiva a HTML Template Language.

recommendation-more-help
86859df1-0285-4512-b293-0ef9cbea5ee8