356
347

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

元ネタ

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

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

356
347
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
356
347

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?