大家好,我是 polarisxu。 经过这几年的发展,Go Web 框架越来越多。2019 年,我对 Go 圈有点知名度的框架进行了梳理,总结如下:这两年又有一个新的、大家比较喜欢的框架(Node 用户大概率更喜欢):Fiber,以后我会考虑写文章介绍这个框架的使用。 那么,面对这么多框架,我们该如何选择呢?我觉得,大概率来说,选择一个 Star 数不错的就可以,特别是我上面列举的,根据业务需求,选择一个匹配的。不过,不同公司可能使用不同框架,那么多框架,你不可能都去学习下。而且,稍微大点的公司,可能会开发自己框架。这样的情况,我们该怎么做? Web 框架其实并不难上手,但现在前端业务追求开发效率第一,如何根据自己当前的业务场景需要,选择或打造一款趁手的 Web 应用框架,可能没那么容易。
01 怎么才能彻底掌握 Web 框架?
其实,每个框架都有自己的哲学,尝试自己动手从 0 开发一个框架,才能掌握设计本质。有人可能会疑惑,真有必要吗,从 0 开发一个 Web 框架?说实话,如果你只学怎么用框架,按照文档“按部就班”,是永远不可能真正做到掌握框架的。Web 框架不论语言,在基本功能都大同小异,但是工业性如何,就得看细节设计了。当你真的动手尝试从 0 开发一个框架,你能站在框架作者的角度,真正搞清楚框架在做些什么、遇到了什么问题、为什么选择这个方案,对框架的理解也会产生质的飞跃,你会发现其他框架也没什么神奇的,上手飞快。当然,从 0 开发只是一种学习方法,并不意味着在工作中我们要从零搭建框架。市面上这个类型的资料很少,如果以开发出一个属于自己的工业级 Go Web 框架为目标,我近期发现了一个不错学习路径图,分享给你。沿着「从零搭建Web框架 → 实现框架核心和周边功能 → 工业实战应用」这个路径学习,最重要是,要把原理和实际业务场景结合起来👇这张图来自叶剑峰的极客时间专栏《手把手带你写一个 Web 框架》,相比起来,他的网名“轩脉刃”可能更出名,他和我在两家公司是同事、好朋友。他和我一样,2012 年在奇虎 360 时就开始接触 Go 语言,陆陆续续,他一直在博客上分享技术感悟,之前还出过不少视频教程。最近看他没啥动静,没想到憋出了一个「极客专栏」,所以我第一时间就订阅了,想看看他怎么带大家从 0 写 Web 框架。总的来说,他会由浅入深教你如何研发一个 Golang Web 框架,分享自己在一线 10 年工作中的踩坑思考,带你真正深度参与一个实战项目。整个专栏学下来,你不仅有了一个成熟的工业级框架,还懂了框架的系统设计原理,以后再做类似的项目、产品,就可以将其作为架构、框架选型的一部分,拥有举一反三的能力,赚了。早鸟 + 口令「goweb8888 」 立省 ¥40,到手仅 ¥89如果是新人,首单仅¥59说到“轩脉刃”,之前他在滴滴,现在是腾讯高级工程师,负责公司核心业务的架构设计和开发。因为一直在一线为技术团队搭建业务架构和解决实际问题,可以说非常了解,在 Web 框架的设计和使用过程中,有哪些难点,会踩哪些坑。这种经历资深的大佬能出来开课,把自己独特的 Web 开发框架核心理论和经验共享出来,真的很难得。相比市面上不系统的教程,这门课真的太友好了,谁能手把手教你实现一个自己的工业级 Web 框架,还有几点也非常值得称赞:1.每节课附有代码 demo,小白也能轻松实现课程的所有代码,包括这个框架都已经放在 GitHub 上了,还有完整的说明文档。当然如果想了解一下最终的成型框架,先有个感知,提前看看成品也是可以的。2.“保姆级”图示+代码解析,轻松啃下“硬骨头”为了方便快速上手实操,课程中加入了大量图示和详细的代码注释,这么详细的源代码解读是非常少见的,足以看出老师的用心。当然如果你是老手,也能根据课程中的提示,快速定位到关键性的核心代码。👆标准库 context 部分代码梳理👆UML图有多干货,具体再来看看目录吧:
再强调一点早鸟 + 口令「goweb8888 」到手 ¥89,立省 ¥40如果你是新人,只需 ¥59 在日常开发中遇到问题的时候,排错不再是摸着石头过河。知道了运行原理, 排错就是降维打击了。当然,求职也一定会是加分项,新的业务需求来了,你能快速搭出房子解决问题,哪家大厂不爱呢?今日订阅,还可加入「轩脉刃的 web 框架交流群」点击「阅读原文」,最低 ¥89 到手,掌握“ Web 开发" 这个硬核技能。