Description
A Web Framework built on top of Qt, using the simple and elegant approach of Catalyst (Perl) framework.
Qt's meta object system is what powers the core of Cutelyst, it allows for introspecting controller's methods signatures and generate matching actions that can be invoked later. Main features:
Cutelyst alternatives and similar libraries
Based on the "Web Application Framework" category.
Alternatively, view Cutelyst alternatives based on common mentions on social networks and blogs.
-
Pistache
Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2] -
Civetweb
Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT] -
TreeFrog Framework
High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] website -
CppCMS
CppCMS is a Free High Performance Web Development Framework (not a CMS) aimed at Rapid Web Application Development. -
QDjango
A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL]
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of Cutelyst or a related project?
README
Cutelyst - The Qt Web Framework
A Web Framework built on top of Qt, using the simple and elegant approach of Catalyst (Perl) framework.
Qt's meta object system is what powers the core of Cutelyst, it allows for introspecting controller's methods signatures and generate matching actions that can be invoked later.
BENCHMARKS
Don't trust us on being fast, check out the most comprehensive web framework benchmarks by TechEmpower http://www.techempower.com/benchmarks/
FEATURES:
- Cross-platform
- Stable API/ABI - v1 on v1.x.x branch and v2 on tagged from master
- Pluggable Engines
- Cutelyst-WSGI - A cross-platform and fast WSGI engine
- HTTP/1.1 - Pipelining and Keep-Alive
- HTTP/2 - Upgrade to H2, ALPN negotiation on HTTPS and direct H2C
- FastCGI - Pipelining and Keep-Alive
- uWSGI - Multiple protocols support (HTTP 1.0, FastCGI, uWSGI)
- Cutelyst-WSGI - A cross-platform and fast WSGI engine
- WebSockets
- REST with ActionREST
- Plugin based views
- Cutelee (A Qt implementation of Django's template engine)
- Grantlee (A Qt implementation of Django's template engine)
- Clearsilver
- JSON
- Dispatcher
- Chained
- Path
- Plugins
- Session
- Authentication (with PBKDF2)
- Authorization with RoleACL
- StatusMessage
- Validator (to validate user input)
- CSRF protection
- Memcached
- UserAgent
- Asynchronous processing (just don't use local QEventLoops or it will eventually crash)
- Async SQL with ASql
- Upload parser
- JSON body as QJsonDocument when uploaded data is in JSON format
- C++11
- Chunked reponses (via QIODevice write API)
- Request profiling/stats
- Unit tested
- QtCreator integration
DOCUMENTATION
Get started with our Tutorial or check the API.
COMMUNITY
The Cutelyst project IRC channel is #cutelyst on freenode.
Or you can use the Mailing List
REQUIREMENTS
- CMake - for the build system (>= 3.1)
- Qt - the core library of this framework (>= 5.6)
OPTIONAL
- uWSGI - to receive and parse protocols requests (>= 1.9 recommended)
LICENSE
The library is under the LGPLv2+ and public header files, documentation and examples are under MIT license.
*Note that all licence references and agreements mentioned in the Cutelyst README section above
are relevant to that project's source code only.