読者です 読者をやめる 読者になる 読者になる

Windowsを使うWebフロントエンドエンジニアだった頃の道具一揃え

前職ではWindowsを使ってWebフロントエンドエンジニアをやっていたんだけど、そのときに自分の開発機に入れていたツール群とかを徐々に忘れてしまいそうだったのでメモを兼ねて書いてみる。Web系=OSXということでノウハウがどれもWin向きではないということで困っている人がいると思いますし、そういう人のお役に万が一でも立てれば幸いです。

背景

自分の当時の背景はこんな感じ。こういう基準・背景でコードを書いてた。

  • 自分は、もっぱらクライアントサイドでJSを書いてた
    • モバイルよりもレスポンシブデザイン向けにコードを書く方が多かった
  • 全てをコマンドラインとかエディタで済ますのが好きではない
  • ツールは概ね好き勝手に入れて問題なかった

入れてたもの

(OfficeとかAdobe CSは除く)

エディタ:Vim

Vimで問題ない人間なので。IDE性とかも特に求めてないので、プラグインとかも自動補完とsyntax highlightだけ入れてた。

日本語はもっぱらメモ帳にMarkdown形式で書いてたなー。Adobe Bracketsとかも入れてたけど、Markdownのプレビュー以外には使わなかったし、大抵はメモ帳かVimで書いた物をpandocで整形してHTMLとかにしてた。

ローカルプロキシ:Fiddler

WindowsでWebフロントエンドやるなら入れておいて損は無い。というか、自分はこれがあるので、Webフロントエンドの開発は間違いなくWindowsの方がやり易いと思ってる。

AutoResponderで稼働中のサイトをデバッグしたり、VMをつないでHTTPキャプチャ機能付きのリバースプロキシ代わりにも出来るので本当に重宝する。

msysGit

WinでGitと言えばこれでしょう。職場のVCSSVNだったんだけど、git-svnを使えば、「リモートリポジトリが(SVNで)中央集権的に運用されている」スタイルになるだけで、gitのワークフローに載せられたので問題なかったかな。

Git Extensions

Gitの殆どの機能が使えるGUIクライアント。ログビューアと、git-svnに伴うブランチの複雑なリベース・チェリーピックのために使ってた。これのおかげで、Winでtigは使った事が無い。

WindowsでGit使う人間であれば、とりあえず入れておいていいアプリケーションだと思います。Gitに関してなら、SourceTreeやGithub for Windowsよりもこっちを使った方が便利だと思ってます。

mozilla-build

Mozillaのソースツリーのビルドツールなんだけど、*nixなツールが一通り入ってるんで、これを入れて、中のバイナリを色々交換して使ってた。MsysGitに入ってくるものと組み合わせると色々できる。

nkf

Windowsと言ったら、文字コード・改行コードで手間取るよね。

ファイラとかランチャとか

Windowsのタスクバーとスタートメニューで十分でしたね。

Node.js

これが無いと今日のWebフロントエンドは開発にならない。 esprima-gで入れて一緒に入ってくるesvalidateコマンド使ったり、escodegenを同じく-gで入れて、変態記法なコードの整形に使ったりした(ただし頻度は少ないし、そもそもgulpとかでLint回せばどっちも要らないよね)。

具体的にどういうモジュール使ってたかはWindows固有の問題じゃないので置いておく。

jq

だいたいFiddlerで解決するんだけど、たまに生のJSONファイルを読まないと行けない時があった。

modern.ieで配布されてるVM一通り

だいたい全部ローカルに保持して、全部に一通りFiddlerをインストールして使ってた。

用途はもちろん検証で、ゲストPCをホスト側にブリッジ接続して、Fiddlerをリバースプロキシの代わりに使ってホスト側で動いてるtestemにつないで、HTTPをキャプチャしつつユニットテストを走らせたりしてた。

Win8以降のProfessional/Enterpriseなら、Hyper-Vが使えるので、それ使えば良いと思う。なければVirtualBoxVMwareないしは、Virtual PCになると思う。VMWareの方が動作は速いんだけど、所詮検証用なので速度はそんなに欲しくなかったのと、有料ライセンスなソフトをインストール時に申請出さないといけなくて、それが面倒くさくて自分はVirtual PCで済ませてた。

各ブラウザの開発版

開発版じゃないとDeveloper Toolsの最新機能使えないし。

検証用にstable channelも入れてたけど、だいたいNightlyとかCanaryって名前のついてる物で開発も全部やってた。 IEも例外無く、Developer Tools目当てで開発機の上ではバージョンを上げられるまで上げてた。

検証の方は、だいたいVMと検証用のマシンで済ませる感じ。 JSのユニットテストだとロジカルなんでVMで済むケースが多いんだけど、レイアウトの検証になると最近のブラウザはハードウェアアクセラレーションが絡む(=ドライバの問題があるVMでは不確実)ので、品質管理部門と同じ検証用の実マシンで最終確認したりしてた。


だいたいこんな感じでした。 もう少し一般的な路線で言うと開発者がSurfacePro3を買ったらまずやること - Qiitaあたりも参照すれば良いのではないかと思います。