c++ 缺少高质量应用层的库或者说项目

speedboy2998
极品飞车 2019-12-24 字数 562

比如,我们做服务器程序,需要发推送消息。只好自己在GLOOX和NGHTTP2上来自己开发。

但是JAVA,GO都有几个高质量的完备的推送框架。

比如做WEB客户端,像python有 request, java和go都有高质量完备的框架,C++,自己撸吧,以前要从ASIO撸,现在可以在boost::beast上撸。

有人仿照request写了一个cpr,现在处于停滞维护状态。

比如想写一个REST API GATEWAY, GO,JAVA之类的都是现成完整的框架,STAR上万,C++有几个半成品,1K多个STAR算不错的。还大多数不平台不支持WINDOWS。。。

还有,REDIS的C++客户端,也没有一个好的。

52 个回复
water4
water4 2019-12-24

客户端想用什么模块就从Chrome里选吧

【 在 speedboy2998 的大作中提到: 】

: 比如,我们做服务器程序,需要发推送消息。只好自己在GLOOX和NGHTTP2上来自己开发。

: 但是JAVA,GO都有几个高质量的完备的推送框架。

: 比如做WEB客户端,像python有 request, java和go都有高质量完备的框架,C++,自己撸吧,以前要从ASIO撸,现在可以在boost::beast上撸。

: ...................

hgoldfish
老鱼 2019-12-24

轮 python-requests 的替代品的话,可以看一下我这个:

https://qtng.org/references.html#http-client

【 在 speedboy2998 (极品飞车) 的大作中提到: 】

: 比如,我们做服务器程序,需要发推送消息。只好自己在GLOOX和NGHTTP2上来自己开发。

: 但是JAVA,GO都有几个高质量的完备的推送框架。

: 比如做WEB客户端,像python有 request, java和go都有高质量完备的框架,C++,自己撸吧,以前要从ASIO撸,现在可以在boost::beast上撸。

: ...................

speedboy2998
极品飞车 2019-12-24

QT太重,不想引入。

【 在 hgoldfish 的大作中提到: 】

: 轮 python-requests 的替代品的话,可以看一下我这个:

: https://qtng.org/references.html#http-client

hgoldfish
老鱼 2019-12-24

qtng 只依赖于 qtcore 和 qtnetwork,不算重。两个 dll 也就 10m 左右.

现在还是 beta 阶段。打算 1.0 先搞特性,并且让接口稳定。等 2.0 的时候分成只依赖于 stl 和依赖于 qt 的两个版本并且提升性能。有兴趣的话可以一起轮啊。

【 在 speedboy2998 (极品飞车) 的大作中提到: 】

: QT太重,不想引入。

speedboy2998
极品飞车 2019-12-24

轮不动了,不再是刚毕业的时候。

本来公司这次都要被卖了,$50M,可惜我们的财务不规范,之前N多年,赚的钱都被我和另外一个股东直接各种渠道给分了,导致现在做不出财务报表会计师事务所不签字,就流产了。

【 在 hgoldfish 的大作中提到: 】

: qtng 只依赖于 qtcore 和 qtnetwork,不算重。两个 dll 也就 10m 左右.

: 现在还是 beta 阶段。打算 1.0 先搞特性,并且让接口稳定。等 2.0 的时候分成只依赖于 stl 和依赖于 qt 的两个版本并且提升性能。有兴趣的话可以一起轮啊。

hgoldfish
老鱼 2019-12-24

让小弟轮一个呗。这种可以作为公司项目。以前我们就轮过一个 python 的小项目放到 pip 上面去。

一个 cpp-requests,已经有 python-requests 这个现成的参考,编码加调试,撑死半个人月。记得我写这个也很快。一个周末出原型,两个周末就实现 http 1.0 了。后来实现 http 1.1 keep-alive 和 cookie manager 花了点时间。再后来就是零零散散的加上 http response code 常量之类的。

【 在 speedboy2998 (极品飞车) 的大作中提到: 】

: 轮不动了,不再是刚毕业的时候。

: 本来公司这次都要被卖了,$50M,可惜我们的财务不规范,之前N多年,赚的钱都被我和另外一个股东直接各种渠道给分了,导致现在做不出财务报表会计师事务所不签字,就流产了。

speedboy2998
极品飞车 2019-12-24

能给我转1500积分么? lol

买也行,如果可以的话。

【 在 hgoldfish 的大作中提到: 】

: 让小弟轮一个呗。这种可以作为公司项目。以前我们就轮过一个 python 的小项目放到 pip 上面去。

: 一个 cpp-requests,已经有 python-requests 这个现成的参考,编码加调试,撑死半个人月。记得我写这个也很快。一个周末出原型,两个周末就实现 http 1.0 了。后来实现 http 1.1 keep-alive 和 cookie manager 花了点时间。再后来就是零零散散的加上 http response code 常量之类的。

hgoldfish
老鱼 2019-12-24

惨!被14d了几个?

【 在 speedboy2998 (极品飞车) 的大作中提到: 】

: 能给我转1500积分么? lol

: 买也行,如果可以的话。

speedboy2998
极品飞车 2019-12-24

非常感谢。

我原来有8000多,不知道被多少个14D。笑哭。

【 在 hgoldfish 的大作中提到: 】

: 惨!被14d了几个?

speedboy2998
极品飞车 2019-12-24

