Main  /  Edit version 4  /  Edit version 5  /   /  Users Area

Difference "Moved" ver. 4 versus ver. 5


Version 4Version 5
The goals for next CppCMS releaseWhats New in CppCMS 1.x.x?


The road map of the project includes several milestones:
Many features were introduced:
1. CppCMS core components refactoring including following:
- Introduction of asynchronous event loop based on
Boost.Asio. This allow native and efficient
and _scalable_ support of Comet Technology
(server side push).
1. **CppCMS Core:**
- Introduction of basic support of Win32 platform
via Mingw development tools.
- Introduction of backward compatible API and _ABI_
between releases.
- Remove the dependency of many libraries that can
be replaced with Boost or lack important features:
- Dependencies cleanup thus the only dependencies
are ICU library and optional `libgcrypt` and
1. Remove CgiCC -- low quality problematic library.
2. Remove libfcgi -- no support of asynchronous API.
3. Replace libmm with Boost.Inerprocess -- support
of windows and rare library.
4. Remove sqlite3 -- it should not be there
from the beginning.
Boost library is hidden from user and placed in
private namespace. Thus neither CppCMS nor its
users are limited to specific version of Boost
- Introduction of backward compatible API and **ABI**
using opaque pointers. This would improve
significantly compilation speed as well.
- Native support of Microsoft Windows platform
was provided including the support of
MinGW and MSVC toolsets.
- Removal of Boost from entire API of CppCMS due
to lack of backward ABI compatibility.
2. **Ajax Support:**
- Renaming internal boost `namespace` in order to
prevent collision with other version of Boost
that developer may use -- as part of support of
backward ABI compatibility.
- Introduction of synchronous and asynchronous
JSON-RPC services that allow easier
integration between server side and client
side Ajax applications.
2. Better support of i18n and and l10n:
3. **Comet Support:**
- Support of `std::locale` for localization for
outputs like numbers, dates, monetary,
translation and so on.
- Support of asynchronous/even driven programming
was introduced to CppCMS.
- Optional support of ICU via `std::locale` facets
that would allow high quality l10n features
that are unsupported features by `std::locale`.
- Support of scalable Push technology.
3. Introduction of RPC framework that would allow easier
integration between client and server side and allow
easier communication of different business logic
back-ends with CppCMS front-end.
Asynchronous applications are now capable of
management multiple request in single instance
simultaneously in scalable and efficient way and
push data to client side.
4. Introduction of Comet support and API that
allows development asynchronous web applications.
2. **Improved Support of i18n and l10n:**
- Powerful localization using ICU library
is integrated into standard C++ interface of
`std::locale` facets.
This support is build with Boost.Locale library
proposed for Boost.
- Optional localization based on standard
library for embedded applications where ICU
may be not feasible.
4. **Development and Debugging**
- Internal HTTP web server for development and
debugging was provided.
- Support of dynamic view reloading without
application restart was introduced.
These changes will significantly break API backward compatibility with CppCMS 0.0.x series, but these changes
are absolutely necessary to provide these features.
Also it would be possible to adopt the code almost "mechanically" to the new API.


CppCMS is a web development framework for performance demanding applications.

Support This Project Logo

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

CppCMS needs You


Main Page

Valid CSS | Valid XHTML 1.0