Go Framework는 굉장히 다양하다.net/http
패키지를 사용해서 구현해도 좋지만,
복잡하고 다양한 기능을 간편하게 구현하기 위해서는 Web Framework를 사용하는게 좋다.
awesome-go.com을 보면 전부 정리가 되어있다...
아주 훌륭한 사람들
Web Framework의 역할과 선택기준
Web Framework는 Request, Handler를 맵핑하는 Routing, 데이터 바인딩, 컨텍스트 기능 등 다양하게 제공하고 있어 우리가 별도의 개발 리소스 없이 간편하게 구현이 가능하도록 제공하고 있다. 그런데 문제는 너무 많은 웹프레임워크가 있다는점!!! 항상 선택을 고민하다 개발을 하기도 전에 개발이 끝나버린다. 프레임워크를 선택하는 기준은 내가 하고자 하는 기능이 충분하게 이미 구현되어 있는지 확인하면 된다. 아마도 제일 많은 star를 받은 repo의 framework를 선택하는게 안전빵이 아닌가싶다. (나는 잘 모르니까..)
Go 언어의 Web Framework
- Revel (11,297) github
- Beego (21,730) github
- Martini (10,676) github
- Gin (30,820) github
- GoCraft (1,396) github
- Traffic (24,172) github
- Gorilla (9,856) github
위처럼 다양한 웹프레임워크를 제공하고 있다. 2019.08.31을 기준으로 (star)를 적어놓았다. 이중에 무엇을 선택할지 정말 많은 Web Framework가 있구나... 이중에 Web Framework를 어떤것을 사용해야 할지!!!! 또 찾다보니.. (역시 찾기만하는)
Go-Web-Framework-Stars 이미 정리해놓은게 역시 있었다. 여기를 살펴보면 유명한순으로 나열되어 있는데, 아래 표시한것보다 많다.
몇가지 글을 참고하면, 최근에는 Echo(python의 flask와 유사하다. 사촌같다. 등등), gorillia/mux, chia, Alice가 최고다... gin, gobuffalo가 최고다라고 말하고 있는데, 사실 뭐.. 내가 쓰기 편한게 최고지 한번씩 그래도 코드를 보는것도 도움이 될것 같다. 다음편에는 한번 선정해서 코드도 보고 어떻게 사용하는지 살펴볼 생각이다. reddit
만약 당신이 사용하고 있다면, 당신은 어떤 Web Framework가 가장 좋았는가?
나에게 추천을 부탁한다.
'Web 개발' 카테고리의 다른 글
jsconfig.json에 include를 추가해 VS Code에서 자동완성 (0) | 2020.02.16 |
---|---|
Go 언어로 Web Framework 시작해보기! 나의 선택은? (+Go 설치 및 환경설정) (2) | 2019.09.03 |
Go 언어를 배워보자! (~72 끝까지 달려보자! 동시성(Concurrency)에 대한 내용) + 이후에 튜토리얼, 레퍼런스 등 참고하기 좋은 사이트 (0) | 2019.08.31 |
Go 언어를 배워보자! (53~ 부터 시작! 인터페이스! ~ 61까지) 점점 어려워 지는구나 + 뜬금없은 Go build 하고 실행하는 방법 (0) | 2019.08.31 |
Go 언어를 배워보자! (~52까지 완료! 소요시간은 대략 1시간) (0) | 2019.08.31 |