目录

Web 开发指南(零)开发相关知识

目前 Web 开发前后端分离较为流行,做 Web 开发最先要作出的选择是做后端开发还是前端开发,除非你想做全栈工程师,那两端都需要熟悉。

前端开发理论上还包含 APP 客户端,因为原生 APP 开发有相对独立的开发体系,所以本文说的前端开发仅局限于 Web 网页端、小程序等以浏览器内核驱动的系统。

本文将逐一介绍 Web 开发相关知识,它们可能是技术、可能是工具、也可能是思想等。

基础

HTTP、HTTPS 网络协议

  • Web 系统中客户端与服务器交互最常用协议,开发必须掌握
  • 无论做前端后端,最终需要跟数据打交道,数据交互的核心就是 HTTP/HTTPS 协议

Git、SVN 代码版本工具

  • 代码版本管理工具,主要用于和团队成员协作开发,必备技能
  • 目前最常用的是 Git,推荐使用
  • SVN 目前新型互联网公司用的较少

GitHub、Gitee 开源平台

  • GitHub、Gitee 都是代码共享平台,用的都是 Git 工具管理代码版本
  • GitHub 是全球最大的代码开源平台
  • Gitee 是国内最好的代码开源平台

加密/解密 安全

  • 数据在传输和存储过程中,可能需要对数据进行加密/解密处理
  • 典型场景:用户口令(密码)传输、存储(不能存储明文),用户隐私信息存储

后端开发

Java、Golang、PHP、Node.js、Python、Ruby、C# 开发语言

  • 都是开发语言,熟悉 1-2 门就可以
  • 推荐 Java、Golang;PHP、Node.js、Python 开发效率高,运行性能差;Ruby 是 Web 初期开发的王者,Gitlab 就是用 Ruby 开发的;C# 个人不太喜欢,并不是它不好
  • Java 代表框架:SpringBoot,包管理工具:Maven、Gradle
  • Golang 代表框架:Gin、Revel、Echo,包管理工具:Go Modules
  • PHP 代表框架:Laravel、Symfony、Slim,包管理工具:composer
  • Node.js 代表框架:Express、Koa,包管理工具:npm、yarn
  • Python 代表框架:Django、Flask,包管理工具:pip
  • Ruby 代表框架:Ruby on Rails,包管理工具:gem
  • C# 代表框架:ASP.NET,包管理工具:NuGet

MySQL、Oracle、PostgreSQL、MongoDB、Redis、SQLite 数据库

  • MySQL、Oracle、PostgreSQL 是常用的关系型数据库,用的都比较多,建议都熟悉一下
  • MongoDB 是非关系型数据库的代表,可以了解一下
  • Redis 是缓存数据库,用的较多
  • SQLite 是轻量级数据库,性能差,一般用于存储少量数据的场景

Linux 操作系统

  • 很多时候后端开发工程师需要承担少量运维的工作,建议熟悉 Linux 常用命令行操作

Nginx、Tomcat Web Server

  • 都是 Web 服务器中间件,根据场景搭配使用
  • Nginx 一般作为网关使用,主要负责处理静态资源需求,动态脚本或者请求直接转发给其他处理器
  • Tomcat 一般用于运行 Java Web 程序

前端开发

HTML、CSS、JavaScript、TypeScript 开发语言

  • HTML 与 CSS 主要负责网页的结构和样式;常用的 CSS 框架:Bootstrap、Tailwind
  • JavaScript 负责交互,提供动态修改网页结构的能力
  • TypeScript:JavaScript 语言的进阶版本,可以了解一下

Vue、React、Angular、Svelte、SSR 开发框架

  • Vue、React、Angular 三个框架只需要精通一种即可,推荐掌握 Vue 或 React,Angular 目前国内用的不多
  • Svelte:新出的 Web 框架,或者说是某种编译器,比 Vue 和 React 性能更优,可以了解一下
  • 服务器端渲染(SSR),目前两种流行的服务器端渲染工具是 Next.js(用于 React)和 Nuxt.js(用于 Vue)

npm、yarn 包管理工具

  • 都是 JS 包管理工具,基于 Node 环境运行
  • 目前来说推荐使用 yarn

Webpack、Rollup、Parcel 模块打包工具

  • Webpack 目前使用最广泛,优势在于它更全面,缺点是配置繁琐
  • Rollup 专注于 JS 的打包工具,对于其他资源的支持不如 Webpack
  • Parcel 号称零配置打包工具,优点是打包速度快、使用简单,缺点是定制能力差,用的较少
  • 一般来说,开发一个应用用 Webpack,开发一个 JS 库用 Rollup