フロントエンドとバックエンド、どっちが大事?【Webエンジニアの考察】

2018年12月14日金曜日

Web技術 プログラミング

前後に並ぶハリネズミたち

こんにちは、uni-browserの財前航介です。

本日は、
Web技術において、フロントエンドとバックエンド、どちらの方が大切なのか
ということについて考えてみたいと思います。

この記事を読んで下さっているあなたは、技術者の方でしょうか。
これからエンジニアになることを志されている方かもしれませんね。

Web系の技術に携わる方にとって、フロントエンドバックエンドのどちらに携わるかは、一つの大きなテーマですよね。

私は元々、企業向けシステムのバックエンド開発を主に手掛けていました。
現在ではフロントエンド技術に携わることの方が多いので、バックエンドフロントエンドの両面からWebシステム開発に携わってきました。

その経験から、皆様に少しでも有益な情報を共有していければと思います。


ただ正直、「どちらが大事か」という議論そのものにはあまり意味があませんね。
フロントエンドバックエンド、どっちもないとWebシステムは動きませんから。
それでも無理矢理、結論を出してみたいと思います。

前提:
フロントエンドとバックエンドのプログラム言語


頭皮のバックエンドが気になる男性

フロントエンドバックエンドという呼び方は、Webシステムの技術を大きく2つに分けて呼ぶときの分け方ですね。

プログラム言語に限って言えば、以下のようなもののことを指します。

フロントエンド:
 主にJavaScript

フロントエンドのプログラムとは、
「Webブラウザ上で動くプログラム」
のことです。

JavaScriptだけでなく、VBScriptという言語などもありますが、基本的にはJavaScriptが用いられることがほとんどでしょう。

フロントエンドエンジニアになるのであれば、JavaScriptのライブラリや、JavaScriptのフレームワーク、その他JavaScriptの派生技術を多く学んでいく必要があるでしょう。


バックエンド:
 Java
 Ruby
 PHP
 Python
 JavaScript(Node.js)
 等々…

フロントエンドのプログラミング言語としては主にJavaScriptが用いられるのに対して、バックエンドでは、色々な種類の言語が用いられていますよね。

大規模な業務システムではJava、スピードが求められるスタートアップ企業ではRuby、、、等のように、用途によって色々な選択肢があります。

バックエンドで用いられるそれぞれの言語の特徴に関しては、以前、以下のような記事を書いたので、よろしければそちらをご参照下さい:
バックエンドエンジニアに必要な言語【初心者にもわかりやすく解説】 >>


フロントエンドとバックエンド、どっちが大事なの?


頭皮のフロントエンドの確認をする男性

冒頭でもお話したように、「どっちが大事か?」という議論自体にはあまり意味はないのですが、ただ、エンジニアやプログラマーとして仕事をする上で、そのシステムのより中核となる、重要な機能の実装に貢献できた方が、やりがいを持って働けるかも知れません。

そういった意味で、フロントエンドバックエンド、どっちの技術を習得した方が、遣り甲斐を持って、重要な機能の実装に参加できるのかについて考えてみたいと思います。

まず、フロントエンドバックエンド、それぞれの開発における醍醐味や、遣り甲斐には以下のようなものがあります。

フロントエンド:
 見た目に分かる、動的でカッコイイUIが実現できる。

バックエンド:
 システムのサービスが提供する機能そのものの実装ができる。

もちろん一概には言えませんが、上記のような部分は、Web系の技術を用いた開発の中で誰もが遣り甲斐を感じやすい部分かもしれません。

それを踏まえた上で、フロントエンドバックエンド、どちらが大事なのでしょうか。


フロントエンドとバックエンドのどっちが大事かは、業界にもよる


野外のビジネスマン

フロントエンドバックエンドのどっちが大事かを考える上で、その前提となる業界による違いを感がえる必要があります。

以下では、各業界に関してフロントエンドバックエンドを取り巻く事情を見ていきましょう。


業務システム開発ではバックエンドが大事


