Development Tools

Drogon – fast C++ web framework

Drogon is a HTTP web application framework running on Linux/macOS/Unix/Windows.

Drogon uses a few tricks to decouple controllers from the main program. The routing settings of controllers can be done through macros or configuration file.

This is free and open source software.

Key Features

  • Fast and asynchronous – fully asynchronous and designed to have the lowest overhead without sacrificing usability.
  • Use a non-blocking I/O network lib based on epoll (kqueue under macOS/FreeBSD) to provide high-concurrency, high-performance network IO.
  • Provide a completely asynchronous programming mode.
  • Supports Http1.0/1.1 (server side and client side).
  • Based on template, a simple reflection mechanism is implemented to completely decouple the main program framework, controllers and views.
  • Supports cookies and built-in sessions.
  • Supports back-end rendering, the controller generates the data to the view to generate the Html page. Views are described by CSP template files, C++ codes are embedded into Html pages through CSP tags. And the drogon command-line tool automatically generates the C++ code files for compilation.
  • Supports view page dynamic loading (dynamic compilation and loading at runtime).
  • Provide a convenient and flexible routing solution from the path to the controller handler.
  • Filter chains to facilitate the execution of unified logic (such as login verification, Http Method constraint verification, etc.) before handling HTTP requests.
  • Supports https (based on OpenSSL).
  • Supports WebSocket (server side and client side).
  • Supports JSON format request and response, very friendly to the Restful API application development.
  • Supports file download and upload.
  • Supports gzip, brotli compression transmission.
  • Supports pipelining.
  • Provides a lightweight command line tool, drogon_ctl, to simplify the creation of various classes in Drogon and the generation of view code.
  • Supports non-blocking I/O based asynchronously reading and writing database (PostgreSQL and MySQL(MariaDB) database).
  • Supports asynchronously reading and writing sqlite3 database based on thread pool.
  • Supports Redis with asynchronous reading and writing.
  • Provides a convenient lightweight ORM implementation that supports for regular object-to-database bidirectional mapping.
  • Plugins which can be installed by the configuration file at load time.
  • AOP with build-in joinpoints.
  • C++ coroutines – allows users to write asynchronous code without bothering with the callback hell.
  • Performance – the software is multi threaded. On a single core of a Ryzen 3700X. Drogon can process more than 150K HTTP requests per second.
  • More than a HTTP server. It can also act as client, speak and serve Websocket and comes with helpful utilities.
  • Cross-platform support – supports a wide range of platforms. Linux, Windows, OS X and *BSD. It also runs on different CPUs. x86, ARM, s390x, …

Website: drogon.org
Support: GitHub Code Repository
Developer: An Tao
License: MIT License

Drogon is written in C++. Learn C++ with our recommended free books and free tutorials.


Related Software

C++ Web Frameworks
DrogonA fast cross-platform web framework
Oat++Light and powerful web framework with zero dependencies
CrowFast and easy to use micro web framework (inspired by Python Flask)
TreeFrogHigh-speed and full-stack C++ framework
POCOC++ libraries for building applications
WtWeb GUI library in modern C++
PistacheHigh-performance REST toolkit
CutelystWeb framework built on top of Qt, using the approach of Catalyst (Perl) framework
CppCMSAimed at rapid web development of web sites and web services
ffead-cppWeb framework, application framework

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Know a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments