Drogon - C++14/17 based HTTP Web Application Framework

  •        341

Drogon is a C++14/17-based HTTP application framework. Drogon can be used to easily build various types of web application server programs using C++.It uses Use a non-blocking I/O network lib based on epoll high-concurrency, high-performance network IO, Completely asynchronous programming mode, HTTPS, WebSocket, Json format, gzip, brotli compression and lot more.

https://github.com/an-tao/drogon

Tags
Implementation
License
Platform

   




Related Projects

Lightning - A Swift Multiplatform Single-threaded Non-blocking Web and Networking Framework

  •    Swift

Lightning is an HTTP Server and TCP Client/Server framework written in Swift and inspired by Node.js. It runs on both OS X and Linux. Like Node.js, Lightning uses an event-driven, non-blocking I/O model. In the same way that Node.js uses libuv to implement this model, Lightning uses libdispatch. This makes Lightning fast, efficient, and most crutially single-threaded by default. You simply do not need to worry about locks/mutexes/semaphores/etc if you have server-side state. Of course, Lightning applications can make use of libdispatch to easily offload heavy processing to a background thread if necessary.

goliath - Goliath is a non-blocking Ruby web server framework

  •    Ruby

Goliath is an open source version of the non-blocking (asynchronous) Ruby web server framework. It is a lightweight framework designed to meet the following goals: bare metal performance, Rack API and middleware support, simple configuration, fully asynchronous processing, and readable and maintainable code (read: no callbacks). The framework is powered by an EventMachine reactor, a high-performance HTTP parser and Ruby 1.9+ runtime. The one major advantage Goliath has over other asynchronous frameworks is the fact that by leveraging Ruby fibers introduced in Ruby 1.9+, it can untangle the complicated callback-based code into a format we are all familiar and comfortable with: linear execution, which leads to more maintainable and readable code.

turbo - Turbo is a framework built for LuaJIT 2 to simplify the task of building fast and scalable network applications

  •    Lua

Turbo is a framework built for LuaJIT 2 to simplify the task of building fast and scalable network applications. It uses a event-driven, non-blocking, no thread design to deliver excellent performance and minimal footprint to high-load applications while also providing excellent support for embedded uses. The toolkit can be used for HTTP REST API's, traditional dynamic web pages through templating, open connections like WebSockets, or just as high level building blocks for native speed network applications. First and foremost the framework is aimed at the HTTP(S) protocol. This means web developers and HTTP API developers are the first class citizens. But the framework contains generic nuts and bolts such as; a I/O loop, IO Stream classes, customizeable TCP (with SSL) server classes giving it value for everyone doing any kind of high performance network application. It will also speak directly to your exising C libraries, and happily also create native C struct's for the ultimate memory and CPU performance.

Ratpack - A toolkit for JVM web applications

  •    Java

Ratpack is a set of Java libraries for building modern HTTP applications. It provides just enough for writing practical, high performance, apps. It is built on Java 8, Netty and reactive principles. It is similar to NodeJS, helps to implement non blocking HTTP apps in Java.

Serve the web – HTTP server framework

  •    Rust

Tide is a friendly HTTP server built for casual Rustaceans and veterans alike. It's completely modular, and built directly for async/await. Whether it's a quick webhook, or an L7 load balancer, Tide will make it work. Each Tide endpoint takes a Request and returns a Response. Because async functions allow us to wait without blocking, this makes Tide feel similar to synchronous servers. Except it's incredibly efficient.


Goliath is a non-blocking Ruby web server framework

  •    Ruby

Goliath is an open source version of the non-blocking (asynchronous) Ruby web server framework. It is a lightweight framework designed to meet the following goals: bare metal performance, Rack API and middleware support, simple configuration, fully asynchronous processing, and readable and maintainable code (read: no callbacks).

swoft - ⚡️ Modern High performance AOP and Coroutine PHP Framework, base on Swoole

  •    PHP

The first high-performance PHP coroutine full-stack componentization framework based on Swoole native coroutine, built-in coroutine web server and commonly-used coroutine client, resident memory, which has no dependency on PHP-FPM, asynchronous non-blocking IO implementation, similar to synchronous client style of writing to achieve the use of asynchronous clients, without complex asynchronous callback, no tedious yield, similar Go language coroutines, flexible annotations framework, a powerful global dependency injection container base on annotations, and great service governance , flexible and powerful AOP, PSR specification implementation, etc., could be used to build high-performance Web systems, APIs, middleware, basic services, microservice and so on. Chinese Document English Document Not yet, please help us write it.

armeria - Asynchronous RPC/REST library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC

  •    Java

Visit the official web site for more information.Armeria is an open-source asynchronous RPC/API client/server library built on top of Java 8, Netty 4.1, HTTP/2, Thrift and gRPC. Its primary goal is to help engineers build high-performance asynchronous microservices that use HTTP/2 as a session layer protocol.

