😀

フロントエンド開発ツールのまとめ

2017/05/20に公開

フロントエンド開発に供するツールがたくさんあって位置づけがよくわからんので、整理してみた。

環境構築

Bootstrapping tool

  1. VirtualBox, Docker
  2. Vagrant, HashicorpのBox

サーバOSの設定や仮想マシンによるサーバ立ち上げの自動化に関するツールのこと。VirtualBoxVagrantDockerは直接仮想サーバを構築できるが、VagrantVirtualBoxVagrantDockerのラッパーであり、直接仮想サーバを構築することはできない。また、Vagrantはウェブ上からHashicorpに登録された仮想イメージを自動的にダウンロードし、VirtualBoxVagrantDockerを自動操作して仮想サーバを構築することができる。

Configration

Ansible, Ansible Galaxy

サーバやミドルウェアの設定を自動化するツールのこと。Bootstrapping toolのVagrantはConfigrationの機能も備えているが、機能が貧弱なのでAnsibleを使ったほうが良い。なお、Ansible Galaxyはウェブ上に公開されたAnsibleの自動設定ファイルを自動的にダウンロードし実行することができるツールであり、設定ファイルの作成を省略できるため非常に便利である。

実装

Scaffolding tool

Yeoman

自動的にWebアプリケーションのテンプレート(足場=scaffold)を構築するツールである。ウェブ上に公開されたgeneratorと呼ばれる設定ファイルを指定することで、コマンド一行だけでTask RunnerやPackage Managerの設定ファイル、ウェブサイトのテンプレート及びサイトのディレクトリ構成等を自動生成する。

Task Runner

Grunt, gulp

JavaScript向けのビルドツールである。ビルドにかかる様々なタスクを自動化することができる。JavaのAnt/Mavenに相当する。

Module Bundler

Webpack, browserify

JavaScript向けのビルドツールである。Task Runnerとは異なり、依存関係の解決を自動的に行うことに特化している。

Package Manager

npm, Bower, yarn

ウェブ上のアーカイブに事前に登録されたJavaScript向けのライブラリを自動的にダウンロードして配備するツールである。

MVC Framework

AngularJSBackbone.js

JavaScriptのフルスタックフレームワークである。

ドキュメンテーション

Style Guide Generator

sc5-styleguide

スタイルガイドとは、ある文書の用語法、段組又はタイポグラフィ等の文書の見た目に関する事項事項(スタイル)を定義する規約のことである。Style Guide Generatorは、スタイルガイドを簡単に自動生成できるドキュメンテーション・ツールである。

テスト

Test Automator

SeleniumKarma

試験自動化ツールである。Seleniumはウェブブラウザの操作を自動化し、KarmaはJavaScriptの単体テストを自動化する。

CI

Configuration Management

Git

ソースやドキュメントを管理するための構成管理ツール。バイナリファイルの管理には不向き。

CI Tool

Jenkins, GitLab

継続的インテグレーション(CI)に用いるビルドツールである。GitLabは、Project ManagementやConfiguration Managementの機能も有する。

Project Management

Redmine

CI Toolとセットで用いられるプロジェクトマネジメントツールである。

Discussion