Help us understand the problem. What is going on with this article?

Go言語でWebAppの開発に必要なN個のこと

More than 5 years have passed since last update.

元ネタ

あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずGo言語について知っていることを書いた。

パッケージマネージャ

標準でついてるgoツールを使おう。必要なライブラリはリポジトリから、go getで取ってこよう。

go get <リポジトリ>

アプリケーションサーバ

標準パッケージのnet/httpパッケージを使えばhttpサーバを動かすことができる。apacheやnginxで動かしたかったら、標準パッケージのnet/http/cgiパッケージnet/http/fcgiパッケージを使えばいい。

ルーティングとリクエストパラメータの処理

標準パッケージだとnet/http.Requestnet/http.ServeMuxあたりを使えばいける。もっと機能が欲しければgowebgorillaも便利。

データベース

標準でRDB用のインタフェースをdatabase/sqlパッケージで定義している。実際は、各RDBMSのドライバ使う。ORMならgorpがいいらしい

ビューのレンダリング

HTMLなら標準パッケージのhtml/templateパッケージを使えば、テンプレートエンジンが使える。JSONやXMLなら標準パッケージのencodingパッケージ以下のパッケージを使えばいい。サードパーティ製であればMessagePackもある。

HTTPクライアント

標準パッケージのnet/http.Clientを使えばいいと思う。

テストフレームワーク

goツールのgo testを使えばいい。
テストプログラムを書くには、標準パッケージのtestingパッケージを使う。webアプリのテストなら標準パッケージのnet/http/httptestパッケージも使えるだろう。

WAF

私個人はそんなに必要性を感じないが、gowebは便利だと思った。

マスコット

標準パッケージではないが、Gopher君というマスコットがかわいい。
Webアプリには関係ない。

以上。他にもあれば指摘してほしい。

tenntenn
Go engineer / Gopher artist
mercari
フリマアプリ「メルカリ」を、グローバルで開発しています。
https://tech.mercari.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away