对于我来说,全栈开发给自己带来了很多好处。首先,由于对于前端、后端、数据库、服务器都有所涉猎,当想要写一个项目的时候,就可以一人做出一个相对完整的项目来,能够供用户使用。

前端,从最基本的 HTML CSS JS,到一个比较现代的框架,比如 React。

后端,从服务端语言,如 Java, Node.js,Python 等,到后端框架,如 Express,到数据库,如 MySQL,MongoDB。

最好的学习方法就是用这些技术来写一个项目。比如一个博客,一个 todo list。我自己则是将一个 GTD + 记分奖励的想法实现,算是一个升级版的 TODO,比 TODO 稍微复杂一些,比博客简单一些,不过都涉及到了同样的技术栈。

提升已掌握技能,新框架、新语言快速上手。有了一个项目,首先可以在项目基础上不断改进、优化,提升对框架的熟悉程度。另外,当想要了解新的框架、语言的时候,则不必担心看完教程就没得可干。可以用这个新的框架重写一遍对应的功能。比如用 Vue 重写前端,用 Python. Elixir 重写后端,用 GraphQL 重写 API 等等。

产出笔记。每一次开发,将具体目标,实现过程,遇到的问题以及解决办法记录下来。以想要给别人讲明白的方式,来加深自己对知识的掌握程度。