Главная  /  Правка  /  История  /   /  Область пользователей

Часто Задаваемые Вопросы

Вы сумасшедший или мазохист?

Насколько мне известно — нет.

Зачем создавать веб-сайты на C++?

Есть много причин, смотрите Обоснование CppCMS.

CppCMS — это такая же готовая система управления контентом (CMS), как Drupal?

Нет, CppCMS не является системой управления контентом (CMS) аналогичной Drupal, это фреймворк веб-разработки, такой как Django или RoR.

Если CppCMS не CMS, откуда пришло это название?

Оригинальная идея — «Напиши собственную CMS на C++»

Ведущий разработчик задал вопрос в 2008 году, как лучше назвать проект, но лучших ответов не было и поэтому было принято решение оставить название как есть.

Позднее было решено оставить это название, т.к. оно уже было широко известно и все окружающее ПО уже использовало cppcms в качестве пространства имен.

Зачем делать веб-сайты на C++? Это опасный язык!

Современный C++ — безусловно сложный язык и требует гораздо больше времени для ознакомления, по сравнению с динамическими языками вроде Python или PHP, или статическими вроде C#/Java, которые очень популярны в веб-разработке.

Однако если Вы в нем разберетесь, у Вас есть огромный набор средств, позволяющих писать приложения быстро и безопасно, без утечек памяти и случайных падений. Если Вы придерживаетесь принципов RAII, пишете защищенный код с использованием исключений и понимаете, как работает STL, для вас всё будет простым и вполне ясным.

Разве главным узким местом любого веб-приложения не является SQL-движок, а не язык серверной части?

Это весьма распространенное заблуждение. И его весьма легко проверить. Запустив простые тесты производительности типичной CMS вы обнаружите, что она может создавать около 5-50 страниц в секунду.

Если Вы возьмете лог SQL-запросов к базе данных и запустите их аналогично тому, как если бы они были запросами от движка CMS, то обнаружите, что можете достичь 1000 запросов в секунду (запросов, не SQL-запросов)... Таким образом, SQL создает около 5% от Вашей общей проблемы производительности.

Фактически, если взять действительно большие проекты вроде Википедии, можно обнаружить, что гораздо больше вычислительных ресурсов тратится на обработку PHP, чем на обработку SQL-запросов. См.: "Является ли база данных узким местом веб-сервиса?"

Как я могу помочь?

Прочитайте это руководство

Какова политика лицензирования?

CppCMS 1.2 и выше лицензируется под лицензией MIT. Предыдущие версии лицензируются на условиях LGPLv3 и коммерческой лицензий.

Прочитайте это, чтобы выяснить разницу и руководствоваться в выборе подходящей для Вас лицензии.

Какие из текущих фреймворков на Вас повлияли?

В основном Django. Иногда, когда я хочу добавить какое-нибудь новшество в CppCMS, я читаю документацию Django и пытаюсь понять, как они это сделали.

Хорошие примеры: наследование темплейтов и форм.

Это кроссплатформенный проект?

Да.

Поддерживается: Linux, Windows, Solaris, FreeBSD и Mac OS X

Зачем откомпилированные темплейты? Почему не использовать систему интерпретации темплейтов или XSLT?

Давайте начнем с истории. Первая система темплейтов CppCMS (CppCMS 0.0.1b) была интерпретируемой и динамически типизируемой. Она требовала от пользователя обеспечения некоторой склейки между используемыми ими данными и системой рендеринга.

Но эта система темплейтов была отброшена в пользу статически типизируемых компилируемых темплейтов по следующим причинам:

Есть несколько недостатков компилируемых темплейтов:

Первое еще не так критично, потому что при использовании темплейтов, компилируемых в совместно используемые объекты или dlls, время компиляции значительно сокращается и пользователю не требуется ждать долго. Например, компиляция и линковка темплейтов wikipp, занимает около 1.5 секунд.

Второе относится к CppCMS 1.x.x, в котором темплейты могут автоматически перезагружаться как совместно используемые объекты отображения или dll, обновляемые без рестарта всего приложения.

Доп. примечание: Ничто не запрещает Вам использовать любую другую систему темплейтов. Если Вы находите это удобным, можете всегда писать вывод напрямую без темплейтов.

Проект

CppCMS является основой веб-разработки для выполнения ресурсоемких приложений.

Размещение

SourceForge.net Logo

Поддержать проект

CppCMS needs You


Навигация

Главная страница



Валидация CSS | Валидация XHTML 1.0