返回列表 发布新帖
查看: 27|回复: 0

分享一个超高效的 Go 项目开发脚手架:osbuilder(OneX Stack Builder)

发表于 前天 13:51 | 查看全部 |阅读模式

这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在日常 Go 项目开发中,你是否经常遇到以下痛点:
  • 重复造轮子:每次新项目都要从零搭建结构;
  • 项目结构不统一:多人协作时风格混乱,难以维护;
  • 增加一个资源(REST 接口)需要写大量样板代码;
  • 从搭建到可用,动辄耗费 2-3 天甚至更久。

如果你也面临这些问题,那今天要介绍的这个项目开发脚手架,绝对能帮你节省大量时间精力,把开发效率提升一个数量级!

项目背景:OneX 技术栈与 osbuilder 工具
我目前正在组织的 云原生 AI 实战营,是一个专注于 Go + 云原生 + AI Infra 的实战训练营。在整个技术体系中,我们构建了一套完整的开发技术栈:OneX 技术栈
为了最大限度提升代码复用率和开发效率,我们打造了专属的代码生成工具 —— osbuilder,即 OneX Stack Builder

osbuilder 有什么优势?
  • 自动生成符合 OneX 技术规范的 Go 项目;
  • 支持多种 Web 框架(gin、grpc、grpc-gateway);
  • 支持多种存储类型(Memory、MySQL、PostgreSQL、MongoDB、Redis 等);
  • 支持不同部署模式(Systemd、Docker、Kubernetes);
  • 支持为项目自动添加 REST 资源,支持 CURD 能力;
  • 自动生成符合 Go 编码规范的高质量代码,开箱即用
  • 配套实战课程《Go 项目开发中级实战课》,助你快速上手。


快速实操:用 osbuilder 构建一个 gRPC 项目
下面,我们通过命令行快速构建一个 gRPC 项目并添加 REST 资源,来直观感受 osbuilder 的高效和强大。
1. 创建新项目
  1. # 进入工作目录
  2. $ mkdir -p $GOPATH/src/github.com/onexstack && cd $_

  3. # 创建 gRPC 项目,添加 job 和 cron_job 两个资源,使用内存存储
  4. $ osbuilder create project -b qa-apiserver \
  5.   --web-framework grpc \
  6.   --kinds job,cron_job \
  7.   --storage-type memory \
  8.   ./demoproj

  9. # 进入项目目录并编译
  10. $ cd demoproj
  11. $ make protoc.apiserver        # 编译 Protobuf
  12. $ go mod tidy                  # 获取依赖
  13. $ go generate ./...            # 生成依赖注入代码
  14. $ make build BINS=qa-apiserver
  15. $ _output/platforms/linux/amd64/qa-apiserver  # 运行服务端
复制代码
2. 运行客户端验证接口
  1. # 打开另一个终端,运行示例客户端代码
  2. $ cd $GOPATH/src/github.com/onexstack/demoproj
  3. $ go run examples/client/job/main.go
复制代码
输出示例:
  1. Creating new job...
  2. Job created successfully with ID: job-w6irkg
  3. Listing jobs...
  4. Found 2 jobs in total.
  5. Deleting job with ID: job-w6irkg...
  6. Job deleted successfully.
复制代码
你没看错,这些资源的接口、模型、逻辑,全都是由 osbuilder 自动生成的,我们几乎没有写一行业务代码

添加新 REST 资源:task & worker
现在我们尝试为现有项目新增 task 和 worker 两个资源:
  1. $ cd $GOPATH/src/github.com/onexstack/demoproj
  2. $ osbuilder create api -b qa-apiserver --kinds task,worker
  3. $ make protoc.apiserver
  4. $ make build BINS=qa-apiserver
  5. $ _output/platforms/linux/amd64/qa-apiserver  # 重启服务端
复制代码
运行客户端测试
  1. $ go run examples/client/worker/main.go
复制代码
输出示例:
  1. Creating new worker...
  2. Worker created successfully with ID: worker-w6irkg
  3. Listing workers...
  4. Found 2 workers in total.
  5. Deleting worker with ID: worker-w6irkg...
  6. Worker deleted successfully.
复制代码
整个过程无需手写样板代码,新增资源只需一条命令,增删查改操作全部自动生成!

工具特点总结
特性说明
一键生成支持多框架、多类型服务项目生成
高度规范自动生成代码结构统一,风格统一
高扩展性支持新增 REST 资源,无需手动改代码
高效率几分钟内即可搭建完整项目,接入业务
配套课程《Go 项目开发中级实战课》同步教学

当前使用方式与开放情况
目前 osbuilder 工具仍处于迭代中,仅对 云原生 AI 实战营成员开放使用。后续版本将支持更多框架(如: kitex、hertz、kratos、go-zero 等)以及 AI 编程辅助能力。
如何深入学习 osbuilder?
你可以加入我主理的实战社区「云原生 AI 实战营」,学习完整的:
  • Go 项目开发实战课
  • osbuilder 使用方法与源码解析
  • AI 编程与云原生技术融合实战项目


结语
osbuilder 是我认为目前 Go 开发中最具效率革命性的脚手架之一。对于初中级开发者来说,它不仅能让你更快落地项目,也能通过规范的代码生成,带你掌握更标准的项目设计方式。
希望这篇文章能对你有所启发,如果你对 Go、云原生、AI 感兴趣,欢迎关注我或加入实战营,一起成长!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2001-2025 Suike Tech All Rights Reserved. 随客交流社区 (备案号:津ICP备19010126号) |Processed in 0.104679 second(s), 8 queries , Gzip On, MemCached On.
关灯 在本版发帖返回顶部
快速回复 返回顶部 返回列表