Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mix-go/mix
✨ Standard Toolkit for Go fast development / Go 快速开发标准工具包
https://github.com/mix-go/mix
api cli framework grpc mix mix-go mixgo web websocket
Last synced: 2 months ago
JSON representation
✨ Standard Toolkit for Go fast development / Go 快速开发标准工具包
- Host: GitHub
- URL: https://github.com/mix-go/mix
- Owner: mix-go
- License: apache-2.0
- Created: 2019-12-20T10:24:42.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-07-01T09:46:09.000Z (7 months ago)
- Last Synced: 2024-08-02T18:36:49.171Z (5 months ago)
- Topics: api, cli, framework, grpc, mix, mix-go, mixgo, web, websocket
- Language: Go
- Homepage: https://openmix.org/mix-go
- Size: 3.59 MB
- Stars: 841
- Watchers: 23
- Forks: 65
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome - mix-go/mix - go,mixgo,web,websocket pushed_at:2024-11 star:0.8k fork:0.1k ✨ Standard Toolkit for Go fast development / Go 快速开发标准工具包 (Go)
README
> Produced by OpenMix: [https://openmix.org](https://openmix.org/mix-go)
Mix Go
English | [中文](README_CN.md)
MixGo is a Go rapid development standard toolkit; the internal modules are highly decoupled, and the overall code is built on multiple independent modules. Even if users do not use our `mixcli` scaffolding to quickly generate code, they can also use these independent modules. For example: you can use `xcli` alone to build your command-line interaction; use `xsql` to call the database; use `xwp` to handle MQ queue consumption; you can freely combine all modules like building blocks.
## Independent Modules
All core modules can be used independently.
- [mix-go/mixcli](src/mixcli) Scaffold to quickly create Go projects, similar to Vue CLI in the frontend field.
- [mix-go/xcli](src/xcli) Command-line interaction and command management tool, also includes command-line parameter acquisition, middleware, program daemon, etc.
- [mix-go/xsql](src/xsql) Lightweight database based on database/sql, fully functional and supports any database driver.
- [mix-go/xrpc](src/xrpc) Assistant for gRPC and Gateway.
- [mix-go/xdi](src/xdi) IoC, DI library for handling object dependencies, can implement unified dependency management, global object management, dynamic configuration refresh, etc.
- [mix-go/xwp](src/xwp) A universal work pool, coroutine pool, can dynamically expand and shrink.
- [mix-go/xhttp](src/xhttp) A highly efficient HTTP library.
- [mix-go/xutil](src/xutil) A set of tools to keep Golang sweet.## Development Documentation
- `V1.1` https://openmix.org/mix-go/docs/1.1/
- `V1.0` https://www.kancloud.cn/onanying/mixgo1/content## Quick Start
Provides ready-to-use scaffolding tools to quickly create projects and produce immediate output.
```bash
go install github.com/mix-go/mixcli@latest
``````bash
$ mixcli new hello
Use the arrow keys to navigate: ↓ ↑ → ←
? Select project type:
▸ CLI
API
Web (contains the websocket)
gRPC
```If there is an error during compilation, tidy up the dependencies.
~~~
go mod tidy
~~~### Goland
- [How to use MixGo in IDE Goland](https://zhuanlan.zhihu.com/p/391857663)
### Examples
- [Write a CLI program](examples/cli-skeleton#readme)
- [Write a Worker Pool queue consumer](examples/cli-skeleton#%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA-worker-pool-%E9%98%9F%E5%88%97%E6%B6%88%E8%B4%B9)
- [Write an API service](examples/api-skeleton#readme)
- [Write a Web service](examples/web-skeleton#readme)
- [Write a WebSocket service](examples/web-skeleton#%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA-WebSocket-%E6%9C%8D%E5%8A%A1)
- [Write a gRPC service, client](examples/grpc-skeleton#readme)## `AD` CONNMIX Gateway
[CONNMIX Gateway](https://connmix.com/) - Programmable distributed long connection gateway
- Can be used for chat rooms, live pop-ups, IM instant messaging, online customer service, online games, hardware communication, smart home, IoT and other areas of development
- A few lines of code, free to get socket, websocket real-time communication## Technical Discussion
Zhihu: https://www.zhihu.com/people/onanying
Official QQ Group: [284806582](https://shang.qq.com/wpa/qunwpa?idkey=b3a8618d3977cda4fed2363a666b081a31d89e3d31ab164497f53b72cf49968a), [825122875](http://shang.qq.com/wpa/qunwpa?idkey=d2908b0c7095fc7ec63a2391fa4b39a8c5cb16952f6cfc3f2ce4c9726edeaf20) Secret Password: gopher## PHP Framework
OpenMix also has PHP ecosystem frameworks:
- https://github.com/mix-php/mix
- https://gitee.com/mix-php/mix## License
Apache License Version 2.0, http://www.apache.org/licenses/