ffead-cpp alternatives and similar libraries
Based on the "Frameworks" category.
Alternatively, view ffead-cpp alternatives based on common mentions on social networks and blogs.
-
OpenFrameworks
openFrameworks is a community-developed cross platform toolkit for creative coding in C++. -
JUCE
JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins. -
Cinder
Cinder is a community-developed, free and open source library for professional-quality creative coding in C++. -
libPhenom
libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] -
BDE
Basic Development Environment - a set of foundational C++ libraries used at Bloomberg. -
LibSourcey
C++14 evented IO libraries for high performance networking and media based applications -
EASTL
Obsolete repo, please go to: https://github.com/electronicarts/EASTL -
LibU
LibU is a multiplatform utility library written in C, with APIs for handling memory allocation, networking and URI parsing, string manipulation, debugging, and logging in a very compact way, plus many other miscellaneous tasks -
Loki
Loki is a C++ library of designs, containing flexible implementations of common design patterns and idioms. -
Yomm2
Fast, orthogonal, open multi-methods. Solve the Expression Problem in C++17. -
Apache C++ Standard Library
Mirror of Apache C++ Standard Library -
XPLPC - Cross Platform Lite Procedure Call
Cross Platform Lite Procedure Call - Support Linux, macOS, Windows, iOS, Android, Web Assembly, Flutter, Kotlin, Python and More -
Windows Template Library
A C++ library for developing Windows applications and UI components. [Public] -
Ultimate++
A C++ cross-platform rapid application development framework. [BSD] -
GLib
GLib provides the core application building blocks for libraries and applications written in C. [LGPL] -
ROOT
A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] -
Reason
A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] -
Cxxomfort
A small, header-only library that backports to C++03 some of the nifty C++11 goodies. [MIT] -
ASL
Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT]
Collect and Analyze Billions of Data Points in Real Time
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of ffead-cpp or a related project?
Popular Comparisons
README
The ffead-cpp Framework
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.
Both cmake and autoconf 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 | | | | |---|---|---| |Ubuntu|CentOS|OpenSUSE| |Gentoo|ArchLinux|Alpine Linux| |MacOS|Windows Cygwin|Windows mingw-w64 |ArchLinux (mingw-w64 cross compiler)|Ubuntu (musl cross compiler)|Ubuntu (android cross compiler)
Features
- Multiple server backends (HTTP 1.1/HTTP2/HTTP3) | | | | | |---|---|---|---| |embedded (HTTP1.1)|nghttp2 (HTTP2)|quiche (HTTP3)|nginx| |apache|cinatra (c++)|lithium (c++)|drogon (c++)| |libreactor (c)|h2o (c)|vweb (vlang)|picov (vlang)| |actix (rust)|hyper (rust)|thruster (rust)|rocket (rust)| |h2o.cr (crystal)|crystal-http (crystal)|fasthttp (golang)|gnet (golang)| |firenio (java)|rapidoid (java)|wizzardo-http (java)|hunt (d)| |swift-nio (swift)|http.jl (julia)|mongols (c)|uv-cpp (c++)| |CppServer (c++)|openlitespeed (experimental)|||
- Web Socket Support
- Advanced ORM - SDORM (sql/monogo)
- Cache API (memcached/redis)
- Search Engine API (solr/elasticsearch) -- (experimental)
- Improved Thread/ThreadPool API(s)
- Marker based configuration (java style annotations)
- Reflection support
- Serialization support
- Date/Time Ultility functions
- Better Logging support
- HTTP2.0 Support (experimental)
- Dependency Injection
- Sample app for Webrtc Signalling (websocket + api) (horizontally scalable peerjs compatible signalling server)
Quickstart (Using cmake/make)
- Install cmake >= 3.8.2 and prerequisites
- mkdir build && cd build
- cmake -DSRV_EMB=on -DMOD_SDORM_MONGO=on ..
- make install -j4 (Build ffead-cpp along-with the sample applications in web + generate ffead-cpp binary)
- Sip some coffee
- cd ../ffead-cpp-5.0-bin/ (Navigate to the ffead-cpp binary folder)
- chmod +x *.sh
- ./server.sh (Startup ffead-cpp Njoy!!)
Quickstart (Using cmake/ninja)
- Install cmake >= 3.8.2, ninja and prerequisites
- mkdir build && cd build
- cmake -GNinja -DSRV_EMB=on -DMOD_SDORM_MONGO=on ..
- ninja install (Build ffead-cpp along-with the sample applications in web + generate ffead-cpp binary)
- Sip some coffee
- cd ../ffead-cpp-5.0-bin/ (Navigate to the ffead-cpp binary folder)
- chmod +x *.sh
- ./server.sh (Startup ffead-cpp Njoy!!)
Quickstart (Using autoconf)
- Install autoconf, automake and libtool prerequisites
- ./autogen.sh
- ./configure --enable-srv_emb=yes --enable-mod_sdormmongo=yes
- make install -j4 (Build ffead-cpp along-with the sample applications in web + generate ffead-cpp binary)
- Sip some coffee
- cd ffead-cpp-5.0-bin/ (Navigate to the ffead-cpp binary folder)
- chmod +x *.sh
- ./server.sh (Startup ffead-cpp Njoy!!)
Webrtc Example (Uses peerjs)
- Follow Quickstart (Using cmake) above
- Build docker image from docker-webrtc
- Once the server starts, navigate to http://localhost:8080/peer-server/index.html in 2 tabs
- Enjoy p2p calling using the ffead-cpp webrtc (peerjs compatible) signalling server
For further details checkout the wiki page