JavaScriptの魅力

2019年7月22日月曜日

プログラミング


自分はエンジニア6年目なのですが、現場の異動などもよくあり、比較的いろいろな技術・プログラミング言語に触れてきました。

私のエンジニアとしてのキャリアの始めはシステム基盤部における基盤構築でしたので、AWSを始めとしたクラウドを用いたシステム基盤の構築も多少経験しましたし、
アプリケーションの作成においてもJavaやPHP、C#、Rubyといった、複数の言語でバックエンド開発を行っていました。

現在の仕事ではReactを用いたフロントエンドの開発にも携わっておりますので、バックエンドだけでなく、フロントエンドの開発にも興味を持って取り組んでいます。


その中でも、自分が1番興味を持って取り組めているのが、この記事のテーマでもあるJavaScriptです。



この記事では僕の独断と偏見をもとに、JavaScriptの何が魅力的なのかというテーマについて書いていきたいと思います。


視覚的に面白いものが作れる


JavaScriptといえばなんといっても、ウェブのフロントエンドで用いられていることが大きな特徴でしょう。

ウェブブラウザを用いて閲覧するような、普通のウェブシステムであれば、画面の動きを出すためにはJavaScriptが必須です。



何故かというと、現在一般に普及しているウェブブラウザ上で動くプログラミング言語が、基本的にはJavaScriptしかないからです。

将来ウェブブラウザがその他の言語に対応しない限りは、今後もJavaScriptというプログラミング言語がウェブのフロントエンド開発の主役であり続けるでしょう。

フロントエンドの面白いところは、何といっても、視覚的に楽しめるようなものが作れることです。


僕は、個人的にはJavaScriptを用いたゲームなどを作って、休日も楽しくプログラミングをしています。

最近は、以下の謎解きアクションゲームのようなものを作っているのですが、やっぱりキャラクターを動かすようなプログラムは、結果が視覚的にもわかりやすいですし、とても作りがいがあります。


Lingual Ninja Game
Lingual Ninja Games >>

こういった視覚的にわかりやすい成果物を作れるのは、JavaScriptの大きな魅力の1つです。


JavaScriptはWeb業界で広く必要とされる技術


先ほども述べたように、ウェブのフロントエンド開発ではJavaScriptは必須の言語です。

なぜならウェブブラウザ上で動く言語は、基本的にJavaScriptしかないからです。


つまりウェブサービスやウェブシステムを作っているような企業で働く場合は、基本的に多かれ少なかれ、JavaScriptと出会うことになります。

しかし、その他の多くのプログラミング言語はフロントエンドではなく、バックエンドもしくはサーバーサイドと呼ばれる場所で動きます。


サーバーとは言葉の通り、あなたの普段用いているスマートフォンやパソコンに対してウェブサービスを提供する側のコンピューターを意味しますね。


このサーバーサイドで動くようなプログラミング言語は、そのウェブサービスを提供する企業などによって、どの言語を使うかが決定されます。


フロントエンドにおいては、ウェブブラウザが対応している言語でしかプログラムを記述することができませんから、JavaScriptを使う事は基本的に必須です。
しかし、サーバーサイドに関してはそうでは無いのです。


サーバーサイドの役割はデータベースからデータを取得したりビジネスロジックに応じた処理を行い、その結果をクライアント側に送信することです。

つまりクライアント側に送信するときのデータの形式さえ統一しておけば、そのデータの送り元のコンピューターで、どんなプログラムが動いているかなんて事は、特に規定されていないのです。

したがって、サーバー側では、本当に多種多様なプログラミング言語や、技術が使われます。

そしてサーバー側でどんな言語や技術を使うかは、企業ごとに必要に応じて適切な技術を採用します。

つまりサーバー側の言語に関しては、就職する会社によって、何を使うかが異なるということです。


そしてウェブ業界は非常に移り変わりが激しいですから、以前まで流行っていたプログラミング言語があっという間に廃れてしまい、あまり使われなくなると言うことも頻繁にあります。

ウェブエンジニアとして働く上で、せっかく身に付けてきた技術が、世の中であまり使われなくなってしまうというのは残念ですし、学習に充てた時間がもったいなく感じられることもあるでしょう。


そういった観点から考えると、ウェブサービスであれば基本的には使わざるを得ないJavaScriptを身に付けておけば、どんな企業に就職するとしても、役に立つ事はあるはずです。

こういった点も、JavaScriptを学ぶアドバンテージであるように感じます。

楽しいだけでなく、仕事として扱うプログラミング言語としても、JavaScriptは優れていると言うことができるでしょう。


JavaScriptは今後ウェブ開発の主役になっていく可能性が高い


最近流行っているウェブサービスやウェブシステムの作り方の1つに、SPA(シングルページアプリケーション)というものがあります。

現在私が開発に携わっているシステムも、このSPAとして作られたシステムなのですが、従来のウェブサイトの作り方よりもパフォーマンスが非常に高く、使っていてウェブサイトであることを忘れてしまうほどです。


どうしてそんなにパフォーマンスが高いウェブサイトが作れるのかと言うと、ページ遷移の時にサーバー側と通信するデータ量が少ない、かつ、ウェブブラウザ上で再描画する必要があるような要素が少なくて済むのです。

これらはJavaScriptの記述によって実現されています。


ページが切り替わる際に、従来のウェブサイトのようにわざわざウェブサーバーからデータを丸ごと取得するのではなく、必要な情報だけを必要な時に取得して、その取得したデータを用いて画面の一部分だけを書き換えるのです。

それらの通信や画面の一部分の書き換えにはJavaScriptが用いられており、JavaScriptの技術なしにはこういったウェブサービスの作り方は実現しません。

こういった、従来のウェブサイトの作り方を覆してしまうような可能性をJavaScriptは持っていますから、とても学ぶ価値が高いプログラミング言語です。


そしてこのSPAのような手法が今後、もっと普及して一般的になっていけば、今までサーバーサイドで実現されていた多くの処理はフロントエンド側に記述されることになり、フロントエンドのスキルを持ったエンジニアが、今まで以上に必要とされることになります。



また、Web3Dなどと言う言葉も今、注目を集め始めています。
ウェブサイト上で3D表現を用いたり、VR端末と連携して、ウェブの閲覧者に3D表現を見せてしまうような技術です。

これらの技術の根底には、JavaScriptから3D描画を扱えるようにしたWebGLと呼ばれる技術があります。

今後もこれらの技術が発展していくことにより、さらにJavaScriptによって表現されるウェブサービスのビジュアルは発展していくことになるでしょう。


こういった技術の進歩と並行して、JavaScriptは今後も注目を集めるプログラミング言語の一つであり続ける可能性が高いです。


こういった刺激的な技術の発展を感じながらプログラミングに携われる事は、JavaScriptの大きな魅力の1つだと思います。


いかがでしたでしょうか。

この記事が、少しでもあなたがJavaScriptに興味を持つきっかけになれば幸いです。

この記事を読んでくださりありがとうございました。