#author("2023-03-09T10:03:15+00:00","default:admin","admin") #author("2023-03-09T10:04:29+00:00","default:admin","admin") -[[Awesome Web Frameworks for Gophers:https://github.com/speedwheel/awesome-go-web-frameworks/blob/master/README.md]] -[[Go言語フレームワークのまとめ【2023年版】:https://freelance-start.com/articles/73]] -[[【最新】Go言語フレームワークおすすめ7選!選び方やメリット、デメリットも:https://freelance-mikata.com/columns/2287/]] -[[社畜エンジニアがおすすめする2023年トレンドのGo言語フレームワークまとめ:https://wiblok.com/go/go_framework_2022/]] -[[目的別おすすめのGoのフレームワーク14選|活用するメリットも解説:https://miraie-group.jp/sees/article/detail/Go_language_framework]] -[[【2022年】Go言語フレームワークの10選を比較!目的別のおすすめを解説:https://mid-works.com/columns/freelance-career/engineers/1114805]] -[[【2022年版】オススメなGo言語のフレームワークとGo言語エンジニアの需要について徹底解説!:https://engineer-style.jp/articles/1827]] -[[社畜エンジニアがおすすめする2022年トレンドのGoフレームワークまとめ:https://wiblok.com/go/go_framework_2022/]] -[[Go言語のフレームワークはこの5つを押さえよう【2022年版】:https://tech-reach.jp/column/402/]] -[[GoでAPIを作る際の技術選定:https://qiita.com/ryutoyasugi/items/dc3165446d3cf0bf32c0]] -[[GraphQL と gRPC で通信する Go 製のマイクロサービスをセットアップする:https://qiita.com/takano-h/items/702ec2aef53a8c756690]] *フレームワーク不要という意見 [#bc3274fe] -[[Goのおすすめのフレームワークはnet/http:https://future-architect.github.io/articles/20210714a/]] *フレームワーク [#j3092589] **[[Iris:https://www.iris-go.com/]] [#m6244cd4] -[[Iris(Go言語フレームワーク)の使い方を最速でマスターする:https://zenn.dev/mkosakana/articles/3c80695d63e127]] -[[irisを理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説!:https://anken-hyouban.com/blog/2021/08/11/iris/]] -ベンチマーク最速を謳うフレームワーク -デバイスを選ばず利用できるという特徴があるため、デスクトップやWebサーバー、スマートフォン、ラズベリーパイなどどのデバイスでも高速な動作が実現できます。 -Express.jsライクな、Go言語フレームワークです。Node.jsで開発を行ったことがある人ならば学習コストが低く最良なフレームワークです。 -Express.js ライクなフレームワーク --Node.jsのフレームワーク である、Express.jsに似たコーディングが可能です。 --Express.js を使用したことがある人ならば、すんなり覚えることが可能です。 -MVCアーキテクチャ --MVCアーキテクチャを使用しており、コード管理がしやすく開発者とデザイナーでそれぞれ役割分担を行えます。 -様々な機能がバンドルされている --あらかじめ開発に必要な機能がバンドルされており、それらの機能をインポートするだけで利用できます。改めてGo言語パッケージを選定する必要がないため非常に効率的な開発を行えます。 **[[Gin:https://gin-gonic.com/ja/]] [#b157c8e4] -[[Ginを理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説!:https://anken-hyouban.com/blog/2021/08/07/gin/]] -[[Go + ginを使って簡単なAPIを作る:https://zenn.dev/satumahayato010/articles/dd4a5c68ca6d67]] -[[[Golang] Ginを始める:https://dev-yakuza.posstree.com/golang/gin/start/]] -[[Go+Ginで実装したAPIにバックグランドタスクを追加する:https://blog.symdon.info/posts/1652408244/]] -[[初めてGo(Gin)でアプリケーションを作る時に直面した壁とその解決法:https://qiita.com/o-magari_kun/items/8cbb5fc66933de3359b7]] -処理能力はMartiniの約40倍と言われています -ミドルウェアが豊富であり、アプリケーションのエラー停止「クラッシュ」が起こらないようにサポートする機能が付いているのも特徴です。定期的にアップデートもしているのでセキュリティも堅牢です。 **[[Echo:https://echo.labstack.com/]] [#rb731bf6] -[[Echoを理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説!:https://anken-hyouban.com/blog/2021/05/19/echo/]] -EchoはRESTful API向けのフレームワークとなっており、小規模~中規模のWebアプリ開発に適しています。 -マイクロフレームワーク --必要最低限の機能しか提供していないので、他機能と競合することがなく必要な機能はプロダクトによってカスタム可能です。 -ミドルウェア作成のサポート --Echoはミドルウェアの作成をサポートします。 --ミドルウェアはそれぞれの機能の合間に必ず実行する処理を記載することができます。これにより開発効率とコード短縮を期待できます。 -[[【Go】echoを使ってさくっとAPIサーバを構築する:https://qiita.com/yagi_eng/items/b06722dbd7a5652ec239]] -Webアプリケーションフレームワーク $ go get github.com/labstack/echo **[[Aero:https://github.com/aerogo/aero]] [#b029ab79] -非常に高速なwebフレームワーク **[[Revel:https://revel.github.io/]] [#h17c8b88] -[[Revelを理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説!:https://anken-hyouban.com/blog/2021/08/09/revel/]] -MVCフレームワーク -PHPのCakePHPやJavaのSpringを使ったことがある人は学習しやすい フレームワーク です。 -MVCアーキテクチャ のサポート --Revelは、MVCの作成をサポートします。 --MVCはModel,Vuew,Controllerを分けることができ、チーム開発で担当を分けることが可能かつ、機能の再利用が容易になります。 -高パフォーマンス --Revelは、メモリ効率が非常に高く使用することで高いパフォーマンスを期待できます。 **Beego [#cf555607] -Beego(ビーゴ)は処理速度が速く、メンテナスがしやすいです。また、公式のドキュメントも充実しています。 -このフレームワークは、「アプリケーション」・「API」の開発やエンドサービスに向いていますよ。Beego(ビーゴ)は、フレームワークの初心者におすすめします。 -多くの機能を提供している大規模アプリケーション開発に最適な Go言語フレームワーク です。 -多機能であり、Restful API,Webアプリ,バックエンドサービスなどの開発をこれ一つで構築することができます。 -RubyのSinatraをもとに設計されているフレームワークで、オブジェクトとリレーショナルデータベースの相互変換を行うORM(ORマッパー)や専用のCLI(コマンドラインインターフェース)、自動テストなど機能が豊富 -処理速度が速く、Webアプリケーション、API、バックエンドサービスの開発に向いています **Goji [#v495cf74] -Net/httpと互換性を持つフレームワーク **Mango [#ya292afc] -モジュラー型のフレームワーク -シンプルなフレームワークで、ミドルウェアとアプリケーションが関数型で記述されているという特徴があるため、自己完結することができます。 **Gorilla [#o5f08de4] **[[Gocraft:https://github.com/gocraft/work]] [#j8d67e5b] -拡張性の高いルーティング機能を提供しているモジュラー型のフレームワーク -Goのフレームワークの中でも人気のあるフレームワークで、静的型付けをサポートしています。 **[[Fiber:https://github.com/gofiber/fiber]] [#lde2b4c7] -Express.jsライクなフレームワーク --node.jsフレームワークである、Express.jsライクな書き方で開発できます。 --Express.jsを使用したことがある人ならば、すんなりキャッチアップできます。 -Web Socketと静的コンテンツキャッシュのフルサポート --デフォルトで機能サポートされているため、モジュールを選定・インストールする必要がありません。 -[[Go言語とVue.jsで作るユーザー認証アプリ~バックエンド開発編Vol1~:https://selfnote.work/20210202/programming/create-authentication-app-with-golang-and-vue3-2/]] **[[chi:https://github.com/go-chi/chi]] [#g8485e8c] **Martini [#b914ffd7] *マイクロサービス向き [#k60fad0d] **[[Micro:https://micro.dev/]] [#z9a46814] -「micro(マイクロ)」は、「サービス開発のパッケージ」と「高度なサービス運用の開発」の2つの要素を持っています。アップデートは定期的に行われていますが、情報量や事例が多くありません。 -「micro(マイクロ)」はGo言語以外にも利用できるため、多くのミドルウェアを持っていますよ。 **[[Go Micro:https://github.com/go-micro/go-micro]] [#be68d2fd] ***[[Go Micro:https://github.com/go-micro/go-micro]] [#be68d2fd] -[[go-microではじめるマイクロサービス:https://note.com/kzmake/n/n9d894630b016]] -MicroのCLI **Goa [#t42cd945] **kit [#i0f66615]