Было введено много новшеств: |
|
1. **Ядро CppCMS:** |
|
- Введено обратно совместимое API и _ABI_ |
между релизами. |
|
- Почищены зависимости - остались только |
библиотека ICU, опциональные `libgcrypt` и |
`iconv`. |
|
Библиотека Boost скрыта от пользователя и |
размещена в закрытом пространстве имен. |
Т.о. ни CppCMS ни ее пользователи не ограничены |
определенной версией библиотеки Boost. |
|
- Была обеспечена нативная поддержка платформы |
Microsoft Windows, включая поддержку |
инструментариев MinGW и MSVC. |
|
2. **Поддержка [Ajax](http://ru.wikipedia.org/wiki/Ajax):** |
|
- Введение синхронных и асинхронных сервисов |
JSON-RPC, что позволяет более легкую интеграцию |
между серверной и клиентской сторонами |
Ajax-приложений. |
|
3. **Поддержка [Comet](http://ru.wikipedia.org/wiki/Comet_%28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%29):** |
|
- В CppCMS была введена поддержка асинхронного/ |
[событийно-ориентированного программирования](http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5). |
|
- Поддержка масштабируемой Push-технологии. |
|
Асинхронные приложения теперь способны одновременно |
и эффективно управлять несколькими запросами в |
одном инстансе и помещать данные в клиентскую часть. |
|
4. **Улучшенная поддержка i18n и l10n:** |
|
- В станартный C++ интерфейс facet'ов `std::locale` |
была интегрирована полнофункциональная локализация, |
основанная на библиотеке ICU. |
|
Эта поддержка встроена вместе с библиотекой |
Boost.Locale, предложенной для Boost. |
|
- Дополнительная локализация встраиваемых приложений, |
в которых ICU может быть недоступен, основанная на |
стандартной библиотеке. |
|
5. **Масштабируемость:** |
|
- Была введена двухуровневая система кеширования. |
|
При использовании распределенной системы |
кеширования, приложения локально кешируют |
наиболее часто используемые страницы, |
значительно уменьшая задержки и трафик между |
кешем серверов и кешем клиентов. |
|
6. **Разработка и отладка** |
|
- Предусмотрен внктренний HTTP веб-сервер для |
- Предусмотрен внутренний HTTP веб-сервер для |
разработки и отладки. |
|
- Введена поддержка динамической перезагрузки |
представлений (view) без перезапуса приложения. |
|
Эти изменения значительно снизили обратную совместимость с CppCMS серии 0.0.x, но они абсолютно необходимы для обеспечения всех этих новшеств. |
|
Кроме того, возможно почти "механически" адаптировать код к новому API. |