MixGo V1.0 发布,混合型高性能 Go 框架

Mix Go 是什么

Mix Go 是混合型高性能 Go 框架,该框架改造整合了 gin, logrus, gorm, go-redis, jwt-go, gorilla ... 等多个流行组件,可以开发 console, api, web, grpc 等各种项目,并且引入了依赖注入、控制反转、事件驱动等高级特征,框架追求简单实用主义,试图让更多开发者以更低的学习成本获得极具生产力的第二编程语言。

与其他 Go 框架的差别

  • 骨架代码全部基于 bean, event 依赖注入、控制反转、事件驱动库构建,同时内置了 Go 生态各个领域最流行的库,包括 gin, gorm, logrus 等,并且这些离散的库已经被整合为一体,可以相互关联使用。

  • 骨架内置了 gin 作为服务器,gin 严格来讲并不是框架,而是一个 server 库,只提供了服务器相关的功能,请求处理,中间件,视图渲染等。

  • 与 beego 等其他 go 框架不同的是,mix-go 的依赖库全部是独立仓库,当你只想使用某一个库时,可以直接使用语义化版本号,而不是 commitid 版本号。

  • 提供了 console, api, web, grpc 多种骨架生成工具,同时骨架代码中包含非常丰富的范例,开箱即用。

  • 采用高度灵活的开发方式,框架只提供底层库,而与具体功能相关的代码都在骨架代码中实现,用户能更加细粒度的修改每一处细节。

  • 框架非常轻量灵活,依赖库均可独立使用,严格来讲除了 console 命令行开发组件,其他全部为选装。

  • 由于骨架和核心类库都由 Mix 自己打造,拥有和 MixPHP 同样的设计哲学,PHP 的用户可以很容易上手开发。

与 Mix PHP 的关系

该框架与 MixPHP 设计哲学几乎完全一致,PHP 的用户可以非常容易的切换到 MixGo 进行开发,达到学一会二的效果,OpenMix 可能是现在唯一一个打造跨语言框架的开源机构。

微服务

由于 gin 与 go-micro 是兼容的,因此可以非常方便的扩展为微服务。

框架定位

当我们开发 MixPHP 时发现框架的设计哲学可以复制到 Go 生态,于是我们着手实现让更多的 PHP 中级程序员也可使用 Go 打造高并发系统,让 Mix 的用户能学一会二,实现跨语言无差别开发。

开发文档

技术交流

知乎:https://www.zhihu.com/people/onanying
微博:http://weibo.com/onanying
官方QQ群:284806582, 825122875,敲门暗号:goer

快速开始

  • 安装开发工具
go get -u github.com/mix-go/mix
  • 创建 api 应用骨架
mix api --name=hello
  • 编译到骨架的 bin 目录
cd hello
go build -o bin/go_build_main_go main.go
  • 执行
cd bin
./go_build_main_go
  • 启动 api
$> ./go_build_main_go api
             ___         
 ______ ___  _ /__ ___ _____ ______ 
  / __ `__ \/ /\ \/ /__  __ `/  __ \
 / / / / / / / /\ \/ _  /_/ // /_/ /
/_/ /_/ /_/_/ /_/\_\  \__, / \____/ 
                     /____/


Server      Name:     mix-api
System      Name:     darwin
Go          Version:  1.13.4
Framework   Version:  1.0.5
Listen      Addr:     :8080
time=2020-08-28 18:54:31 level=info msg=Server start file=api.go:58

访问测试 (新开一个终端):

$> curl http://127.0.0.1:8080/hello
{"message":"hello, world!","status":200}

开发工具

源码仓库中不仅包含全部组件的源码,还包含一个开发工具:

  • 可以生成 console, api, web, grpc 等骨架代码
  • 热更新工具 (开发中)

Installation

  • 安装
go get -u github.com/mix-go/mix

Help

查看命令帮助

$ mix
Usage: mix [OPTIONS] COMMAND [opt...]

Commands:
  version       Prints the current Mix Go version
  new           Create a console application
  api           Create a api application
  web           Create a web application
  grpc          Create a gRPC application

Global Options:
  -h, --help    Print usage
  -v, --version Print version information


Run 'mix COMMAND --help' for more information on a command.

Developed with Mix Go framework. (openmix.org/mix-go)

New application

创建应用骨架

  • console
mix new --name=hello
  • api
mix api --name=hello
  • web (含websocket)
mix web --name=hello
  • grpc
mix grpc --name=hello

License

Apache License Version 2.0, http://www.apache.org/licenses/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335

推荐阅读更多精彩内容