フロントエンドでVue.jsを使った場合、サーバーサイドの言語としては何を使うのか疑問に思いました。
ただ僕は実務の経験がありません。そこで、実際の業務でVue.jsと一緒に使用されているサーバサイド言語を調べて、何を使うのか候補を作りたいと思います。
個人で開発することに関しても少し触れています。
Vue.jsを使わない場合とあまり変わらない
調べた印象として、Vue.jsを使う場合でもVue.jsを使わない場合でも、使用するサーバーサイド言語に違いはあまりないことに気が付きました。
強いて言うのであれば、Javaがサーバサイドで使われている印象が薄すかったのがVue.jsを使わない開発との大きな違いだと感じました。
一応、Vue.jsとともににどんなサーバーサイド言語が使用されているのか具体的に挙げておきます。
- JavaScript(Node.js)
- PHP
- Ruby
- Python(Django)
- Go
単純に言語単体でサーバーサイドを担うのではなく、次のようなサーバーサイドの操作ができるサービスを利用しているという例も見かけました。
- Firebase
- AWS
言語ごとの利点
Vue.jsと一緒に使う場合、それぞれのサーバサイド言語にはどのような利点があるんでしょうか?これについては、それぞれの言語が持つそもそもの利点をもとに自ら考えてみました。
JavaScript(Node.js)
Vue.jsとの開発でサーバーサイドにJavaScriptを使う利点は次のようなものがあります。
- 学習コストする負担が少ない
- Vue.jsの速さを生かせる
Vue.jsを採用する時点でJavaScriptに関して勉強するため、Node.jsを学習するのにかかる負担が比較的少ないことが一番の利点だと考えます。この点から、個人で開発をやってみたいという方にとって、Node.jsはとてもいい選択肢になるのではないでしょうか。
また、Node.jsは多数のユーザーに同時にリクエストされたときの処理能力に長けています。たくさんアクセスされても速いままといった特徴があります。
これに対してフロントエンドのVue.jsもMVVMモデルというものを採用しているため、ユーザーが入力した値に応じて表示をすぐに変更させることができます。
フロントエンドとサーバーサイドのどちらにおいても速度に優れた技術を使えば、サービス全体としてとても速くて使いやすいものになると考えます。
PHP
PHPを使う利点は次のようなものがあります。
- ネット上の情報が豊富
- 需要がある
調べたところ、「Vue.js+PHPで開発を行う」という趣旨の記事や動画が多く存在しました。Vue.jsとPHPの組み合わせでの開発方法は比較的簡単に知ることができると言えそうです。
こちらはPHPとVue.jsを使って「本のレンタルアプリ」を作成することが題材担っている記事です↓
Vue.js+PHPの開発を動画で説明してくださっているのがこちらです↓
また、この後に記述がありますが、PHPのスキルを持つ人に対する求人は他の言語に比べてかなり多いです(2022年5月現在)。
「フロントエンドにVue.jsを使用するなら、サーバーサイド言語は絶対これ!という」というような情報は見かけませんでした。
ということは、Vue.jsとPHPの組み合わせで開発を行っている企業も結構あることが予想できます。需要があるためPHPをVue.jsとの開発でとりあえず採用したとしても悪いことはなさそうです。
Ruby
Rubyを使う利点は次のようなものがあります。
- 日本語の情報が豊富で正確
- アプリケーションをすぐに作れる
Rubyは日本で開発された言語であることから、Rubyに関して日本語で書かれている記事が沢山存在します。
他のプログラミング言語であれば、たいていの場合、英語などの外国語が翻訳されたリファレンスを読まなければなりません。
そういった翻訳された文は少し理解しづらいこともありますが、Rubyは公式のリファレンスは前田修吾さんという日本人の方が投稿されているため、とても読みやすいです。
また、RubyにはRuby on Railsというフレームがあります。このフレームワークを使えば、コマンドをいくつか実行するだけで簡単なアプリケーションをすぐに作ることができます。
サーバー構築も比較的簡単にできるため、Rubyを使うことでVue.jsを使ったアプリケーション開発がすぐに始められるという利点があります。
Vue.js+Rubyでアプリ開発をしようと思っている方はこちらの動画がすごく参考になります!
Python(Django)
Pythonを使う利点は次のようなものがあります。
- 複雑な数値計算が簡単にできる
- 記述がシンプル
ある程度簡単な計算であれば、サーバーサイドで処理する必要もありませんが、行列や配列などの複雑な計算と高負荷な計算はサーバーサイドでやる必要が出てくるかも知れません。
そんなときに、NumPy(ナンパイ) 、SciPy(サイパイ)、Pandas(パンダス)といった数値計算ができる便利なライブラリがたくさん使えるのがPythonを使う利点だと思います。
この利点はフロントエンドにVue.jsを使用する場合に限ったことではありません。しかし、どんな開発環境であっても数値計算ができて損することはあまりないでしょう。
また、シンプルな記述ができるところもPythonが好きな人にとっては嬉しい利点だと思います。
Pythonは、Vue.jsと組み合わせることによって生まれる利点が少ないような気がします。
Go
- 処理速度が速い
- 将来性がある
コンパイラ言語であるため、インタプリタ言語であるJavaScript、PHP、Ruby、Pythonなどと比べて基本的には処理速度が速いです。
こちらも、Node.jsと同様にフロントエンドにおけるVue.jsの速さを生かすことができる特徴になっていると思います。
また、Googleトレンドで「Go言語」と検索すると着実に、人気が出てきていることが確認できます。
求人数を比べてみる
Vue.jsありの開発で使われるサーバーサイド言語は、Vue.jsなしの開発で使われるサーバーサイド言語とさほど変わらないようであることがわかりました。
ということで単純にサーバーサイド言語別の求人数を調べることで、Vue.jsと一緒に使う言語を決める参考にできるのでないかと考えました。
順位 | 言語 | 求人件数 |
---|---|---|
1位 | PHP | 2420件 |
2位 | Go | 1785件 |
3位 | Ruby | 1149件 |
4位 | JavaScript(Node.js) | 796件 |
5位 | Python(Django) | 94件 |
このランキングを作ってみて、比較的新しいGo言語の需要がかなりあることに驚きました。
Vue.jsと一緒に使う言語には自由度がある雰囲気
前述した通り、「Vue.jsを使うならサーバーサイドの言語は絶対これ!」というようなことは、実務においてもない雰囲気があります。
個人で開発する場合なら、自分にメリットがある言語を使えば良さそうです。新しい言語を学ぶ余裕がなければとりあえずJavaScript(Node.js)を使うと良いかもしれません。
とは言っても、僕も実務に関しては全く知らないため、参考程度にしていただけたら嬉しいです。
コメント