mix
mix copied to clipboard
✨ Standard Toolkit for Go fast development / Go 快速开发标准工具包
OpenMix 出品:https://openmix.org
Mix Go
MixGo 是一个 Go 快速开发标准工具包;内部模块高度解耦,整体代码基于多个独立的模块构建,即便用户不使用我们的 mixcli
脚手架快速生成代码,也可以使用这些独立模块。例如:你可以只使用 xcli
来构建你的命令行交互;可以使用 xsql
来调用数据库;可以使用 xwp
来处理 MQ 队列消费;所有的模块你可以像搭积木一样随意组合。
独立模块
核心模块全部可独立使用。
- mix-go/mixcli 快速创建 Go 项目的脚手架,类似前端界的 Vue CLI。
- mix-go/xcli 命令行交互与指挥管理工具,同时它还包括命令行参数获取、中间件、程序守护等。
- mix-go/xsql 基于 database/sql 的轻量数据库,功能完备且支持任何数据库驱动。
- mix-go/xdi 处理对象依赖关系的 IoC、DI 库,可以实现统一管理依赖,全局对象管理,动态配置刷新等。
- mix-go/xwp 一个通用工作池、协程池,可动态扩容缩容。
- mix-go/xfmt 可以打印结构体嵌套指针地址内部数据的格式化库。
- mix-go/dotenv 具有类型转换功能的 DotEnv 环境配置库。
开发文档
-
V1.1
https://openmix.org/mix-go/docs/1.1/ -
V1.0
https://www.kancloud.cn/onanying/mixgo1/content
快速开始
提供了现成的脚手架工具,快速创建项目,立即产出。
-
编写一个 CLI 程序
- 编写一个 Worker Pool 队列消费
- 编写一个 API 服务
-
编写一个 Web 服务
- 编写一个 WebSocket 服务
- 编写一个 gRPC 服务、客户端
# Go 1.15 及之前版本
go get github.com/mix-go/mixcli
# Go 1.16 及以后版本
go install github.com/mix-go/mixcli@latest
$ mixcli new hello
Use the arrow keys to navigate: ↓ ↑ → ←
? Select project type:
▸ CLI
API
Web (contains the websocket)
gRPC
如果编译时报错,整理一下依赖
go mod tidy
推荐阅读
视频教程
技术交流
知乎:https://www.zhihu.com/people/onanying
官方QQ群:284806582, 825122875 敲门暗号:gopher
PHP 框架
OpenMix 同时还有 PHP 生态的框架
- https://github.com/mix-php/mix
- https://gitee.com/mix-php/mix
License
Apache License Version 2.0, http://www.apache.org/licenses/