最近、いろいろな言語で試行錯誤していたバッチをGo言語(Golang)に移行しました。
単一バイナリでどこでも動作させられるという点と実行速度、標準ライブラリが豊富な点が気に入っています。

実は以前、Go言語のフレームワーク(Revel)を利用してWebAPIを作ったこともありました。
ただ、静的ファイル(HTMLやCSSなど)の管理が結構面倒でした。
調べてみても、静的ファイルを変換してバイナリに組み込むという荒業で乗り切っている記事が多かったです(go-bindataというパッケージですね)。
以前私がWebAPIを作った際、静的ファイルとして確認用の画面があったので、

  1. バイナリをコンパイル
  2. 静的ファイルとまとめて圧縮してサーバにアップ
  3. 解凍してバイナリ実行

という方法でデプロイしていました。
最近はマイクロサービス化の風潮もあるので、WebAPIはGo・ビューはフロントエンドフレームワークというようにアプリケーションを分けてしまったほうが良いのかもしれませんね。

そんなGo言語ですが、以前私はeclipseにGoプラグインをインストールして開発をしていました。
ただ、今ではあまり効率良く開発出来ていなかったなと思っています。
ところが最近、「Visual Studio Code」でデバッグ・補完・ジャンプ・フォーマットなど一通りの機能を利用して開発できることを知りました。
正直、かなり開発を効率化できているなと実感しています。

Visual Studio Codeはいわゆる「高機能なエディタ」です。
同じようなツールとして、以前Atomを使ったことがありました。
ただ、昔利用していたPCのスペックもあってあまり気持ちよく開発出来ず、スクリプト言語を利用した開発も結局IDEで頑張っていたんです。
エディタなのでIDEと比べて動作がサクサクしており、標準(場合によっては拡張機能導入)で言語別のハイライトやLintも実行可能です。
JavaやC#も利用できますが、正直このあたりは専用IDEがあるのでそっちを使ったほうが良いかなと思います(このあたりはケースバイケースですね)。
今回Go言語や、JS・HTMLの開発ではこういったエディタは非常に便利ですので、一度使ってみてはいかがでしょうか。

…と、走り書き気味でしたが、ここ最近の気持ちを伝えたくて一気に書きました(笑)。
他に「これも良いよ!」というツール・サービスなどあれば、是非教えてください。