Main  /  Edit version 1  /  Edit version 2  /   /  Users Area

Difference "The goals for next CppCMS release" ver. 1 versus ver. 2


The road map of the project includes two important milestones:
1. CppCMS core components refactoring including following:
- Intruduction of asynchronous event loop based on
- Introduction of asynchronous event loop based on
Boost.Asio. This allow native and efficient
and _scalable_ support of Comet Technology
(server side push).
- Removal of dependency on CgiCC -- today there is
about 5% of CgiCC library is used, many features
are not supported by it or are not supported well.
For example: file upload handling in CgiCC is very
primitive, limited and error prone, support of
cookies buggy and so on.
- Introduction of backware compatible API and **ABI**
using opaque poiters. This would improve
- Introduction of basic support of Win32 platform
via Mingw development tools.
- Removal of dependency many libraries that can
be replaced with Boost or lack important features:
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.
- Introduction of backward compatible API and **ABI**
using opaque pointers. This would improve
significantly compilation speed as well.
- Removal of Boost from entire API of CppCMS due
to lack of backward ABI compatibility.
- 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.
2. Better support of i18n and and l10n:
- Support of `std::locale` for localization for
outputs like numbers, dates, monetary,
translation and so on.
- Optional support of ICU via `std::locale` facets
that would allow high quality l10n features
that are unsupported features by `std::locale`.
3. Introduction of RPC framework that would allow easier
integration between client and server side and allow
easier communication of different business logic
backends with CppCMS frontend.
back-ends with CppCMS front-end.
These changes will significantly break API backward compatibility, but it would be possible to adopt the code
almost "mechanically" to the new API.
4. Introduction of Comet support and API that
allows development asynchronous web applications.
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