这是一个2019年你成为前端,后端或全栈开发者的进阶指南:
你不需要学习所有的技术成为一个web开发者
这个指南只是通过简单分类列出了技术选项
我将从我的经验和参考中给出建议
首选我们会介绍通用的知识, 最后介绍2019年的Web的一些趋势
1. 基础前端开发者
1.1 HTML & CSS
最基础的知识:
语义化的HTML元素
基础的CSS语法
Flexbox & Grid
CSS变量
浏览器开发者工具
1.2 响应式布局
响应式设计将不再是网页的加分项, 而是必须的
设置viewport
非固定宽度
媒体查询
使用
rem
替代px
移动优先,柱状显示
1.3 基础的部署工作
学会如何部署一个静态网站到服务器
注册一个域名(NameCheap, Google Domains)
管理共享主机或虚拟机(Inmotion, Hostgator, Bluehost)
FTP, SFTP 文件上传(Filezilla, Cyberduck)
静态页面托管(Netlify, Github Pages)
1.4 SASS预处理器
虽然不是必须的, 但是推荐去学, 基础知识的掌握很简单
结构化CSS
变量
嵌套样式表
Minxins & 函数
继承
1.5 原生JavaScript语法
不使用任何框架和库区学习原生的JS语法
数据类型, 函数, 条件判断, 循环, 凑总府
DOM操作和事件
JSON
Fetch
ES6+(箭头函数, Promise, async/await, 解构)
1.6 满足了基本的前端开发者的条件
构建静态站点
构建UI布局(拿到设计图能够使用HTML/CSS还原)
添加一些交互功能
部署和维护网站
现在能找到最低水平的Web开发工作, 但是这是远远不够的….
2. 一个成熟的前端开发者
2.1 HTML & CSS框架
HTML/CSS框架目前没有以前那么有意义, 但是我还是介意你选择一个学习(这里作者想隐射的应该是, 在jquery时代, HTML/CSS框架的学习是必须的).
BootStrap
Materialize
Bulma
2.2 Git和其他工作流工具
Git绝对是每一个Web开发者必须掌握的工具, 这里也有一些其他的工作流工具的建议.,
基础的命令行(
touch
,cd
,mkdir
什么的总得会, 命令行在下面的工具中都会用到)Git(版本控制)
NPM 或 Yarn(包管理)
Webpack 或者 Parcel(打包工具)
Gulp 或者 Grunt(任务管理和构建工具)
编辑器插件(ESLint, Prettier, Live Server等)
2.3 前端框架
学习一个前端框架在目前前端开发中是必须的.
在大公司开发中非常流行
更多的交互 & 有趣的UI组件
组件化 & 模块化前端代码
对团队有利
2.4 状态管理
对于使用框架的大型前端项目, 你也许需要使用状态管理工具去管理你的应用级的状态
Redux(Context API)
Apollo(GraphQL Client)
Vuex
NgRx
2.5 满足一个成熟的前端开发者条件
构建一个优秀的前端应用
流畅和稳定的前端工作流
多人开发 & 熟练使用Git
请求后端API & 前端数据响应
满足以上条件, 你能够顺利的找到一个前端的工作并干得很出色~
3 全栈开发工程师
3.1 学习一门后端语言
成为一个全栈工程师或软件工程师, 你将需要学习一个服务端语言和相关技术
Node.js
Python
PHP
C#
Go
学习的顺序:
基础的后端语言语法
数据结构和工作流
包管理
HTTP/路由
3.2 服务端框架
不要重复造轮子, 学习一门框架去构建更好和更快的应用
Node.js(Express, Koa, Adonis)
Python(Django, Flask)
PHP(Laravel, Symfony)
C# (ASP.NET)
3.3 数据库
绝大多数觉得应用都会使用到数据库, 这里有一些选择:
关系型数据库(MySQL, PostgreSQL, MS SQL)
非关系型数据库 (MongoDB, Counchbase)
云服务 (Firebase, AWS, Azure, DocumentDB)
轻量级(SQLite, NeDB, Redis)