聊聊C++ Restful API 框架库

以前为了完成课程作业,临时学了不少Python和Java的Web编程技术,如Django、Spring Boot,这两个框架可以很容易编写Restful接口供前端调用,而且这个也是我在编写C++程序所从未使用过的,所以我十分好奇C++是否可以编写Restful接口呢?于是我到GitHub上逛了一圈:

GitHub上的C++ Rest库

果然,开源社区有不少用C++编写的Restful接口的库,star数最多的还是巨硬开源的一个C++库。国外有一老哥甚至做了一个评测,他撸了一个benchmark测试工具,针对下面几个C++ Restful库做了一个系统的对比:

Restful库 98%请求中的最大时间(越小越好) 每秒平均处理的请求数(越大越好) Sample代码的行数
C++ : cpprestsdk / default JSON implementation 51 30.70 48
C++ : cpprestsdk / RapidJSON 44 47.06 47
C++ : restbed 7 224.18 39
C++ : pistache 6 319.99 40
PHP : Native implementation 10 146.95 14

表格中第二列和第三列是性能指标,第四列体现易用性。从表中,我们可以很容易发现,巨硬(微软)开源的Restful库的性能最差,甚至不如PHP语言实现的,这简直是对C++的侮辱啊!其中性能最好的库——pistache,性能大约是PHP版本的2.17倍,不过易用性跟PHP差了很多:PHP仅仅用14行就可以写出一个Restful接口,而C++需要大约40行。

从上面的评测,我们可以看到不论是性能还是易用性方面,pistache在所有C++实现的Restful库中表现最为出色。

参考资料

  • GitHub搜索结果:https://github.com/search?l=C%2B%2B&o=desc&q=restful+rest+c%2B%2B&s=stars&type=Repositories
  • 国外老哥的评测:https://blog.binaryspaceship.com/2017/cpp-rest-api-frameworks-benchmark/#C_restbed

你可能感兴趣的:(聊聊C++ Restful API 框架库)