Page:
ENG 01 Overview
Pages
CHN 01 概述
CHN 02 安装
CHN 03 快速开始
CHN 04 0 控制器 简介
CHN 04 1 控制器 HttpSimpleController
CHN 04 2 控制器 HttpController
CHN 04 3 控制器 WebSocketController
CHN 05 中间件和过滤器
CHN 06 视图
CHN 07 会话
CHN 08 0 数据库 概述
CHN 08 1 数据库 DbClient
CHN 08 2 数据库 事务
CHN 08 3 数据库 ORM
CHN 08 4 数据库 FastDbClient
CHN 08 5 数据库 自动批处理
CHN 09 插件
CHN 10 配置文件
CHN 11 drogon_ctl命令
CHN 12 AOP面向切面编程
CHN 13 性能测试
CHN 14 Coz分析
CHN 15 Brotli压缩
CHN 16 协程
CHN 17 Redis
CHN 18 测试框架
CHN FAQ 1 线程模型
CHN FAQ
ENG 01 Overview
ENG 02 Installation
ENG 03 Quick Start
ENG 04 0 Controller Introduction
ENG 04 1 Controller HttpSimpleController
ENG 04 2 Controller HttpController
ENG 04 3 Controller WebSocketController
ENG 05 Middleware and Filter
ENG 06 View
ENG 07 Session
ENG 08 0 Database General
ENG 08 1 Database DbClient
ENG 08 2 Database Transaction
ENG 08 3 Database ORM
ENG 08 4 Database FastDbClient
ENG 08 5 Database auto_batch
ENG 09 0 References request
ENG 09 1 File Handler
ENG 10 Plugins
ENG 11 Configuration File
ENG 12 drogon_ctl Command
ENG 13 AOP Aspect Oriented Programming
ENG 14 Benchmarks
ENG 15 Coz
ENG 16 Brotli
ENG 17 Coroutines
ENG 18 Redis
ENG 19 Testing Framework
ENG FAQ 1 Understanding drogon threading model
ENG FAQ
Home
Home.zh CN
README
_Cover
4
ENG 01 Overview
ProTankerAlfa edited this page 2024-05-20 01:29:57 -03:00
Table of Contents
Other languages: 简体中文
Drogon is a C++17/20-based HTTP application framework. Drogon can be used to easily build various types of web application server programs using C++.
Drogon is the name of a dragon in the American TV series "Game of Thrones" that I really like.
Drogon's main application platform is Linux. It also supports Mac OS, FreeBSD and Windows.
Its main features are as follows:
- Use a non-blocking I/O network lib based on epoll (kqueue under macOS/FreeBSD) to provide high-concurrency, high-performance network IO, please visit the TFB Tests Results for more details;
- Provide a completely asynchronous programming mode;
- Support 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.
- Support cookies and built-in sessions;
- Support 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;
- Support view page dynamic loading (dynamic compilation and loading at runtime);
- Provide a convenient and flexible routing solution from the path to the controller handler;
- Support filter chains to facilitate the execution of unified logic (such as login verification, Http Method constraint verification, etc.) before handling HTTP requests;
- Support https (based on OpenSSL);
- Support WebSocket (server side and client side);
- Support JSON format request and response, very friendly to the Restful API application development;
- Support file download and upload;
- Support gzip, brotli compression transmission;
- Support pipelining;
- Provide a lightweight command line tool, drogon_ctl, to simplify the creation of various classes in Drogon and the generation of view code;
- Support non-blocking I/O based asynchronously reading and writing database (PostgreSQL and MySQL(MariaDB) database);
- Support asynchronously reading and writing sqlite3 database based on thread pool;
- Support ARM Architecture;
- Provide a convenient lightweight ORM implementation that supports for regular object-to-database bidirectional mapping;
- Support plugins which can be installed by the configuration file at load time;
- Support AOP with build-in joinpoints.
Next: Install drogon
Document
Tutorial
- Overview
- Install drogon
- Quick Start
- Controller
- Middleware and Filter
- View
- Session
- Database
- References
- Plugins
- Configuration File
- drogon_ctl Command
- AOP
- Benchmarks
- Coz profiling
- Brotli info
- Coroutines
- Redis
- Testing Framework
- FAQ