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

September 11, 2013

この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。

元ネタ

あるプログラミング言語で実際に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アプリには関係ない。

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