因为小邹对后端语言(主要是Node)也只是略懂,所以我在这里就不跟大伙过多的讨论技术方面的深层次的东西,主要是跟哪些有理想,想要在前端这条路上走的更远的伙伴聊聊从一个前端开发到全栈应该学习哪些技术,当然可能不全,欢迎批评补充。
1. 学习一门后端语言
成为一个全栈工程师或软件工程师, 你将需要学习一个服务端语言和相关技术,当然选择什么语言看你自己的理解。
学习的顺序:
- 基础的后端语言语法
- 数据结构和工作流
- 包管理
- HTTP/路由
2. 服务端框架
不要重复造轮子, 学习一门框架去构建更好和更快的应用
- Node.js(Express, Koa, Adonis)
- Python(Django, Flask)
- PHP(Laravel, Symfony)
- C# (ASP.NET)
3. 数据库
绝大多数觉得应用都会使用到数据库, 这里有一些选择:
- 关系型数据库(MySQL, PostgreSQL, MS SQL)
- 非关系型数据库 (MongoDB, Counchbase)
- 云服务 (Firebase, AWS, Azure, DocumentDB)
- 轻量级(SQLite, NeDB, Redis)
4. 服务端渲染
像React, Vue 和 Angular等端架都可以进行SSR服务端渲染
- Next.js(React)
- Nuxt(Vue)
- Angular Universal(Angular)
5. 内容管理系统
内容管理系统允许快速开发并为您的客户提供更新内容的能力. 在你需要快速开发网站的时候, 它们是很适合的. 特别是对于自由开发者.
- 基于PHP的 (Wordpress, Drupal)
- 基于JS的 (Ghost, Keystone)
- 基于Python的 (Mezzazine)
- 基于.Net的 (Piranha, Orchard CMS)
6. DevOps 和部署
学习语言和框架是一回事, 但是安装环境, 测试和部署有事另外一回事
- 部署 (Linux, SSH, Git, Nginx, Apache)
- 平台 (Digital Ocean, AWS, Heroku, Azure)
- 可视化(Docker, Vagrant)
- 测试 (单元测试, 集成测试, 函数式测试, 系统测试)
总结
对前端来说,后端的东西总体来说不算太复杂,但要学的深就必须付出更多的时间。
- 设置全栈的开发环境和工作流
- 构建后端服务API和微服务
- 数据库操作
- 能够独立开发应用(前端和服务端)
- 部署到云端(SSH, Git, Servers等等)