33.1 Web 框架
现在大家做的大部分工作都和 Web 开发有关系,我们学习的不是怎么使用 Go 语言来写一个 Web 程序,我们关键是通过 Web 开发分清楚对于一个复杂的系统我们要去怎么样去鉴定各自的边界,我们知道 Web 开发包含的内容非常的多,我们需要做的是怎么样把这些功能整合到一起,它们各自边界是什么,它们各自相关代码的流程是什么,这些东西没有什么复杂度的问题,关键要搞清楚流程。
我们学习 Web 框架的时候,很多人只能说照着对方的例子或者文档照抄,几乎没有尝试过怎么去优化或者发现 Web 框架本身有什么问题,是否适合当前应用,因为很难拿到一个衡量标准去做这件事。因为我们并没有真正理解框架内部是什么样的,只是因为熟悉它或者公司已经拿这个东西再用了。但是用的东西未必适合当前这个项目。到目前为止大部分人都停留在用代码往项目上靠,而不是因为某个项目去选择某类代码,这是两种不同的境界。
Web Server
首先我们分清楚 Web 开发严格来说分成两个部分,首先是 Web Server,然后是 Web Framework。这两个东西是完全不一样的,不要一说到 Web 开发就是 Web 框架之类的东西。只不过现在大部分人不会去写 Web Server,而会使用现成的 Nginx。或者说现在很多 Web Framework 会内置 Web Server,但一定要搞清楚这两者并不是一回事。