跳转至

IHttpCore 服务器框架简介

引言

在服务器领域,Java中 Spring框架大行其道。Go语言以其简洁、高效、并发性能优异的特点,成为微服务和云原生应用开发的热门选择。Python和 Node.js 中的各种框架作为补充,来满足各种小众需求和个性开发。

然而,当涉及到性能要求极高的服务器开发时,C++凭借其出色的性能和对底层硬件的控制能力,成为许多高性能服务器应用的首选语言。但是由于 c++ 语言所构成的框架的表达能力的问题,并没有成为主流服务器开发语言。

IHttpCore 的提出赋予C++语言在服务器领域以表达能力。让服务器的开发更加简洁,快速高效。

IHttpCore 的优势

c++17 / Qt 平台支持。

  • *大量的c++17库和 Qt 库支持*
  • *成熟的编程语言*

目前主流的c++开发是基于c++17, 而Qt开发也是 c++ 开发的主流之一。

  • *跨平台开发和运行*

软件目前支持在所有Qt能够运行的环境上编译开发,实现软件的跨平台支持。所以开发者可以在windows 上面进行快速开发编译,而在完成开发之后部署到linux主机上面再次编译并运行。

高效

  • 运行速度快
  • 内存使用率低
  • 软件运行速度快。
  • 秒速启动运行。

c++ 拥有很高的运行效率,对比与其他的主流网络框架,它能够节省更多内存的使用,cpu使用,进而带动服务器数量的减少和能源消耗的减少,降低碳排放。(参见文章: Why C++ ? 王者归来 | 酷 壳 - CoolShell

快速开发。

  • 易于上手
  • 提供 类似Spring和 FastApi 等主流web开发框架的操作逻辑

c++ 开发很多人觉得困难是因为c++本身带来的复杂性。IWebCore 对于新手非常友好,开发人员初期并不需要了解C++复杂的特性也可以 使用controller,并进行数据库的增删改查等操作。降低了开发者的学习难度。

Controller

  • controller 自动注册
  • url灵活配置,动态url
  • 函数参数从请求中动态解析和注入绑定
  • 灵活的返回方式,可以返回 text,json, xml, status等内容。
  • 严格的参数检查。

完整的Http协议支持

  • 支持 GETPOSTPUTHEAD ,DELETE, PATCH, OPTION等方法。
  • HttpMime, HttpStatus支持。
  • iocp / io_uring 支持

方便高效的配置方式

  • 支持 System和 Application两种级别的配置
  • 提供包括 代码,json, yaml,宏注解 等多种配置方式

严格的安全策略

  • 友好的运行前检查,

在实例运行之前,会对软件的逻辑进行详细的检查,在有问题的地方生成有好的 warning 或者 fatal 信息

  • Invalid 支持
  • Exception 支持