各種設定 + ごくごく簡単なVue.js + Vuexでカウントアップするサンプル
https://github.com/Kesin11/my-js-boilerplate/tree/v2
技術スタック
去年 | 今年 |
---|---|
React + Redux | Vue.js + Vuex |
mocha + power_assert | ava |
browserify | webpack |
gulp | npm + package.json |
フレームワーク
去年個人的な開発でReact + Reduxを使った感想としては、Reducerやコンポーネント志向によって拡張するときにどこを変更すればいいのか明確ではあるものの個人プロジェクトのような小さいページだとコストが高すぎると感じた。
最近はVue.jsが盛り返しているらしく、2系にバージョンアップされてから触ったことがなかったので使ってみたら結構いい感じ。
React使ってたときにFluxの概念は良いと思っていたので、VueでFluxを実現するVuexというプラグインも使ってみた。
あくまでプラグインなので従来のVue.jsの書き方とも共存でき、JSXも使えるようになっていたしReact + Reduxの重厚な組み合わせでなくてもこれで十分なのでは感がある。
テスト
rubyでpowe_asserに触れてからあのお手軽感が忘れられず、
そういえばavaというテストライブラリにpower_assertが採用されたということを思い出したので試してみた。
文法はrubyのminitestに近い印象。
power_assertが使われているとのことだったが、本家と違ってマッチャーがassert一本ではないのが残念だった。どうやらfailしたときの表示をリッチにするためにpower_assertを使っているっぽい。
理想はrubyみたいにassertだけでいける環境が欲しいのだが、去年使ってたmochaのrspec風に慣れなかったので一旦これで妥協することにした。
脱gulp
去年はgulpに憔悴したのでgulpを捨ててnpmとpackage.jsonだけにした。
意外と、というか全く困らなかった。
むしろネット上の玉石混交のgulpの構成を見つけては動かずに頑張って手直しするという必要もなく、それぞれのツールのドキュメントから使い方をコピペすればとりあえず動くしでいいことづくめだった。最近なんとなく脱gulpの空気も感じるし。
OSの互換性ガーという意見もあるかもしれないが個人の開発では、というか少なくとも自分の場合は業務でもmacOSとLinuxで動けば問題ない。
webpack
webpackはvue.jsのセットアップが勝手にやってくれた最小限の設定しかないが、どのみちwebpackの設定はプロジェクト毎で別物になっていくだろうからとりあえずこんな感じ。
最近はjs界隈のフレームワークやツール戦争も落ち着きつつあるので、少なくとも数ヶ月は新しく何かを始めるときにはこの構成からスタートすることになると思う。
また大幅に変更することになったら新しいエントリを投稿するだろう。