现在真的没精力写这个。

产品的核心代码以后不会有太多变动,现在更多精力转移到公司一些上层的日常事务了。

而且公司现在最迫切的任务是把我们的UCaaS做成基于RANCHER+K8S可以弹性伸缩的集群。

明年能把FOLLY成功引入到产品中就算胜利了。

【 在 hgoldfish 的大作中提到: 】

: 让小弟轮一个呗。这种可以作为公司项目。以前我们就轮过一个 python 的小项目放到 pip 上面去。

: 一个 cpp-requests,已经有 python-requests 这个现成的参考,编码加调试,撑死半个人月。记得我写这个也很快。一个周末出原型,两个周末就实现 http 1.0 了。后来实现 http 1.1 keep-alive 和 cookie manager 花了点时间。再后来就是零零散散的加上 http response code 常量之类的。

Madlee
无竹居士 2019-12-25

自找麻烦啊,每个语言有每个语言的长项,何必非要用C++呢。

xieyf
meitian 2019-12-25

cpp的高质量库从来不少,但是要满足你特定需求的,那就不好说了。

网络服务这些东西不都是go,java,py的天下吗?

【 在 speedboy2998 的大作中提到: 】

: 比如,我们做服务器程序,需要发推送消息。只好自己在GLOOX和NGHTTP2上来自己开发。

: 但是JAVA,GO都有几个高质量的完备的推送框架。

: 比如做WEB客户端,像python有 request, java和go都有高质量完备的框架,C++,自己撸吧,以前要从ASIO撸,现在可以在boost::beast上撸。

speedboy2998
极品飞车 2019-12-25

所以这就是问题所在啊。

一些刚性框架/库都要自己轮。

【 在 xieyf 的大作中提到: 】

: cpp的高质量库从来不少,但是要满足你特定需求的,那就不好说了。

: 网络服务这些东西不都是go,java,py的天下吗?

Bernstein
Berns 2019-12-25

c++项目的star和go/java/python项目的star不能比较的,后者水分较多

web客户端用curl就行吧,貌似也有现代c++的wrapper

rest api gateway有什么复杂的, cpprestsdk应该就可以吧,还有许多其他的

redis没有自带的客户端?它本身是c开发的吧

【 在 speedboy2998 的大作中提到: 】

: 比如,我们做服务器程序,需要发推送消息。只好自己在GLOOX和NGHTTP2上来自己开发。

: 但是JAVA,GO都有几个高质量的完备的推送框架。

: 比如做WEB客户端,像python有 request, java和go都有高质量完备的框架,C++,自己撸吧,以前要从ASIO撸,现在可以在boost::beast上撸。

: ...................

xieyf
meitian 2019-12-25

非要用勺子吃面条,可不就得造新的勺子。

【 在 speedboy2998 @ [CPlusPlus] 的大作中提到: 】

: 所以这就是问题所在啊。

: 一些刚性框架/库都要自己轮。

hgoldfish
老鱼 2019-12-25

我感觉你是看不上。libcurl, hiredis 这俩用起来也没问题啊。

【 在 speedboy2998 (极品飞车) 的大作中提到: 】

: 所以这就是问题所在啊。

: 一些刚性框架/库都要自己轮。

llwwwww
Seven at one stroke 2019-12-26

和我前几天发的帖子说的差不多

http://www.newsmth.net/bbscon.php?bid=335&id=409450

大家都自己撸,发出来共享的没有,于是人越撸越少

【 在 speedboy2998 (极品飞车) 的大作中提到: 】

: 标  题: c++ 缺少高质量应用层的库或者说项目

: 发信站: 水木社区 (Tue Dec 24 19:22:19 2019), 站内

: 比如,我们做服务器程序,需要发推送消息。只好自己在GLOOX和NGHTTP2上来自己开发。

: 但是JAVA,GO都有几个高质量的完备的推送框架。

: 比如做WEB客户端,像python有 request, java和go都有高质量完备的框架,C++,自己撸吧,以前要从ASIO撸,现在可以在boost::beast上撸。

: 有人仿照request写了一个cpr,现在处于停滞维护状态。

: 比如想写一个REST API GATEWAY, GO,JAVA之类的都是现成完整的框架,STAR上万,C++有几个半成品,1K多个STAR算不错的。还大多数不平台不支持WINDOWS。。。

: 还有,REDIS的C++客户端,也没有一个好的。

gozfree
gozfree 2019-12-26

轮c的就更少了,场景也就剩嵌入式iot了 【在llwwwww的大作中提到:】: 和我前几天发的帖子说的差不多 http://www.newsmth.net/bbscon.php?bid=335&id=409450 大家都自己撸,发出来共享的没有,于是人越撸越少 【 在 speedboy2998 (极品飞车) 的大作中提到: 】 : 标  题: c++ 缺少高质量应用层的库或者说项目 : 发信站: 水木社区 (Tue Dec 24 19:22......

KingPower
红宝石 2019-12-26

看你这口气典型的c++觉得啥都行 啥也不干

【 在 Bernstein 的大作中提到: 】

: c++项目的star和go/java/python项目的star不能比较的,后者水分较多

: web客户端用curl就行吧,貌似也有现代c++的wrapper

: rest api gateway有什么复杂的, cpprestsdk应该就可以吧,还有许多其他的

: ....................