Введение

Apache FreeMarker – это бесплатный движок шаблонов на основе Java, изначально ориентированный на динамическую генерацию веб-страниц в архитектуре MVC. Сейчас он может генерировать текст на основе шаблонов и изменяющихся данных. Он не имеет зависимостей от сервлетов, HTTP или HTML и часто используется для генерации исходного кода, файлов конфигурации или электронных писем.

История

FreeMarker пережил довольно бурную историю до 2004 года, обусловленную сменами парадигм и другими значительными изменениями, происходившими неоднократно. FreeMarker 1 (ныне известный как FreeMarker Classic, отдельный проект) был изначально разработан Бенджамином Гиром и Майком Байером. С 2002 года руководство проектом перешло к Джонатану Ревуски, который выпустил FreeMarker 2, что положило начало серии существенных изменений. Главной целью этих изменений было повышение строгости языка шаблонов, то есть выявление как можно большего числа опечаток и других типичных ошибок. Также была внедрена автоматическая обёртка объектов и постепенно развивалась система типов языка шаблонов. Язык обрёл множество функций для опытных пользователей, таких как расширенные возможности макропрограммирования и пространства имён. С выпуском версии 2.3 в третьем квартале 2004 года язык достиг достаточно стабильного состояния. По состоянию на 2022 год продукт сохраняет обратную совместимость. В будущем не ожидается значительных изменений, нарушающих обратную совместимость, в серии FreeMarker 2. В конце 2015 года FreeMarker был передан в Apache Software Foundation, где он вошёл в Apache Incubator, а 21 марта 2018 года стал полноценным проектом Apache.