技术栈
选用规则:
- 稳定、成熟、用的人多
- 开发效率高,适合快速开发
- 尽量减少技术栈:能复用就不引入新框架
我会优先在现有技术栈内把问题解决,只有在老方案明显吃力、而新技术已经足够稳定时才会引入新框架。
下面只是记录我目前在用的一些技术栈,以及我个人选择它们的理由。
不做推荐,每个人的经历不同,我只是在这方面出身,使用上更方便。
# 前端方向
基础:Node.js LTS(目前用 20) / Vue3
我主要用它来开发 Web 前台和管理后台,这套组合对我来说生态成熟、开发效率高。
多端:Uniapp / Electron
我一般用它们来做小程序、桌面端等多端项目,尽量复用一套前端技术栈。
组件库:Element Plus / Vant 4
做后台管理系统时,我基本都用 Element Plus;做移动端和小程序时,我习惯用 Vant 4。
# 后端方向
轻量接口:Python 3.10+(目前用 3.12) / Flask / SQLite
体量不大、接口简单的小工具或内部系统,我一般用 Python + Flask + SQLite 快速搭一个轻量接口层。
轻量后台:Python 3.10+(目前用 3.12) / Django / SQLite
如果项目需要管理后台、权限、表单这些功能,我会优先选 Django + SQLite 起步。
标准后台:Java 8 / Spring Boot / MySQL8
涉及团队协作、对接存量 Java 系统、对稳定性和规范要求更高的 B 端项目,我会用 Java 8 + Spring Boot + MySQL。
数据库选择上,小型单机工具我一般用 SQLite,正式上线的系统则使用 MySQL。
# 小软件 / 脚本
Python 3.10+(目前用 3.12) + 万物
爬虫、自动化脚本、数据清洗、批量处理工具这类场景,我默认用 Python 来优先搞定。
# 服务管理
我自己的项目 / 国外环境:
- 我一般用 Cloudflare 管理域名、做 CDN 和前端部署。
- 服务器这块,我习惯用 AWS 上的 Ubuntu 22.04 LTS,再配宝塔面板做基础运维。
给国内客户交付时:
- 通常会根据客户的备案和合规需求,用腾讯云做服务器托管。