Home

Awesome

The ffead-cpp Framework

CodeQL

Almalinux Alpine Archlinux Gentoo MacOS Opensuse Ubuntu Windows Cygwin Windows Mingw-w64

Musl Cross Compilation Dockcross uclibc-wrt Compilation Android Cross Compilation Mingw-w64 Cross Compilation

Bazel build Buck2 build Meson build Scons build Shellb build Xmake build

Nodejs and Emscripten

According to the latest tfb results, ffead-cpp [embedded+v-picov] is currently the 20th fastest web/http/sql framework in the world Latest Techempower benchmarks

ffead-cpp is a web-framework, application framework, utilities all bundled into one. It also provides an embedded HTTP/Web-Socket compliant high-performance server core. It is a collection of modules all geared towards performing individual roles which together form the cohesive back-bone of ffead-cpp.

It provides a very simple to use and maintain web-framework library with advanced features like Reflection, Dependency Injection (IOC), Inbuilt REST/SOAP support, Security/Authentication features. Moreover implementation for interfacing to caching tools like Memcached/Redis are provided in-built. Database integration/ORM framework (SDORM) solves all major issues with respect to interfacing with SQL/No-SQL database alike.

Multi-level serialization or template level serialization is a high point of ffead-cpp core serialization run-time. Any C++ POCO class can be marked as serializable and the run-time will take care of marshalling/un-marshalling the object to its intended serializable form and back(JSON/XML/BINARY).

ffead-cpp can be easily driven by XML configuration, Services/Controllers/Filters/Interfaces/API(s) are all simple POCO classes without any need for them to extend any classes. The differentiating feature in ffead-cpp is the usage/implementation/support for markers (Annotations in java). Simple #pragma directives can now be used to drive the entire configuration in ffead-cpp, so you can just forget XML configuration.

All in all ffead-cpp is the gap in the world of C++ web application or enterprise application development which I have tried to fill with my humble/honest effort.

cmake, autoconf, meson, xmake, scons, shellb, bazel and buck2 builds are supported

Detailed OS specific instructions, instructions for installing the available server backends and docker/docker-compose scripts are located at docker

Build validated for the following Operating systems/Toolchains

UbuntuAlmalinuxOpenSUSE
GentooArchLinuxAlpine Linux
MacOSWindows CygwinWindows mingw-w64
ArchLinux (mingw-w64 cross compiler)Ubuntu (musl cross compiler)Ubuntu (android cross compiler)
SolarisFreeBSDEmscripten
Dockcross armv5-uclibc

Features

Examples (as per feedback from HN)

Quickstart (Using cmake/make)

Quickstart (Using cmake/ninja)

Quickstart (Using xmake)

Quickstart (Using meson)

Quickstart (Using scons)

Quickstart (Using shellb)

Quickstart (Using bazel)

Quickstart (Using buck2)

Quickstart (Using autoconf)

For further details checkout the wiki page