• トップ
  • ブログ一覧
  • Go言語のおすすめフレームワーク5選
  • Go言語のおすすめフレームワーク5選

    広告メディア事業部広告メディア事業部
    2019.05.23

    エンジニアになろう!

    Go言語のおすすめフレームワークを詳しく知りたい!

    ミツオカミツオカ
    「Go言語」って、急速に人気が出てきていますよね!
    にゃんこ師匠 にゃんこ師匠
    求人サイトが発表した2018年のプログラミング言語別年収ランキングでは1位になっておったし、注目が集まっておるといえるにゃ~
    ミツオカミツオカ
    そうなんですよ!気になっていたんですよー!Go言語についてもっと知りたいです~!
    にゃんこ師匠 にゃんこ師匠
    おお…それじゃあ今回はワシがおすすめのGo言語のフレームワークを紹介してこうかの…

    Go言語は魅力的な言語

    ミツオカさんも大注目のGo言語。

    年収ランキングの結果は、扱えるプログラマーが少ないことにより、比較的上級プログラマーが多いからとの説もあります。

    が、実際魅力的な言語であることに変わりありません!

    ちなみに、Go言語のフレームワークは大きく2種類に分類が可能です。

    軽量Webフレームワーク

    1. Gin(ジン)
    2. Echo(エコー)
    3. iris(アイリス)

    フルスタックWebフレームワーク

    1. Revel(レヴェル)
    2. Beego(ビーゴ)

    それでは、今、注目を集めるGo言語のフレームワークを5つご紹介していきたいと思います。

    こちらの記事もオススメ!

    featureImg2020.08.08Go言語 特集知識編人気急上昇中のGo言語(Golang)って何だ?実装編Go言語(Golang)入門...

    featureImg2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...

    Gin(ジン)

    Ginの特徴

    Ginは、軽量なWeb Application Frameworkの1つで、Go言語で作成されたWebフレームワークです。

    『Martini』というGo言語登場初期から存在するWeb Application Frameworkを基に、より高速に動作するよう設計されたWebフレームワークです。

    Martiniと比較すると約40倍の高速処理が可能となっているようです。

    Ginは、セキュリティの脆弱性に対しても強いから、堅牢なアプリケーションを作ることができるといわれています。

    にゃんこ師匠 にゃんこ師匠
    パフォーマンスと生産性に定評があり、Go言語のフレームワークとしては比較的古くから使用されている定番フレームワークの1つだにゃ!
    ミツオカミツオカ
    Ginの公式サイトはこちら。GitHubはこちら

    Echo(エコー)

    Echoの特徴

    前述のGin同様、Go言語フレームワークの中でも軽量Webフレームワークとして利用されるのがEchoです。

    RestAPI向けに最適化されたフレームワークであり、拡張性が高く、カスタマイズが容易である点が特徴的ということができます。

    URI単位での処理定義が行えるほか、Loggerに対しての定義が細かく設定が可能です。

    また、Echoで記述されたコードは読みやすく開発効率を上げるという一面もあります。

    にゃんこ師匠 にゃんこ師匠
    2015年に登場したばかりの新しいWebフレームワークでGinよりも更に高速な処理が可能とされているにゃ
    ミツオカミツオカ
    Echoの公式サイトはこちら。GitHubはこちら

    iris(アイリス)

    irisの特徴

    ベンチマークで最速と謳われているフレームワークです。

    デバイスに捉われず、Webサーバーやモバイルアプリケーション・デスクトップアプリケーションとどのデバイスでも高速に動作してくれるフレームワークです。

    また、Irisの特徴としてサンプルの多さが頻繁に挙げられます。

    重要な技術は、基本的にドキュメント内のコードで確認することが可能です。

    また、強い癖がないので、公式ドキュメント通りに記述していけば、他人のコードでも読みやすい構成になり、メンテナンスも容易になります。

    にゃんこ師匠 にゃんこ師匠
    初心者の方にも学習コストが低く身につけることが可能なため、オススメ出来るフレームワークといえるにゃ
    ミツオカミツオカ
    irisの公式サイトはこちら。GitHubはこちら。

    Revel(レヴェル)

    Revelの特徴

    Revelでは、MVCの思想が取り入れられているため、他言語のMVCフレームワークを触ったことのあるプログラマーには親しみやすいのが特徴です。

    また、フルスタックWebフレームワークとして公開されているため、RevelのみでWebアプリケーション開発に必要な機能は一通り揃います。

    Ravelは、ユーザーがコードを編集した際、自動でコンパイルが行われる特徴があります。

    処理速度自体も早く、コンパイルも自動で行われるので、ストレスなく開発を進めることが可能じゃな。

    にゃんこ師匠 にゃんこ師匠
    Rubyのフレームワーク「Ruby on Rails」やJava/Scalaの人気フレームワーク「Playframework」から影響を受けたフレームワークだにゃ
    ミツオカミツオカ
    Revelの公式サイトはこちら。GitHubはこちら

    Beego(ビーゴ)

    Beegoの特徴

    Beegoは、Revel同様、「MVCモデル」が採用されております。

    ORM(ORマッパー)や専用のCLIなども用意されており、Beegoのみでアプリケーションの開発が可能となっております。

    Beegoは上述したように、ORMの提供やlogger等全て用意されていますが、綺麗にモジュール化されているため、ORMをThird party製の物に切り替えたいといった要望にも簡単に応えられるのが特徴です。

    Beegoには、自動テスト機能も搭載されているので、コーディング以外の面に関しても非常に優れたフレームワークと言うことができます。

    にゃんこ師匠 にゃんこ師匠
    Beegoは、中国で人気のあるフルスタックのWebフレームワークだにゃ!
    ミツオカミツオカ
    Beegoの公式サイトはこちら。GitHubはこちら

    さいごに

    本記事ではGo言語の中でも代表的なフレームワークを5つご紹介してきました。

    Go言語は比較的新しい言語なこともあり、フレームワークの選択にも様々な意見が見受けられます。

    今回ご紹介した5つのフレームワークにもそれぞれ特徴があり、特定のフレームワークを使用しておけば間違いないといったデファクトスタンダードなフレームワークは定義されていないのが現状です。

    まず、ご自身の目的に合わせて、軽量Webフレームワークを使用するかフルスタックのWebフレームワークを使用するのかを決定し、今回ご紹介したフレームワークを中心に選定していくのがベストかと思います。

    今後、さらに注目されることが予想されるGo言語ですので、フレームワークをしっかりと使いこなせるようになり、一歩進んだGoプログラマーになるようしっかりと学習していきましょう。

    こちらの記事もオススメ!

    featureImg2020.08.08Go言語 特集知識編人気急上昇中のGo言語(Golang)って何だ?実装編Go言語(Golang)入門...

    featureImg2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...

    オススメのGo入門本

    入門Goプログラミング
    入門Goプログラミング (日本語) 単行本(ソフトカバー)

     

    広告メディア事業部

    広告メディア事業部

    おすすめ記事