Что нового в CppCMS 1.x.x?
Было введено много новшеств:
Ядро CppCMS:
Введено обратно совместимое API и ABI между релизами.
Почищены зависимости - в них остались только простейшие библиотеки, которые есть на каждой системе.
Введение Booster как стабильного ABI, замещающего Boost.
Была обеспечена нативная поддержка платформы Microsoft Windows, включая поддержку инструментариев MinGW и MSVC.
Поддержка Ajax:
- Введение синхронных и асинхронных сервисов JSON-RPC, что позволяет более легкую интеграцию между серверной и клиентской сторонами Ajax-приложений.
Поддержка Comet:
В CppCMS была введена поддержка асинхронного/ событийно-ориентированного программирования.
Поддержка масштабируемой Push-технологии.
Асинхронные приложения теперь способны одновременно и эффективно управлять несколькими запросами в одном инстансе и помещать данные в клиентскую часть.
Улучшенная поддержка i18n и l10n:
В станартный C++ интерфейс facet'ов
std::locale
была интегрирована полнофункциональная локализация, основанная на библиотеке ICU.Эта поддержка встроена вместе с библиотекой Boost.Locale, предложенной для Boost.
Дополнительная локализация встраиваемых приложений, в которых ICU может быть недоступен, основанная на стандартной библиотеке.
Масштабируемость:
Была введена двухуровневая система кеширования.
При использовании распределенной системы кеширования, приложения локально кешируют наиболее часто используемые страницы, значительно уменьшая задержки и трафик между кешем серверов и кешем клиентов.
Разработка и отладка
Предусмотрен внутренний HTTP веб-сервер для разработки и отладки.
Введена поддержка динамической перезагрузки представлений (view) без перезапуса приложения.
Эти изменения значительно снизили обратную совместимость с CppCMS серии 0.0.x, но они абсолютно необходимы для обеспечения всех этих новшеств.
Кроме того, возможно почти "механически" адаптировать код к новому API.