为了给我的运维项目“铺路”,我先做了个极简 ToDoList (技术栈: AI + CF Workers)

73 阅读5分钟

为了给我的运维项目“铺路”,我先做了个极简 ToDoList (技术栈: AI + CF Workers)

todolist-cover-cn.png

大家好,我是 AnixOps 工作室的开发者

最近一直在筹划几个自己很感兴趣的运维相关的软件,比如轻量化的 SSH 客户端、服务器控制面板和探针。但在正式投入这些更复杂的项目之前,我心里有点没底:

  • 现在 AI 编程这么火,它在我的实际工作流里能提效多少?
  • 采用 Serverless 架构(比如 Cloudflare Workers)来开发和部署,整个流程是否顺畅?
  • 我需要一个可以快速复用的开发、构建、部署(CI/CD)的模板。

为了回答这些问题,我决定先拿一个“小麻雀”来练练手,把整个工作流跑通。于是,这个极简的 ToDoList 项目就诞生了。

项目抢先看:


Dark-todo-v0.1.0.png

为什么是 ToDoList?

ToDoList 绝对是程序员世界的“Hello, World!”plus 版。选择它作为“先锋官”,主要有几个原因:

  1. 功能完备: 虽然简单,但它包含了前端UI、状态管理、数据持久化等核心要素,能完整地覆盖一个小型应用的全生命周期。
  2. 需求明确: 业务逻辑简单,不需要在产品需求上花费太多精力,可以让我更专注于技术实现和工作流的测试。
  3. 可扩展性: 可以在这个基础上轻松地增加用户认证、多端同步等复杂功能,来测试更完整的场景。

简单来说,用 ToDoList 来测试 开发 -> 构建 -> 部署 -> 运营 这一整套流程,成本最低,验证效果最好。

技术栈选型与思考

这个项目的核心目标是“测试”,所以技术选型上我选择了一些我想在未来项目中长期使用的技术。

🤖 AI 编程:我的结对编程“伙伴”

这次开发,我全程深度使用了 AI 编程工具(主要是 GitHub Copilot 和 ChatGPT)。它不再是一个玩具,而是实实在在的生产力工具。

我主要让它做了这些事:

  • 生成基础代码块: 比如 Vue 组件的基础模板、CSS 样式、或是通用的工具函数(像日期格式化、数据校验等),基本上都是一句话的事。
  • 代码重构与优化: 当我写完一个函数,感觉逻辑有点绕或者性能不高时,我会直接把代码丢给 AI,让它“给我重构一下”,通常能得到不错的建议。
  • 快速 Debug: 遇到一些报错,在自己排查之前,我习惯先把错误信息抛给 AI,它能快速定位到绝大多数的常规问题,节省了大量查阅文档和 Google 的时间。

我的感受: AI 极大地提升了“从无到有”的编码速度,尤其是在前端 UI 这种重复性工作较多的场景下。当然,它生成的代码不总是完美的,需要你具备审查和修改的能力。它更像一个能力出众但偶尔会犯迷糊的实习生,你需要扮演好“架构师”和“代码审查者”的角色。

🚀 部署:为什么是 Cloudflare Workers?

Serverless(无服务器)是个人开发者和大公司的“降本增效”利器。我选择 Cloudflare Workers 的原因很简单:

  • 免费,而且够用: 慷慨的免费额度,对于个人项目、Side Project 来说,几乎等同于零成本托管。
  • 边缘计算: 代码部署在全球的 Cloudflare 边缘节点上,用户访问速度飞快(虽然对一个 ToDoList 来说有点大材小用,但这是未来的趋势)。
  • 开发体验: 配合官方的 wrangler CLI 工具,从开发到部署的命令非常简单,可以轻松地集成到 GitHub Actions 等 CI/CD 流程中。
  • 全栈能力: Workers 不仅能托管静态网站 (Workers Sites),还能运行后端逻辑、处理 API 请求、连接 KV 存储,让我用 JavaScript/TypeScript 就能搞定前后端。

在这个项目中,我将构建好的前端静态文件和 API 服务一同部署在了 Cloudflare Workers 上,实现了一体化的交付。

🔄 数据同步:简单粗暴的实现

为了让 ToDoList 更好用,我增加了一个简单的离线/在线同步功能。

  • 离线存储: 数据主要存储在浏览器的 localStorage 中,保证了用户在关闭或刷新页面后数据不丢失,并且在没有网络的情况下也能正常访问和修改。
  • 在线同步: 当检测到网络连接时,会将本地的修改通过 API 推送到云端(也是一个跑在 Worker 上的简单 API)。同时,会从云端拉取最新的数据与本地合并。

目前的实现还比较初级,同步策略很简单,但这为我未来项目中更复杂的数据一致性处理积累了经验。

核心目的:为未来铺路

这个 ToDoList 本身或许并不起眼,但通过它,我完成了我的核心目标:

  1. 验证了 AI 辅助开发的可行性,并形成了一套与 AI 高效协作的个人工作方法。
  2. 跑通了基于 Cloudflare Workers 的 Serverless 开发与部署全流程,并将其沉淀为一个自动化的 CI/CD 模板。
  3. 对前端状态管理、数据持久化和简单同步等技术点进行了预演

现在,这个项目就像一个“脚手架”,当我开始开发下一个更复杂的运维软件时,我可以跳过所有环境配置、工作流搭建的琐碎工作,直接进入业务开发,大大提升启动效率。

写在最后

这个项目目前还非常简单,但它是我系列项目的第一块基石。

希望我的这点探索和分享能对同为个人开发者的你有所启发。也非常欢迎大家体验我的 ToDoList,如果能去 GitHub 点个 Star ✨ 或者提一些宝贵的建议,我将不胜感激!

接下来,我会把精力投入到之前提到的三个运维项目中,我们下个项目再见!