如果小伙伴想成为一个全栈 Web 开发人员,并找到第一份工作,下面给了一个参考指南,列出了大致需要学习的东西。
1. HTML5/CSS3
几乎所有程序,无论是在线的还是离线的,都在说明要成为 Web 开发者需要从 HTML 和 CSS 开始,因为它们是 Web 的基石。简单地说,HTML 是给网站添加内容,而 CSS 则为这些内容添上装扮。
2. JavaScript
JavaScript 语言一年比一年流行,新的库、框架和工具层出不穷。
Stack Overflow 2017 年的开发者调查指出,JavaScript 在全栈、前端和后端开发中都是最流行的语言。它是浏览器唯一支持的原生语言,同时也能作为服务器端语言(下面会看到 Node.js)。
3. 后端语言
一旦我们认为已掌握好 HTML/CSS 和 JavaScript 技能,之后就应该向一门后端编程语言进军,以便处理类似数据库操作、用户认证以及应用逻辑的任务。
所有在线练习平台和代码训练营通常集中于一门特定的后端语言,而实际上选择哪一门也并不重要,只要我们理解正在做的事情并学到了所选语言的本质。
如果问学哪一门后端语言最好,也许会得到各种各样的无数的回复,下图给大家列出了一些受欢迎的组合。
一个重要的提示:不管我们决定学习哪一门,请坚持下去,并尽可能深入学习-所有下图列出的语言都有相应的工作机会。
4. 数据库 & Web 存储
编写 Web 应用的过程中,有时候需要保存数据,以便稍后再进行访问。那么最好掌握下面这些有关数据库和存储的主题。
5. HTTP & REST
HTTP 是应用于互联网的一项无状态应用协议 —— 它规范了客户端连接到服务器的行为(比如 JavaScript 代码通过 AJAX 请求后端服务器中运行的代码就是采用的 HTTP)。下面列出了我们应该了解的重要主题:
6. Web 应用架构
当我们认为已经掌握了 HTML/CSS、JavaScript、后端编程、数据库 和 HTTP/REST ,就到了难对付的部分了。
这时,如果想创建一个稍微复杂的 web 应用,还需要了解如何组织代码,如何分割文件,往哪里保存大量媒体文件,如何结构化数据库里的数据,何处执行特定的计算任务(客户端还是服务器端),以及更多其他问题。
网上可以读到一些最佳范例,但是最好的学习应用架构的方法是自己实践一个包含多个分散部件的大型应用 —— 甚至更好的方法是:和团队合作开发一个相对大型/复杂的应用。
这也是为什么,比如有个七年以上工作经验的人,也许他未必比工作两年的另一个人更懂 CSS 或 JavaScript 。
但或许是多年各种不同应用和网站的工作经验,使他学习到如何最有效的架构和设计应用(包括学习其他重要事项),并且在开发过程中能看清“全局”。以下书籍或文章可以帮助小伙伴学习如何有效架构自己的网络应用:
7. Git
Git是一套版本控制系统,它允许开发团队的开发人员跟踪代码库的所有更改。了解与 Git 相关的一些事项非常重要,它能让我们了解如何正确获取错过的最新代码,更新部分代码,修复并修改其他人的代码,而不会发生任何意外。
所以一定要学习 Git 背后的概念,并多做尝试。
8. 基本算法和数据结构
这个话题在开发世界中有点两极分化,因为有些开发人员认为在 Web 开发中不应该如此重视计算机科学的主题诸如树的遍历、排序、算法分析、矩阵操纵等。
然而,像谷歌这样的公司在面试中问这些类型的问题是出了名的。 有人说谷歌的前端工程师面试:
也就是说,正如 Ryan McGrath 所提到的,我们的前端(FE)工程师要有一个坚实的计算机科学(CS)背景,就像我们所有的工程师一样。
虽然有些公司确实要求申请人拥有计算机科学学位或同等学历,也有很多公司愿意雇佣没有这个技术资格的人,如果他们能够证明他们懂得如何开发应用程序和展示出对整个域的理解。
但是,作为一个合格的开发人员,而不是编写低效的代码或使用错误的工具,部分要求是理解一些基本算法和数据结构,能够分析权衡。所以你一定要学会一些东西:
学习所有这些是会很辛苦,但最终还是值得的,并且全栈开发充满乐趣!希望各位想转型或0基础想入行的小伙伴能够成功~
注:本文只是给出了全栈工程师需要的大致学习方向,而非详细的知识点结构。