一、前端技术
1. HTML/CSS/JavaScript
-
HTML(超文本标记语言):
- 用于构建网页结构,定义网页的内容和布局。
-
CSS(层叠样式表):
- 用于美化网页,控制元素的样式和布局。
-
JavaScript:
- 用于实现网页的交互功能,如动态内容加载、表单验证、动画效果等。
2. 前端框架和库
-
React:
- 由Facebook开发,用于构建用户界面的JavaScript库。使用组件化开发模式,适合单页应用(SPA)。
-
Vue.js:
- 一个渐进式JavaScript框架,易于上手,灵活性高,适合构建交互式Web界面。
-
Angular:
- 由Google开发,是一个完整的前端框架,提供双向数据绑定、依赖注入等功能。
-
Svelte:
- 一个新兴的前端框架,通过编译时优化减少运行时开销,提升性能。
3. CSS预处理器
-
Sass:
- 提供了变量、嵌套规则、混合(Mixins)等功能,增强了CSS的可维护性和可扩展性。
-
Less:
- 另一个流行的CSS预处理器,语法类似于CSS,易于学习和使用。
-
Styled Components:
- 使用JavaScript编写CSS,将样式直接绑定到组件上,适合React生态。
4. 前端构建工具
-
Webpack:
- 一个模块打包工具,用于打包和优化前端资源(如JavaScript、CSS、图片)。
-
Vite:
- 一个现代化的前端构建工具,基于ES模块,提供极快的开发服务器和热更新功能。
-
Babel:
- 一个JavaScript编译器,用于将现代JavaScript代码转换为兼容性更好的代码。
5. 前端测试
-
Jest:
- 由Facebook开发,一个强大的JavaScript测试框架,用于单元测试和快照测试。
-
Cypress:
- 一个端到端测试工具,用于模拟用户操作,测试前端应用的功能和性能。
-
Storybook:
- 用于开发和测试UI组件的工具,提供可视化的组件库。
二、后端技术
1. 编程语言
-
JavaScript (Node.js):
- 使用Node.js运行环境,开发高性能的服务器端应用。
-
Python:
- 使用Flask或Django框架,开发可扩展的Web应用。
-
Java:
- 使用Spring Boot框架,开发企业级Web应用。
-
Go:
- 一个高效的编程语言,适用于构建高性能的后端服务。
-
Ruby:
- 使用Ruby on Rails框架,快速开发Web应用。
- PHP:
- Laravel 是一个流行的PHP框架,以其优雅的语法和强大的功能集而著称。它拥有庞大的生态系统和活跃的社区支持,非常适合构建从简单到复杂的Web应用。
2. 后端框架
- Express.js (Node.js):
- 一个快速、灵活的Web应用框架,适合构建RESTful API。
- Django (Python):
- 一个功能齐全的Web框架,包含ORM、模板引擎、认证系统等。
- Spring Boot (Java):
- 一个用于构建生产级Spring应用的框架,提供自动配置和约定大于配置。
- Flask (Python):
- 一个轻量级的Web框架,适合构建小型应用和API。
- Koa (Node.js):
- 一个轻量级的Web框架,基于ES6语法,提供中间件功能。
- Laravel(PHP)
- Laravel是当前最受欢迎的PHP框架之一,以其优雅的语法和丰富的功能而闻名。
3. 数据库
-
关系型数据库:
- MySQL:一个开源的关系型数据库,广泛用于Web应用。
- PostgreSQL:一个功能强大的开源关系型数据库,支持复杂查询和事务。
-
非关系型数据库:
- MongoDB:一个基于文档存储的NoSQL数据库,适合存储JSON数据。
- Redis:一个内存键值存储数据库,适合缓存和会话管理。
- Cassandra:一个分布式NoSQL数据库,适合大规模数据存储和高可用性。
4. API设计
-
RESTful API:
- 基于HTTP协议,使用标准的HTTP方法(如GET、POST、PUT、DELETE)进行资源管理。
-
GraphQL:
- 一个灵活的查询语言,允许前端精确地请求所需数据,减少数据传输量。
-
gRPC:
- 一个高性能的RPC框架,基于HTTP/2和Protocol Buffers,适合微服务架构。
5. 认证与授权
-
OAuth2:
- 一个开放标准,用于授权第三方应用访问用户资源,常见于社交登录(如Google、Facebook)。
-
JWT(JSON Web Token):
- 一种用于身份验证和信息传递的开放标准,将用户信息加密成JSON格式。
-
Session管理:
- 使用Cookies或Session存储用户会话信息,常见于传统Web应用。
6. 后端测试
-
JUnit (Java):
- 一个单元测试框架,适用于Java应用。
-
pytest (Python):
- 一个功能强大的Python测试框架,支持单元测试和功能测试。
-
Mock:
- 用于模拟对象和依赖,隔离测试环境,确保测试的独立性和可重复性。
三、前后端交互
1. 跨域资源共享(CORS)
- CORS:
- 用于解决浏览器同源策略的限制,允许跨域请求资源。
2. WebSocket
- WebSocket:
- 一种全双工通信协议,允许服务器主动向客户端推送消息,适合实时应用(如聊天、游戏)。
3. HTTP/2
- HTTP/2:
- 改进了HTTP/1.1的性能问题,支持多路复用、服务器推送等功能。
4. GraphQL客户端
-
Apollo Client (React):
- 一个功能强大的GraphQL客户端,适用于React应用。
-
Relay (React):
- 另一个GraphQL客户端,适用于React应用,专注于性能优化。