你好,我是GoFrame的作者,郭强,英文名John。
群里今天有人发了这个知乎连接,不知道是哪位朋友提的问题,虽然我平时不玩知乎,既然我看到了,总觉得应该回答一下。
我是2011年开始接触的Go,工作多年主要是以PHP/Golang开发为主,也有不错的C/C++底子,对类C系语法的开发语言偏爱有加。
GF项目开始得比较早,原本是公司内部孵化项目的一部分,用于企业内部使用的Go项目开发框架。由于需要给内部技术团队使用,并且鄙人深谙好的产品生命周期是20%的开发周期,80%的维护周期,因此降低入门成本,特别是维护成本是非常重要的一点考虑。所以GF在设计上非常简洁,并且无论代码注释还是开发文档都写得非常详尽,且主要以中文为主,以降低开发人员的入门门槛,并且提高维护效率。
GF解决的痛点是Go项目工程化的问题。所谓的工程化指GF框架可直接参与完整化的项目开发、可快速用于开发团队接入。Go的开源WebServer项目特别多,绝大部分的项目我并不认为属于“框架”,充其量只能算是“库”,与标准库的net/http一个级别,如果参与完整的项目开发需要的依赖太多,大多数这样的Go项目都是“东拼西凑”地过活着。而GF提供了项目实战化开发所必备的丰富的开发模块,开发团队可拿来开箱即用,直接与开发团队前线并肩作战。GF的开发模块不是东拼西凑,而是通过项目实战磨炼开发出来的,框架整体有着非常好的兼容性和协调性。当然,GF的模块是供开发者选择性引入的,即插即用。
GF算是后起之秀,于去年8月份开源发布beta版本,10月份发布v1.0正式版,虽然还比较年轻,但是既然你也已经听说,说明GF也在业内有了一定的口碑。好的产品不是一成不变的,需要不停地迭代升级,根据用户的反馈不停改进完善。GF非常重视开发者反馈,开发者的参与度比较高,彼此信任,与开发者之间的用户粘度保持得特别好,社区也很活跃。自从开源以来,GF的项目发展非常迅速,目前保持着1-2个月一个版本的规律,绝大多数提交是根据用户反馈不断进行迭代改进完善。
完成一件事情和做好一件事情,本质上的差别是巨大的。技术上,我们根据需求实现一个函数、一个功能、或者一个模块,那是非常简单的事情。但是要把这个需求做好,却要付出更多的精力和时间,两倍、三倍、甚至、十倍、百倍,做过并热爱开源事业的朋友们一定深有体会。GF正在努力做好一件事情,而这,一路以来的努力和成果,所有人都能眼见得到。
抱歉我这样的回答,并没有各种循规蹈矩的参数对比,但我想你需要的答案,最好能够自己去探索。