<ctpp/> [en] [ru]
главная .:. скачать .:. документация .:. faq .:. разработчикам  
o Главная
    Скачать!
    Установка

o Помощь
    Что такое CTPP?
    Как работает CTPP?
    Онлайн-документация
    FAQ

o В действии
    Проекты
    Первые шаги
    Как сделать?..
    Разработчикам

o В разработке
    Расписание
    Разработчики

    Благодарности




Что такое CTPP?

Если говорить коротко, то CTPP (CT++) - это инструмент, отделяющий процесс обработки данных (бизнес-логику) от их представления. Для проектов, в которых программист и фронтендер - разные люди, CT++ - самый подходящий выбор.

Например, у вас есть задача создать обычную версию HTML странички, версию для печати на принтере и экспорт данных в виде RSS. Очевидно, что в большинстве случаев алгоритм получения данных для этих страничек одинаков, а отличаются они только версткой. В другом случае может понадобиться менять дизайн страниц в зависимости от статуса пользователя или со временем может понадобиться изменить дизайн сайта, не меняя его "движок".

Почему именно CTPP?

Или "Зачем нужен CTPP, если есть XXXXX (подставить по вкусу)"?
Да, на текущий момент есть много шаблонизаторов: PHP Smarty, Perl HTML::Template, Text::Template, Xalan, libxslt. Все они имеют свои плюсы и минусы. В конечном итоге, выбирать самый подходящий все равно вам.
При разработке CTPP ставилась задача достижения максимального быстродействия при минимальном необходимом (по умолчанию - ничего лишнего!), но легко расширяемом наборе функциональности. Проще говоря, возможность "навесить" дополнительные возможности ограничивается только вашей фантазией - написанием пользовательский функций.

Достоинства CTPP:

o Очень высокая скорость работы

Библиотека CTPP действительно работает очень быстро, поскольку полностью написана на языке C++. В отличие от шаблонизаторов, разработанных на интерпретируемых языках, таких как PERL или PHP, CTPP не тратит время на интерпретацию исходного кода самой себя и не занимается подгрузкой среды исполнения.
В тоже время, библиотека быстрее широкоизвестных проектов типа Xalan-C или libxslt потому, что не предоставляет излишнюю, зачастую ненужную, но снижающую производительность функциональность.

o Гибкий синтаксис шаблонов
Если вы привыкли к синтаксису Smarty, HTML::Template или Text::Template, вы можете настроить CTPP "понимать" ваши старые шаблоны. Разумеется, некоторые переделки будут, но в ряде случаев проблем при переходе на новый "движок" не возникнет.

o Безопасность
Поскольку труд программиста и HTML верстальщика полностью разделен, нет риска поломки логики работы при неправильной верстке. То есть, вне зависимости от дизайна HTML, проект будет работать именно так, как разрабатывался программистом, в соответствии с техническим заданием.

o Кроссплатформенность
На данный момент библиотека одинаково хорошо работает под Linux, FreeBSD, Solaris и Windows.

o Поддержка реализаций того языка, к какому вы привыкли.
CTPP имеет C, C++, Perl и PHP интерфейсы. Другими словами, вы можете подключить эту библиотеку почти к любому проекту.

o Неограниченное количество уровней вложенности циклов и условий.

o Пользовательские функции
В случае необходимости можно создать собственные функции для специфического форматирования вывода данных.

o Обработчики вывода
Шаблонизатор позволяет изменять уже полученный код; к примеру, добавить сжатие данных методом gzip или сделать поддержку PHP-подобного механизма сессий.

o Внутреннее кеширование при выводе
Шаблонизатор умеет распознавать одинаковые участки подключенного кода шаблона и обрабатывать их только один раз.

o Различные источники шаблонов.
Шаблоны могут считываться с диска, из разделяемой памяти или из любого другого источника данных.

o Компиляция шаблонов.
Шаблоны можно скомпилировать в двоичный код, что позволит распространять код проекта без предоставления его исходных кодов.


Что в результате?

Итак, что дает CTPP:

Программисту:
Возможность написать свой код один раз и навсегда, не оглядываясь на то, как дизайнер нарисует очередной макет страницы и когда заказчик утвердит проект.
Использование одного и того же кода в разных проектах.

Фронтендеру:
Простоту построения сайта из готовых шаблонов. При этом не требуется специальных знаний таких сложных технологий, как, например, XSLT.

Менеджеру проекта:
Низкую стоимость и высокую скорость разработки, качество, безопасность и переносимость проекта.
Разделение труда между специалистами увеличивает скорость разработки: программист не должен ждать дизайнера, а верстальщик - программиста. Более того, при наличии репозитария ранее написанного ПО, труд программиста будет заключаться практически только в компоновке ранее существующих модулей.


Copyright © 2003 - 2023 CTPP Dev Team.