MyFaces

  •    Java

MyFaces is a family of projects related to the JavaServer Faces (JSF) specification published as part of the Java Community Process. The "core" project is an implementation of that specification. Other MyFaces projects implement related specifications (eg the Portlet Bridge), or add features to any JSF implementation (not just the Myfaces Core).

swift-nio - Event-driven network application framework for high performance protocol servers & clients, non-blocking

  •    Swift

SwiftNIO is a cross-platform asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. It's like Netty, but written for Swift.

Apache Synapse - Lightweight ESB engine and XML router.

  •    Java

Apache Synapse is a lightweight ESB engine and XML router.

Simple-Web-Server - A very simple, fast, multithreaded, platform independent HTTP and HTTPS server and client library implemented using C++11 and Boost

  •    C++

A very simple, fast, multithreaded, platform independent HTTP and HTTPS server and client library implemented using C++11 and Asio (both Boost.Asio and standalone Asio can be used). Created to be an easy way to make REST resources available from C++ applications. See https://github.com/eidheim/Simple-WebSocket-Server for an easy way to make WebSocket/WebSocket Secure endpoints in C++. Also, feel free to check out the new C++ IDE supporting C++11/14/17: https://github.com/cppit/jucipp.

Gin - HTTP web framework written in Go (Golang)

  •    Go

Gin is a web framework written in Go (Golang). It features a martini-like API with much better performance, up to 40 times faster thanks to httprouter. If you need performance and good productivity, you will love You can add global, per-group, and per-route middlewares, thousands of nested groups, nice JSON validation and rendering. And the performance will be still great. Gin uses httprouter internally, the fastest HTTP router for Golang. Httprouter was created by Julien Schmidt and it’s based in a Radix Tree algorithm.

treefrog-framework - TreeFrog Framework : High-speed C++ MVC Framework for Web Application

  •    C++

TreeFrog Framework is a high-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol. Web applications can run faster than that of lightweight programming language. In application development, it provides an O/R mapping system and template system on an MVC architecture, aims to achieve high productivity through the policy of convention over configuration. TreeFrog uses the qt qmake build system.

Ktor - Framework for quickly creating connected applications in Kotlin with minimal effort

  •    Kotlin

Ktor is a framework for quickly creating web applications in Kotlin with minimal effort. Ktor Framework doesn't impose a lot of constraints on what technology a project is going to use – logging, templating, messaging, persistent, serializing, dependency injection, etc. Sometimes it may be required to implement a simple interface, but usually it is a matter of writing a transforming or intercepting function. Features are installed into application using unified interception mechanism which allows building arbitrary pipelines.

Introduction-to-Tornado - This is the sample code for the Introduction to Tornado book, published by O'Reilly Media

  •    Python

Tornado is a scalable, non-blocking web server and web application framework written in Python. It is also light-weight to deploy, fun to write for, and incredibly powerful. Tornado was written with performance in mind, aiming to solve the C10k problem, so by design it’s an extremely high-performance framework. It’s also packed with handy tools for dealing with social networks, user authentication, and all sorts of asynchronous fun. In this book, we’ll cover the basics of the Tornado framework, starting with the features that make it so great, and working our way towards some real-life examples. We’ll cover the best practices for implementation and deployment, as well as a sampling of uses for the technology. These are the complete code examples for the chapters in the O'Reilly book of the same name, with complete application examples that you can run on your own. These shouldn't require anything beyond the basic install of Tornado and Python 2.6+, except for the MongoDB examples (which obviously require MongoDB, as well as pymongo).

ffead-cpp - Framework for Enterprise Application Development, c++ framework, c++ web framework, c++ application framework, c++ rest framework, c++ soap framework, c++ web sites,c++ web applications, c++ driven web development - c++

  •    C++

ffead-cpp is a web-framework, application framework, utilities all bundled into one. It also provides an embedded HTTP/HTT2/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.

Wakanda - JavaScript Development platform for Web & mobile applications

  •    Javascript

Wakanda. One open and complete solution for all your Web and mobile business apps. Its purpose is One language. One complete stack and All JavaScript. It has 3 components Wakanda Studio, Wakanda Server, Wakanda Application Framework.

Akka HTTP - The Streaming-first HTTP server/module of Akka

  •    Scala

The Akka HTTP modules implement a full server- and client-side HTTP stack on top of akka-actor and akka-stream. It's not a web-framework but rather a more general toolkit for providing and consuming HTTP-based services. While interaction with a browser is of course also in scope it is not the primary focus of Akka HTTP.

Node.JS - Builds Scalable Network Programs

  •    Javascript

Node.js is a server-side JavaScript environment that uses an asynchronous event-driven model. It could handle thousands of concurrent connections. This allows Node.js to get excellent performance based on the architectures of many Internet applications. It is an evented I/O for V8, which is Google's open source JavaScript engine.