개관 중 Go를 선택한 WebFramework(2016/02)부터 1년 반
결론 is Revel
Go Web Framework에서 투덜거리면 맨 위에 올라오는데 결국 계속 기사가 나와서 죄송합니다.
개요에서 Go의 WebFramework(2016/02)를 선택합니다.
이 보도로부터 2년이 채 되지 않았다.마지막으로 지금 어떤 상황이고 어떤 변화가 일어났는지 적어 주세요.
말하기 시작하다
나는 Go로 작은 웹 서비스 개발을 썼다.약 3명의 엔지니어가 주말과 한가한 시간을 이용해 가볍게 하고 있다.다들 배경이 다르고 반위원이라 쓰기를 좋아해요.
결론 is Revel is 문제 없어요.
네, 맛없어요.
약간 - Rils 구조랑 Go의 엄격한 규칙이 좋은 것 같아요.
간단하고 알기 쉬운 견본
- 자주 업데이트
솔직히 퍼포먼스를 요구하는 사이트가 아니라 그냥 간단하게 써서 누구나 바로 코드를 쓸 수 있는 상황이었으면 좋았을 텐데, 웹프레임워크의 전제지식이 멤버 내부에 어느 정도 여유가 있었다면 만부하의 프레임이 됐을 것 같아요.
그럼에도 불구하고 우여곡절이 있었다.
-go 환경 제작의 골칫거리
etc...etc...
보시면 아시겠지만 솔직히 Go가 아니라 둘러싸고 있어요.
개발 환경, 도구, 인프라 시설은 사실 모두 빈틈이 있다.
개발 환경
첫번째
- goenv
- gom
- go ver1.5.3
- revel ver0.15.0
지금
- vagrant
- gvm
- dep
- go ver1.7
- revel ver0.18.0
네.revel은 며칠 전 2017-10-30에서 최신 버전이 나왔는데 As of Revel 0.15, Go1.6+is requird로 바뀌었다. revel 자체에 대한 포장 관리가 없으면 매번 Goo get에 최신 버전(tag/branch/commiit로 지정할 수 없음)이 나오기 때문에 반드시 Goo의 버전을 높여야 한다.
revel의 포장 관리 dep도 추천되어 이쪽도 대응해야 하기 때문입니다.
"Mac로 바로 환경을 만드는 게 좋아요. Goenv로 지방을 오염시키지 않았으면 좋겠어요."달콤한 생각을 많이 했어요. GO 언어 1.6.3 이전 버전인 분들은 Mac OS Sierra로 업그레이드하지 않는 게 좋을 것 같아요. 이런 거 있어요.원래 맥은 Go를 쓰지 말라는 계시가 있어 Vagrant에서 환경을 준비하는 것을 포기했다.
Ansible이 처음 디자인을 했기 때문에 쉽게 만들 수 있습니다.
레벨의 버전 업그레이드, 고의 버전 변경 등이 까다롭기 때문에 매번 다른 VM을 설치해 검증한다.
프로그램 설계
Revel Deployment
- Build the app locally and copy it to the server.
- On the server, pull the updated code, build it, and run it.
- Use Heroku to manage deployment.
위에 쓰여 있다.우리는 벚꽃의 VPS로 서버를 관리하기 때문에 특별히 좋은 방법이 없었고, 애초에 Ansible로 개발됐다.빌딩(특히 gom)에서 인기가 많아서 귀찮아서 CircleaCI로 바꿨어요.
다만 Circleci에서 고의 환경을 만들고 만들면 상당히 무겁기 때문에 구축용 서버를 준비한 후 생성된 바이너리 실제 scp를 해결하면 된다.지루하지만 좋아요.
AWS면BOXFUSE의 서비스로 유일하게 지원되고 있습니다.
이것은 일본에서 매우 드물게 듣는 서비스다.
그래서 지금 어때요?
201602
Framework
Star
창고에 대한 인상
Revel
6,337
샘플·모초이 크론과 너트 페이지가 모두 있어서 기분이 좋다
beego
6,234
Sinatra를 참조하므로 API를 제작하는 것이 좋을 것 같고, Auto API documents를 염두에 두고 있습니다.
Gin
5,425
빠른 것 같아, martini보다 40배 빠른 것 같아.
martini
8,178
가장 인기가 많고 이름도 좋아요.일본어 문서만
goji
2,947
심플(보통감)
echo
2,976
진보다 일찍.아직 어려 보여요.
201712
Framework
Star
창고에 대한 인상
Revel
9,137(+2,800)
길게 뻗지는 않았지만, 최근에도 업데이트돼 Go의 최신 기능을 잘 활용한다는 인상을 주고 있다
beego
13,198(+6,964)
설명장에도 애니메이션이 있고 돈도 있고 API 서버를 만들면 좋아요.
Gin
13,361(+7,936)
역시 빠르네.
martini
9,795(+1,617)
그때 인기 많았던 martini가 아직 많이 자라지 않았는데 2014년부터 업데이트가 안 됐어요.
goji
3,344(+397)
이것도 업데이트 안 해.
echo
8,831(+5,855)
v3.2.5층에 도착하면 w, issue와 수법이 매우 많다.댓글이 끝이 없어요.
iris
8,361(new)
좋은 점이 있으면 벤치가 매우 빠르다
그렇기 때문에 리벨은 그 정도로 자라지 않았다. 스타 수와 업데이트 빈도를 보면 리벨/beego/Gin 중 어느 쪽인 것 같았다.웹 앱을 만들면 레벨, API 서버를 만들면 진, Go를 처음 접하는 사람이 많으면 beego가 좋다.
지금도 인터넷상에서 어떤 프레임으로 Go를 만지고 있는지, 이런 좋은 견해가 있다면 공유해 주세요.
Reference
이 문제에 관하여(개관 중 Go를 선택한 WebFramework(2016/02)부터 1년 반), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/jumbOrNot/items/68bdc18b1291b7c6ecee텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)