株式会社スマレジの開発部でスマレジのサーバサイドを作っています

ReactとVue.jsを使ってみて思ったこと

こんにちは! スマレジ開発部のmasaです。

グッと冷えてきましたね。でもフリースを出すにはまだちょっと暑いような微妙な感じです。 夏に布団カバーを麻に変えたんですが、ちょっと冷たく感じるようになってきたので、 冬用カバーに変えようか検討中です。

さて、今回は表題の通りReactとVueを両方使って思ったことをまとめます。

長く保守するプロダクトならReactが良さそう

Reactは最近触り出したので、浅い所感ですがVueのように一つのファイルに作りたいものを詰め込んでいく(html,css,JSをvueファイルにまとめて書いてbuildするときにまとめる)場合、どうしても同じようなコードが散逸しがちです。

特にVueは仕組みが分かりやすく、0から作るスピードはReactより上なので、工数が十分でない時は工期優先でコードの散逸が起こりがちです。 「Vueはパーツひとつひとつを独立させて、パーツの組み合わせ方を工夫すればいいんだから、散逸したところで問題ないでしょ」という意見もありそうですが、言語仕様がバージョンアップなどで変更するときは影響を受けるので、リスクは高くなってしまうかなと。

反面、Reactは学習コストは確かにVue.jsよりも高いものの、

  • 構成するファイルが全てJS+CSSであり、ファイルも.js, .cssのみなのでプラグインが提供されていないIDEでも扱いやすい
    • htmlはJS内部に記載するけど、記載できる場所が限定されているのであまり気にならなかったです。
  • 原則、JSの言語仕様に則っていて、フレームワークとアプリの棲み分けがVueに比べてわかりやすい
  • JSのフレームワークだけど各パーツをclassベースで定義することも手軽にできるので、バックエンドエンジニアに優しい
    • Vueはテンプレートエンジンを触っている感覚の方が近い感じだった

というメリットを感じています。 パーツやコンポーネントひとつひとつが独自仕様になりづらく、ある程度統一感を持たせた実装をエンジニアに促しやすい点で、長期的なメンテが必要なプロダクトには向いているかなと思いました。(ただ、Vueと同じでコンポーネントの切り方などは自由なので、アプリケーションアーキテクチャを一人が決めて、周りがそれに追従する形がいい気がします)

というところで短いですが今回はここまで。 (最近忙しくてなかなかガッツリしたのが書けない汗)