# GoFrame [![Go Doc](https://godoc.org/github.com/gogf/gf?status.svg)](https://godoc.org/github.com/gogf/gf) [![Build Status](https://travis-ci.org/gogf/gf.svg?branch=master)](https://travis-ci.org/gogf/gf) [![Go Report](https://goreportcard.com/badge/github.com/gogf/gf?v=1)](https://goreportcard.com/report/github.com/gogf/gf) [![Code Coverage](https://codecov.io/gh/gogf/gf/branch/master/graph/badge.svg)](https://codecov.io/gh/gogf/gf/branch/master) [![Production Ready](https://img.shields.io/badge/production-ready-blue.svg)](https://github.com/gogf/gf) [![License](https://img.shields.io/github/license/gogf/gf.svg?style=flat)](https://github.com/gogf/gf) English | [简体中文](README_ZH.MD) `GF(GoFrame)` is a modular, powerful, high-performance and production-ready application development framework of golang. Providing a series of core components and dozens of practical modules, such as: cache, logging, containers, timer, resource, validator, database orm, etc. Supporting web server integrated with router, cookie, session, middleware, logger, configure, template, https, hooks, rewrites and many more features. > If you're a newbie to `Go`, you may consider `GoFrame` easy and great as `Laravel` in `PHP`, `SpringBoot` in `Java` or `Django` in `Python`. # Installation ``` go get -u -v github.com/gogf/gf ``` suggested using `go.mod`: ``` require github.com/gogf/gf latest ``` # Limitation ``` golang version >= 1.11 ``` # Packages 1. Primary The `gf` repository maintains some basic and most commonly used packages, keeping it as lightweight and simple as possible. 1. Community The community packages are contrinuted and maintained by community members, which are reposited in `gogf` organization. # Architecture
# Performance Here's the most popular Golang frameworks and libraries performance testing result in `WEB Server`. Performance testing cases source codes are hosted at: https://github.com/gogf/gf-performance ## Environment OS : Ubuntu 18.04 amd64 CPU : AMD A8-6600K x 4 MEM : 32GB GO : v1.13.4 ## Testing Tool `ab`: Apache HTTP server benchmarking tool. Command: ``` ab -t 10 -c 100 http://127.0.0.1:3000/hello ab -t 10 -c 100 http://127.0.0.1:3000/query?id=10000 ab -t 10 -c 100 http://127.0.0.1:3000/json ``` The concurrency starts from `100` to `10000`. > Run `5` times for each case of each project and pick up the best testing result. ## 1. Hello World
Throughputs Mean Latency P99 Latency
## 2. Json Response
Throughputs Mean Latency P99 Latency
# Documentation * 中文官网: https://goframe.org * GoDoc API: https://godoc.org/github.com/gogf/gf # Discussion - QQ Group:[116707870](//shang.qq.com/wpa/qunwpa?idkey=195f91eceeb5d7fa76009b7cd5a4641f70bf4897b7f5a520635eb26ff17adfe7) - WX Group:Add friend`389961817` in WeChat, commenting `GF` - Issues:https://github.com/gogf/gf/issues > It's recommended learning `GoFrame` through its awesome source codes and API reference. # License `GF` is licensed under the [MIT License](LICENSE), 100% free and open-source, forever. # Contributors This project exists thanks to all the people who contribute. [[Contributors](https://github.com/gogf/gf/graphs/contributors)]. # Thanks JetBrains