像Spring for Java的C++ Web框架

use*_*757 9 c++ java spring frameworks

C++中是否有任何类似于Spring for Java的Web框架,我目前正在处理Web域中的应用程序.我们现有的应用程序都是用c ++开发的,我们正在寻找一些具有小学习曲线并提供令人兴奋的功能的框架.有没有人遇到这样的框架.请告诉我.

Sur*_*ran 5

如果您正在寻找DI,C ++中的依赖注入实际上并没有做很多,因为尽管您可以将指针注入到类中,但是说谁将释放它并不是一件容易的事。这里已经有一个SO 讨论

  • 所以不主持讨论:) (2认同)
  • @LimitedAtonement SO 可能希望如此,但他们肯定会主持讨论 (2认同)

epr*_*rom 5

我认为开源项目“Drogon”就是你想要的。Drogon 可以在github中找到,这里是 Drogon 的描述:

Drogon 是一个基于 C++14/14 的 HTTP 应用程序框架。Drogon 可用于使用 C++ 轻松构建各种类型的 Web 应用程序服务器程序。Drogon 的主要应用平台是 Linux,它也支持 Mac OS/UNIX。其主要特点如下:

  • 使用基于epoll(MacOS/FreeBSD下的kqueue)的非阻塞I/O网络库,提供高并发、高性能的网络IO;
  • 提供完全异步的编程模式;
  • 支持Http1.0/1.1(服务端和客户端);
  • 基于模板,实现了简单的反射机制,将主程序框架、控制器和视图完全解耦。
  • 支持cookies和内置会话;
  • 支持后端渲染,控制器生成数据到视图生成Html页面,视图由“类JSP”CSP文件描述,C++代码通过CSP标签嵌入Html页面, drogon命令行工具自动生成C++代码文件进行编译;
  • 支持视图页面动态加载(动态编译和运行时加载);
  • 提供从路径到控制器处理程序的方便灵活的路由解决方案;
  • 支持过滤器链,方便在控制器之前执行统一逻辑(如登录验证、Http Method约束验证等);
  • 支持https(基于OpenSSL);
  • 支持WebSocket(服务端和客户端);
  • 支持JSON格式的请求和响应,对Restful API应用开发非常友好;
  • 支持文件下载和上传;
  • 支持gzip压缩传输;
  • 支持流水线;
  • 提供轻量级命令行工具drogon_ctl,简化Drogon中各种类的创建和视图代码的生成;
  • 支持基于非阻塞 I/O 的异步读写数据库(PostgreSQL 和 MySQL(MariaDB) 数据库);
  • 支持基于线程池异步读写sqlite3数据库;
  • 支持ARM架构;
  • 提供方便的轻量级 ORM 实现,支持常规的对象到数据库的双向映射;
  • 支持加载时可以通过配置文件安装的插件;
  • 支持带有内置连接点的 AOP。


Ser*_*rge 5

我还推荐Oat++,它是专门为您的用例而设计的:

  • 与 Java Spring 相同的项目结构
  • 跨平台
  • 支持招摇
  • 授权流程
  • 零依赖


use*_*757 1

我刚刚在浏览类似的线程时发现了ffead-cpp,任何人都可以评估这个框架或者知道这是否是一个合适的选择。我认为它已经回答了我的一些问题。大家可以评论一下吗?