Система вебшаблонів
Система вебшаблонів використовує процесор шаблонів для комбінування вебшаблонів та створення кінцевої вебсторінки, використовуючи джерело даних для налаштування зовнішнього вигляду сторінки. Вона використовується у системах керування змістом, вебфреймворках та HTML-редакторах.
Шаблонизатор
Шаблонизатор (в web) — це програмне забезпечення, що дозволяє використовувати html-шаблони для генерації кінцевих html-сторінок.
Основна мета використання шаблонизатору — це відділення представленя данних від виконуваного коду. Часто це необхідно для забезпечення можливості паралельної роботи програміста і дизайнера. Такий підхід значно прискорює час розробки та прототипування програми, дизайнеру не потрібно вникати в програмування, а програмісту турбуватися про інтерфейс.
Використання шаблонизатору покращує читаність коду і спрощує внесення змін в зовнішній вигляд, коли проект повністю виконує одна людина.
Популярними шаблони стали з приходом фреймворка Ruby On Rails і стали популярні не тільки в Інтернеті, сучасні десктопні програми теж йдуть по шляху відділення логіки програми від інтерфейсу, наприклад бібліотека Electron дозволяє створювати GUI додатки з інтерфейсом, написаному на HTML + JavaScript і логікою на NodeJS, по суті вбудовувавши движок Chromium в ваш виконуваний файл.
Іншим прикладом є фреймворк Qt, в якому інтерфейс може бути написаний на Qml + JavaScript і запускатися незалежно від основного додатка за допомогою утиліти qmlscene
. Компанія Microsoft також просуває цю ідею в .Net, надаючи технологію WPF . Як ми бачимо, деякі принципи, раніше зустрічаються переважно в Інтернеті, переймають іншими областями програмування. Тим самим з розвитком Інтернет Вебтехнології будуть все більше впливати на програмування в цілому.
Посилання
- JavaScript template libraries comparison from 2009
- Enforcing Strict Model-View Separation in Template Engines
- A Double-Model Approach to Achieve Effective Model-View Separation in Template Based Web Applications
- A PHP template engine comparison with graphic charts
- Comparisons/benchmarks of some Python template-engines and some generic thoughts about template-engines
- web-mode.el is an emacs major for editing web templates