欢迎您!
返回博客
文章 OA开发日记 2026.05.14 3 分钟阅读

OA开发日记(二):调研——技术选型与方案对比

确定了要开发OA系统之后,接下来就是技术选型。

我的服务器配置是1核1G,这意味着我不能使用任何重量级的框架或运行时。我需要的是一个极致轻量的技术方案。

调研了几个方向:

一、Python + Flask/Django

Python是我最熟悉的语言之一,Flask和Django都是成熟的Web框架。但Python在1核1G的服务器上运行Python应用,加上数据库和Nginx,资源会比较紧张。而且Python的部署相对复杂,需要管理虚拟环境、WSGI服务器等。

二、Node.js + Express

Node.js的异步非阻塞模型很适合I/O密集型的应用,但Node.js的包管理(node_modules)体积较大,而且对于1G内存的服务器来说,Node.js的内存占用也不算低。

三、PHP原生开发

PHP是专门为Web设计的语言,与Nginx配合得天衣无缝。PHP-FPM本身非常轻量,每个进程只占用几MB内存。而且PHP的部署极其简单——把文件放到目录下就能运行。

四、数据库选型

对于数据库,我考虑了MySQL和SQLite。MySQL需要单独安装和配置,占用额外的内存。而SQLite是文件型数据库,零配置、零维护,整个数据库就是一个文件,非常适合小团队使用。

最终的技术栈确定如下:

  • 后端:PHP原生开发(零框架)
  • 数据库:SQLite
  • 前端:原生HTML5 + CSS3 + JavaScript
  • 服务器:Nginx + PHP-FPM
  • 缓存策略:Service Worker + PWA

这个技术栈的优势在于:

  • 零依赖——不需要安装任何第三方库或框架
  • 极致轻量——PHP-FPM每个进程仅占用3-5MB内存
  • 部署简单——上传文件即可运行
  • 维护成本低——SQLite数据库文件可直接备份和迁移
  • 性能优秀——原生PHP的执行速度非常快

确定了技术方案后,我开始着手设计系统架构。

Powered by 健仔的百宝箱
V0.3.0

© 2026 健仔的百宝箱. All Rights Reserved.