Golang 프레임워크 비교

프레임 구조
라이센스
업데이트 빈도
배우기 쉽다
정보량
사례가 많다
스타 수
문서 생성 기능
Beego ( GitHub )
Apache-2.0



×
21906

Gin ( GitHub )
MIT




31238
×
Martini ( GitHub )
MIT




10688
×
Revel ( GitHub )
MIT



×
10708
×
Echo ( GitHub )
MIT




11322
×
Goa ( GitHub )
MIT




3537

Go kit ( GitHub )
MIT

×
×
×
14795
×
micro ( GitHub )
Apache-2.0


×
×
6741
×
업데이트 주파수 표준 -github 제출 로그 최근
학습이 쉬운 판단 기준→학습 용이도 조사
정보 많은 판단 기준 → 문서 충실 여부, Qiita 등 글 검색 결과 많아

학습 용이도 조사: 판단 기준

  • 코드가 쉽게 한눈에 볼 수 있는지
  • 공식 문서가 일본어를 지원하는지 여부
  • 공식 문서가 충실한지 여부
  • 정보가 많은지
  • 비교표


    framework
    이해하기 쉽다
    공식 문서 지원 일본어
    공식 문서가 충실한지
    정보량
    Beego(9)

    ×


    Gin(8)




    Martini(8)




    Revel(8)

    ×


    Echo(10)

    ×


    goa(8)

    ×


    goKit(5)

    ×
    ×
    ×
    goMicro(6)

    ×

    ×

    결과

  • Echo
  • Beego
  • Martini, Gin, Revel, goa
  • goMicro
  • goKit
  • 특징


    Beego


    전체 웹 응용 프로그램 프레임워크.OR 매핑을 지원합니다.루비의 시나트라를 기반으로 설계되었습니다.

    Gin


    비교적 가벼운 풀스택 웹 응용 프로그램 프레임워크입니다.마티니와 유사한 API를 제공합니다.

    Martini


    모듈식 웹 응용 서비스 프레임워크.

    Revel


    Java Play Framework를 참조한 풀 스택 프레임워크

    Echo


    RESTAPI를 위해 REST 원칙에 따라 설계된 API가 있습니다.Gin 이상의 고속 처리.

    Goa


    디자인 코드(goa API 디자인 언어)의 파일을 만들면 마이크로서비스의 핵심 파일을 생성할 수 있다.

    Go kit


    자신의loadbalancer 패키지가 부담하는 DNS와consul 등 각종 플러그인을 추가할 수 있습니다.트레이싱 패키지를 사용하면 어떤 요청을 통해 로그를 출력했는지 추적하기 쉬울 것 같습니다.

    micro


    마이크로 서비스의 도구 패키지로 각 서버/서비스 도구를 분리하고 포장합니다.핵심 go-micro, 웹 서비스 배치에 사용되는 go-web, 모니터링 도구인 모니터-web, 추적 서비스에 사용되는trace-web 등 마이크로서비스 구축과 운용에 사용되는 소프트웨어 패키지를 포함한다.

    속도 비교


    참조 1


    Go Web Frameworks 비교 - Qiita
    GitHub - najeira/go-frameworks-benchmark: benchmark for golang web frameworks


    참조 2


    GitHub - julienschmidt/go-http-routing-benchmark: Go HTTP request router and web framework benchmark

    참조 3


    GitHub - smallnest/go-web-framework-benchmark: Go web framework benchmark

    참조 4


    Round 14 results - TechEmpower Framework Benchmarks
    GitHub - TechEmpower/FrameworkBenchmarks: Source code for the framework benchmarking project

    예제


    Gin


    Go에서 JWT 인증을 위한 API 게이트웨이 만들기 - Tech Blog-Recruit Lifestyle Engineer
    Frect의 클라우드 블로그(New): Go 언어로 사무 제어의 포장 함수를 만드는 이야기
    API 서버 개발에서 배포까지 Go - Qiita

    Martini


    GAE/Go 사례 소개

    Echo


    [왜 보이스가 고랑과 에코를 선택했을까? - 보이스테크 블로그]
    API에 Golang-Clex Developers 블로그 배포
    (전편) (핀릴 / 개발사 블로그)
    제목 Gopher에 보내는 Golang제 웹 프레임워크 에코에 대한 logging

    goa


    얼음벽돌의 고아 사례 분석/case studies of goa in istyle inc/Speaker Deck
    goa 이야기 가져오기//Speaker Deck

    프레임 사용 안 함


    처음으로 Golang으로 대규모 Micro Services를 만든 교훈. 教訓1 フレームワークに拘らないGo에서 API 서버를 다시 설치하는 이야기 - Mercari Engineering Blog
    처음에는 Revel로 썼어요. - 프레임 안 쓰고 다시 썼어요.

    GitHub 별의 추이



    참고 자료


    Go 언어 추천 프레임워크 요약
    지속적인 API 개발Go 마이크로서비스 요약
    go 언어 마이크로서비스 프레임워크 잡다한 비교 비고 - Qiita
    마이크로서비스 프레임워크 요약 [부정기적 업데이트](2017/02/25 업데이트) - Qiita
    Go의 아키텍처를 실례적으로 학습합니다. -'개발 속도 우선'에서 GMO 페파보는 MVC를 사용합니다.

    기타


    Gunosy-고속 광고 게시 서비스 제작 방법의 비결
    GuluNabi에서 Go언어 활용

    좋은 웹페이지 즐겨찾기