처음에 golang 프레임워크를 찾아보고 8가지 찾았고, 이 중에서 선택하는 과정을 거쳐보았다.
깃 허브 스타는 사람들이 얼마나 해당 프레임워크에 관심이 있는지를 뜻한다. (범용성)
| echo | beego | gin | martini | fiber | fasthttp | atreugo | gnet |
|---|---|---|---|---|---|---|---|
| 23k | 28.6k | 61.5k | 11.5k | 21.2k | 18.2k | 912 | 6.7k |
해당 기준에서 atreugo는 너무 낮기 때문에 0점, gnet은 1점, gin은 압도적인 5점, beego, echo, fiber는 3점, gnet은 1점, 나머지는 2점을 주었다.
쉽게 볼 수 있는 Docs가 있는가?
| echo | beego | gin | martini | fiber | fasthttp | atreugo | gnet |
|---|---|---|---|---|---|---|---|
| ✅ | ✅ | ⚠ | ⚠ | ✅ | ⚠ | ⚠ | ⚠ |
모두 Docs는 있다. 하지만 쉽게 정리되어 있는 Docs가 있는 것은 echo, beego, fiber 였다. 이들에게 모두 5점을 주고, 문서가 있던 gin, martini, fasthttp는 3점을 준다. atreugo와 gnet은 그마저도 부실했기에 1점을 준다.
| echo | beego | gin | martini | fiber | fasthttp | atreugo | gnet |
|---|---|---|---|---|---|---|---|
| 3 | 4 | 5 | 3 | 5 | 4 | 4 | 1 |
밑의 검색어에 구글 1페이지에 스택오버플로우나 블로그 글이 뜨는가? 를 기준으로 점수를 매겨 보았다.
| echo | beego | gin | martini | fiber | fasthttp | atreugo | gnet |
|---|---|---|---|---|---|---|---|
| 22.3 ⚠ | 22.7 ✅ | 22.6 ✅ | 14.5 ❌ | 22.7✅ | 22.6 ✅ | 22.7 ✅ | 22.2 ⚠ |
martini 0점, echo, gnet 4점, 그 외 5점을 준다.
| echo | beego | gin | martini | fiber | fasthttp | atreugo | gnet |
|---|---|---|---|---|---|---|---|
| MIT ✅ | Apache License 2.0 - Copyright 2014 astaxie ✅ | MIT ✅ | MIT ✅ | MIT ✅ | MIT ✅ | Apache License 2.0 ✅ | Apache License 2.0 ✅ |
모두 5점을 주었다.
| echo | beego | gin | martini | fiber | fasthttp | atreugo | gnet |
|---|---|---|---|---|---|---|---|
| 43 | 제일 하위 | 63 | plaintext(297 - 2021년) | 9 | plaintext(156) | 13 | plaintext(9) |
성능 순위를 따졌을 때, 밑과 같이 점수를 주게 되었다.
fiber, atreugo - 5
gnet, echo, gin - 4
fasthttp - 3
martini - 2
beego - 1

| echo | beego | gin | martini | fiber | fasthttp | atreugo | gnet |
|---|---|---|---|---|---|---|---|
| 21 | 20 | 22 | 13 | 25 | 20 | 20 | 15 |
위의 내용을 보았을 때, fiber의 사용성과 생산성을 먼저 확인해볼 필요가 있고,
그 다음엔 gin, 그 다음은 echo 순으로 확인해 보아야 한다.
사실 이걸 한 이유는 새로운 사이드 프로젝트에 golang을 써볼 계획으로 조사했었지만, 아쉽게도 익숙함과 생산성을 기반으로 fastAPI를 선정하게 되었다. 다음에 golang을 쓰게 될 때 이 글을 참고해서 프레임워크를 조사해봐야 겠다.