SIer等の業界において、Web技術を用いた業務システムの開発にあたる場合、バックエンドの方が重要です。

と言いますのも、こういった業界では、UI(ユーザーインターフェース)のカッコ良さが求められない傾向にあるからです。

業務システムとは名前の通り、業務の中で用いられるシステムであり、導入の目的は業務の効率化ですから、カッコ良いUIのために不要な予算を割くのは逆効果にもなり得ます。

また、JavaScriptを多く用いるシステムは、セキュリティの確保が難しいとして、JavaScriptの使用を一切禁止している開発現場もあるほどです。


逆に、こういった業務システムにおけるキモは、データベースなどにあるデータを必要な人に見せ、それを業務の流れに応じて更新してくような、ビジネスロジックの実装です。

そういった、データベースと連携して、いかに業務の流れをITを用いて適切に管理していくかということに関わってくる部分は、バックエンド側の役割になります。


従って、業務システムの実装において、フロントエンドバックエンドのどちらが大事かと聞けば、バックエンドの方が大事であると言えるでしょう。


Webサイト作成ではフロントエンドが大事


フロントエンドのWebデザイン

企業や個人などでWebサイトを作成する場合は、フロントエンドの方が大事であると言えます。

と、言いますのも、Webサイトと呼ばれるものは、一般的にあまりバックエンド側に高度な機能を持たない場合が多いからです。

バックエンドにおいて高度な機能を提供している場合は、「Webシステム」「Webサービス」等と呼ばれることが多いでしょう。

日本語ではWebサイトホームページはほぼ同義の言葉として扱われますが、どちらも、企業や個人が、一般消費者に向けて情報発信などを行いたいときに用いられます。

ユーザーが一般消費者であることが多いですから、ユーザーを飽きさせないような、見た目にも楽しめるようなコンテンツを発信する必要があります。

そうなってくると、高度なCSSJavaScriptなどを用いた、UIにおける工夫が大切になってきます。

従って、Webサイト作成に携わる場合にフロントエンドバックエンドのどっちが大事なのかと聞けば、フロントエンド技術の方が大事であると考えます。


コンシューマー向けWebサービスでは、フロントエンドとバックエンドのどっちも大事


バックエンドとフロントエンドの技術を巧みに操るプログラマー

上記の「Webサイト」との境界は少し曖昧な部分がありますが、コンシューマー向けのWebサービスであれば、フロントエンドとバックエンドの、どちらも大事になってくるでしょう。

と言うのも、Webサービスにおいては、バックエンド側で何らかの便利な機能をユーザーに提供する必要がありますから、以下の2つのどちらの要素も重要になってくるのです。

  • ユーザーを飽きさせないUIを実現するフロントエンド技術
  • ユーザーに便利な機能を提供するバックエンドの技術

一般消費者に利用してもらう以上、そのサービスが使いにくかったり、見た目がイマイチであれば、すぐにユーザーはそのサービスを利用することをやめてしまうでしょう。
そういった面から、コンシューマー向けのWebサービスにおいては、フロントエンドは非常に重要な要素を担っていると言うことができます。

その一方で、Webサイトに登録されたデータをいかに処理して、時には外部のWebAPIなどの力を借りながら、ユーザーにいかに便利な機能を提供するか、というバックエンドの要素も、非常に重要になってきます。


上記のような理由から、コンシューマー向けのWebサービスの開発において、フロントエンドバックエンドのどちらが重要なのかと言えば、「どちらも重要」と言うことができるでしょう。


まとめ:
フロントエンドとバックエンド、自分が作りたいものに合った技術を学ぼう!


技術者を応援する女性

如何でしたでしょうか?

「フロントエンドとバックエンドのどっちが大事なのか?」という問いの答えは、もちろん人によっても変わりますし、業界によっても大きく変わります。

皆さんが、どういった業界で、どんなサービス・システムの開発に携わりたいのかによって、力を入れて学習する対象を考えていくと良いと思います。

この記事が、少しでも皆様の学習の助けになれば幸いです。
最後まで読んで下さり、ありがとうございました。