node.jsを用いた開発について
清木です
この度、node.jsを利用してWebサイトを一つ立ち上げましたので、
今回のかいはつにおいての感想などを書いていきたいと思います。
楽だと思ってたけどそれほど楽ってわけじゃ無い
前提として、今回の開発で使用したソフトウェアは以下の通りです
- sails.js
- mongoDB
- passport.js
- pug
- stylus
- Bulma
- vagrant
よかったこと
何事にも良かった点、悪かった点はあると思います。
ます、良かったことから書いていきます。
やりたいことができた
Node.jsを使っての開発をやりたいと思ってたので良かったです。
フロントとバックで複数の言語をまたがずに開発ができる
画面の作り的な話になるとまた違いますが、バックとフロントの両側がJavaScriptでかけたのは良かったです。
PHPとJavaScript行き来してメンバアクセス演算子をごちゃ混ぜで書くことがなかったので。
かきやすかったです。
パッケージが豊富で選択肢が多い
何かの機能を追加しようとする場合にたくさんのパッケージがあり選択肢がとても多かったのはとても良かったと感じます。
HTML/CSSを記述するのが楽だった。
HTMLの生成にpugをCSSの生成にStylusを使用したた記述量と可読性をだいぶ高くできたと思います。
嫌だったこと
何かをやるときには嫌なことは必ずあるので、次は嫌だったことについてです。
タスクランナーの設定が面倒くさい
これまでnode.jsや、他の言語を使用する中で僕がタスクランナーを使うことがなかったので、
あまり真剣に調べたりはしてきませんでした。
なので、sails.jsでもデフォルトで使用されているgruntを使用しました。
結果ですが、パッケージごとに描き方が違ったりプラグインがどうのこうのと、思ったより覚えることとかお作法があって困りました。
大人しくnpm script使うべきですね、そっちの方がい今は主流みたいですし。
依存関係で困る
有用なパッケージがいっぱいあるのは嬉しいけど依存するパッケージの違いなどで困りました。
例えば、フロント側製造途中にデザインの変更が入ったので、CSSのフレームワークであるBulmaを使用することにしました。
Bulmaは、Sassで書かれているため、コンパイルしないといけません。
用意している環境では、Sassはコンパイルできない状態でした。
CSSフレームワークを追加するにあたりStylusで先にコードを書いていた部分を捨てるのがももったいなかったので、
Bulma.stylというドキュメントにも載っているBulmaのStylus版があったのでそちらを使用することにしました。
ですが、Bulmaの公式ドキュメントに追いついていないようだったので使用できませんでした。
そのため、Sassをコンパイルできるようタスクを書いたりしなければなりませんでした。
めんどくさいですね。
もっとうまくやりたかったこと
こうしたらもう少し効率的に実装できたのでは無いかということについて書いていきます。
ドキュメントをちゃんと読む
時間ないや〜と思って手探りでやっちゃった部分があるので、ちゃんとドキュメント読んでからやれば良かったと感じますね。
結果的に時間短縮になったと思います。
ちゃんと社内用のドキュメントを残すこと
実装最後の方は結構切羽詰まっていたので、ドキュメントをあまりかけなかったので、もっと後進の育成のために残せるものを書いておきたかったですね。
後付けで書きますが….
2