더북(TheBook)

프레임워크의 종류

먼저 Go의 주요 웹 프레임워크를 살펴보자.

자바의 스프링, 루비의 루비 온 레일즈, 파이썬의 장고처럼 Go의 풀스택 프레임워크로는 Revel(http://revel.github.io/)과 Beego(http://beego.me/)가 대표적이다. 이들은 웹 개발에 필요한 기능 대부분을 제공하므로 프로젝트를 아주 빠르게 구성하여 동작해 볼 수 있고, 이미 구성된 프로젝트에 쉽게 기능을 추가할 수 있다.

풀스택 프레임워크와 달리 마이크로 프레임워크는 웹 개발에 필요한 기능을 최소한만 제공하고, 나머지 기능은 다른 라이브러리나 프레임워크를 확장하여 사용하게 한다. 루비의 시나트라나 파이썬의 플라스크가 대표적인 마이크로 프레임워크이다. Go의 마이크로 프레임워크로는 Martini(http://martini.codegangsta.io/), Goji(https://goji.io/), Gin(http://gin-gonic.github.io/gin/), gocraft/web(https://github.com/gocraft/web) 등이 있다.

그 외에 용도별로 사용할 수 있는 다양한 라이브러리/툴킷이 있다. Gorilla web toolkit(http://www.gorillatoolkit.org/)은 대표적인 웹 개발 툴킷이다. 웹 개발에 사용되는 주요 프레임워크와 라이브러리/툴킷을 다음과 같이 정리했다.

풀스택 프레임워크: Revel, Beego

마이크로 프레임워크: Martini, Goji, Gin, gocraft/web

라이브러리/툴킷

- 라우터: github.com/gorilla/mux, github.com/julienschmidt/httprouter, github.com/bmizerany/pat

- 컨텍스트: github.com/gorilla/context, golang.org/x/net/context

- 미들웨어: github.com/justinas/alice

- 렌더러: github.com/unrolled/render

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.