/cookbook-of-webdev

这是一份 web 开发者健康成长所需要的能力(偏前端)

MIT LicenseMIT

cookbook-of-webdev

团队里又要来新鲜的小伙伴们了,超开心~

但总也会很苦恼,同学们需要成长以尽快进入工作,老鸟们貌似总是琐事缠身,怎么办?

这里准备了一份 cookbook 给各位同学,里面有一些我觉得比较重要的技能,每篇文章里会有一些参考资料链接。

偏前端:我现在主要做前端开发的工作,所以本 repo 也偏向前端开发相关的知识,欢迎 PR 补充后端开发知识。

下面列表先后次序并不代表阅读顺序,可以根据个人需求进行选择。如果从快速开始工作的需要来看,可以优先进行“前端开发技能”部分的学习,但在我看来,“计算机与网络基础”、“后端开发技能”与“web 性能”等章节同样非常重要,“前端开发”只能带你进入现代 web 开发的大门,能够走多远其他更取决于这些章节中所罗列知识的掌握情况。

web 开发入门易,深入难,正在于此。

在这个 repo 里我会从一个普通前端开发者的角度来探讨下 CS 专业领域需要掌握的技能,受限于自己的知识水平,各文章中免不了有很多谬误,欢迎大家在 issue 中针对文章内容发起讨论,所有这些交流都将使得这个 repo 变得更加完善。

文章尽量遵循 中文文案排版指北 规范,如有发现书写格式的问题,也欢迎指出。


前端开发技能

web 前端行业现在是在一个繁荣又混乱的时代,各类框架/库层出不穷,github 上好像每天都有新 repo 被创建,老铁们纷纷表示“老子学不动了!”,比如这位deno issue 251这其实并不是一件多么可怕的事情,新库不断出现一方面代表现在 web 前端社区活跃,另一方面其实也是因为 web 前端是一个相对较新的领域,业界正在“补课”,可能在前端开发成熟到 java 开发现有阶段时,就不会有各种轮子被重复创造了(虽然我觉得这并不一定是件好事)。

近期我们已经看到了这样的趋势,在最近的前端开发框架讨论中已经少了那么多戾气,大家在选择框架的时候更多在考虑自己团队已有的技术积累等,而不是比对各框架大小或执行速度(它们的执行速度都没有了质的差别),大型项目多采用 React/Vue/Angular ,小项目则看自己爱好。所以在下面讨论前端开发知识点时,我们尽量以框架无关的角度来分享,而为了新同学尽快进行团队项目前端开发,所以特别增加了“团队前端框架”(React + Redux 技术栈)章节以供参考。

前端进化史

在真正开始学习前,我们有必要了解下前端开发技术的演进历史,并且随着近年来“大前端”概念的扩展,我们有必要对本次讨论的技术范围进行一下说明。

查看

网页开发基础

这里我使用了“网页开发基础”这个题目,实际上“网页开发” 2就是在“前端开发”这个名字被广泛认同之前,我们这群工程师写在工牌上的名字。在 Jquery 时代,我们可以认为没有框架的概念3,我们更多是运用“三剑客”来实现美工的设计稿,它们是 HTML/CSS/JavaScript,这也是我们的基础技能,在我们职业生涯的任何一个时间点,我们都应该时不时将这些知识点拿出来复习一下。

查看

Ajax 、 Fetch

查看

为什么我们需要框架

React 技术栈

前端微服务化

测试

HTTP

查看

网页设计能力

后端开发技能

工具使用

web 站点性能优化

查看

函数式编程

计算机与网络基础

技术人之路

Awesome Links

这里有一些非常好的学习链接,帮助你学习到所有计算机相关知识,查看

Footnotes

  1. 关于“学不动了”的 issue,理解但并不支持,请不要把 github 变成百度贴吧,技术讨论社区应该严谨认真,不是哗众取宠和耍机灵的地方。

  2. 在这个头衔出现之前,其实都不存在单独的前端开发的岗位,页面只是传统后端工程师为实现用户接口(UI)而顺带完成工作而已。

  3. 在今天这个时间点来看,Jquery 更应该算是一个 Liberay,而不能算是一个完整的开发框架,但这并不妨碍 Jquery 是一个伟大的产品。