手把手带你写一个Web框架,从0到1,实现自己的工业级Web框架

你将获得什么?

  • 洞悉 Web 框架底层设计原理
  • 攻克框架开发 6 大核心概念
  • 4 站通关 Go Web 框架项目开发
  • 深度剖析 Gin 框架,提升业务效能

课程简介

在 Web 领域,特别是中小型项目,开发效率往往是业务的第一需求。一个产品拥有的市场机会转瞬即逝,抢占市场依靠的是更快的开发速度和迭代速度。为了提效,前端轮子太多已经是共识。不管什么语言,在 Web 领域,开发必备的框架总有很多款。

因此,就有很多实际的问题摆在了我们面前:

  • 市面上众多框架如何迅速上手?如何选择?
  • 业务快速迭代时,框架如何迅速拓展?
  • 想要自研一款称手的 Web 框架,如何设计?

全方位提升开发效能成为突破瓶颈的最佳解决方案。叶剑峰根据自己的十余年一线 Web 后端研发经验,梳理了一套系统的 Web 框架搭建方法论。他将使用 Go 语言,从标准库开始,逐步演进,手把手带你研发一个工业级的 Go Web 框架,以基本概念与核心理论为指导,实战演练总结底层框架的设计技巧

手把手带你写一个Web框架,从0到1,实现自己的工业级Web框架

课程模块设计

整个专栏分为实战四关,你会从零开始,收获一个自己的工业级 Go Web 框架。

实战第一关:分析 Web 框架的本质,从最底层的 Go 的 HTTP 库讲起,如何基于 HTTP 库搭建 server、如何搭建路由、如何增加中间件等等,从而搭建出一个 Web 框架最核心的设计部分。

实战第二关:框架核心搭建好后,基于具体业务场景重新思考,要设计的框架目标到底是什么? 框架的设计感和要解决的问题在哪里? 框架的倾向性是什么? 如果要搭建出一个“一切皆服务”的框架,应该如何设计。

思考清楚后,我们会用 Gin 框架集成实战第一关自研的 Web 框架的核心,力求站在巨人的肩膀上看世界,然后一步步实现框架核心的功能服务。

实战第三关:为这个框架增加不同的周边功能,在添加功能时,会首先讨论目前社区中的标准做法,以及有没有更好的设计,最终把这些标准做法融合到我们的框架中。

实战第四关:现在框架已经基本搭建完成了,我们会用这个框架应用开发一个统计管理后台,使用 vue-element-admin 来做前端封面,再结合框架开发具体的统计展示和计算业务。

课程目录

开篇词|为什么要从零开发框架?
实战第1关:从零开始
01net/http:使用标准库搭建server并不是那么简单
02 context:如何让每个请求都在你的掌控之中?
03路由:如何让请求更快地寻找到目标函数?
04中间件:如何装饰你的框架提高扩展性?
05封装:如何让你封装的函数可读性更高?
06重启:如何避免暴力关闭,实现优雅重启
实战第2关:框架核心
07方向:站在巨人肩膀,理想的框架到底长什么样?
08自研or借力:业务框架的理念到底是什么?
09自研or借力:如何集成Gin替换已有框架核心?
10面向接口编程:一切皆服务,服务基于协议(上)
11面向接口编程:一切皆服务,服务基于协议(下)
12结构:如何系统设计框架的整体目录?
13交互:可以执行命令行的框架才是好的框架
14定时任务:如何让框架支持分布式定时脚本?
15配置和环境:配置服务中的设计思路(上)
16配置和环境:配置服务中的设计思路(下)
17日志:如何设计多输出的日志服务?
实战第3关:完善功能
18一体化:前端和后端一定要项目分开吗?
19提效:实现调试模式加速开发效率(上)
20提效实现调试模式加速开发效率(下)
21自动化DRY,如何自动化一切重复性劳动?
22管理进程:如何设计完善的运行命令?
23管理接口:如何集成swagger自动生成文件?
24GORM:数据库的使用必不可少(上)
25GORM:数据库的使用必不可少(下)
26缓存服务:如何基于Redis实现封装?
27SSH:如何生成发布系统让框架发布自动化?
28周边:框架发布和维护也是重要的一环
实战第4关:实战使用
29设计先于实战:需求分析和技术方案设计(上)
30设计先于实战:需求分析和技术方案设计(下)
31搭建服务:如何使用框架实现网站统计服务?
32一站式前后台:如何使用框架实现运营管理后台?
结束语|从实际业务的角度,思考框架的核心意义
期末考试|来赴一场满分之约吧!

讲师介绍

叶剑峰,网名轩脉刃,腾讯高级工程师。前后就职于开心网、奇虎、滴滴等大型互联网公司,负责公司核心业务的架构设计和开发。

专注 Web 后端研发十余年,包括服务端的架构搭建、维护、优化等,一直在一线为技术团队搭建业务架构和解决实际问题,日积月累逐步形成了自己的一套方法论,对底层框架如何设计有着深刻的思考和丰富的项目经验。

Like (0)
Previous 2021年9月14日 下午10:35
Next 2021年9月15日 上午7:28

相关推荐

发表回复

Please Login to Comment