言語仕様も継続的に進化を遂げ、Web UI開発に欠かせない存在に
前後半で2つのセッションが実施された、今回の「Web TECH FORUM 2022」。最初の講演には、カサレアルの石崎智展氏が登壇し、「とある研修講師から見たJavaScript動向」と題するセッションを実施した。
カサレアルは、社内業務システムやWebサービス、モバイルアプリなどの構築、開発支援を行う「ビジネスソリューションサービス」、コンテナや自動化などを中心とするクラウドネイティブな技術を利用したシステムの提案、構築、運用を行う「クラウドネイティブ推進支援サービス」、そして自社の研修会場で定期的に開催するオープン研修、新入社員研修、および顧客の要望に沿った内容、会場、日程によるカスタマイズ研修などの実施にかかわる「ラーニングサービス」の3つの柱で事業を展開している。
今回のセッションは、同社の提供するラーニングサービスにおいてプログラミング講師を務める石崎氏の視点から、JavaScriptにかかわる過去から現在に至る技術的変遷、開発フレームワークをめぐるトレンド、そしてフロントエンド開発の今を解き明かすものとなった。
JavaScriptについては過去20年の間に、広くWebサービス、アプリケーションの開発の世界に浸透してきたことは周知の通りだ。これについて石崎氏は「20年以上前には、JavaScriptも現在とはそもそも利用目的が異なっていたといえます」と言う。
当時は、CSSなどもまだWebブラウザに実装されておらず、JavaScriptについても、HTMLに対して例えばアニメーションなどのちょっとした動きを付け足すという用途で用いられるようなケースがほとんどで、いわばHTMLの“添え物”的な位置づけにすぎなかった。
そうした当時には、言語仕様上の不便さも抱えていた。例えばクラス定義はコンスラクタ関数という関数形式で記述するというかたちになっており、またプロトタイプ継承というスタイルのオブジェクト指向だったために、使いこなしには少なからず難しさもあった。そのほか、変数宣言が再代入と区別しづらい、変数スコープも関数スコープしかなく、さらにはブラウザごとにプログラムの挙動が変わってしまうといった問題もあった。「そうしたこともあって、JavaScriptはプログラム言語として、さほど重要視されていなかったという印象です」と石崎氏は語る。
これに対し今日では、JavaScriptがWebシステムのUI開発には欠かせない存在となっている。「特にAjaxによるサーバー通信を介したWebサービスやWeb APIとの連動、SPA(シングルページアプリケーション)の構築などの局面で、フロントエンド開発のメイン言語としての地位を獲得しているものといえます」と石崎氏は言う。
言語仕様の面でも現在では、変数スコープにブロックスコープが追加されているほか、変数宣言にもletとconstというキーワードが加わることで、宣言なのか再代入なのかがわかりやすくなっている。またクラスベースでのクラス定義が可能となり、大規模開発のニーズに応えるモジュール化の仕組みも備わっているほか、Webブラウザの標準化も進み、ブラウザ間でのプログラムの挙動の差異といったものも減ってきている。
研修サービスの申し込みに見る、フレームワークをめぐる動向
中でも、さまざまな開発フレームワークが登場し、広く利用が進んだことは、JavaScriptがWebシステムのUI開発に必須のプログラム言語になってきている重要な要因としてあげられる。これに関するセッションでは、カサレアルの研修サービスに顧客から寄せられた申し込みに関する統計データに基づいて、JavaScriptフレームワークにかかわる動向と現在のトレンドが石崎氏から紹介された。
それによると、2020年~2022年(4~8月)における研修の申し込みにかかわる、フレームワーク別の集計では、最も人気が高いのがReactで、Vue.jsも安定的な需要傾向にある。また同社では、2021年にTypeScriptのコースを新たに追加しているが、そちらも着実に増加傾向にあるという。その一方で、Angularに関しては、顕著な需要の落ち込みが見られるとのことだ。
これについて石崎氏は、Angular、Vue.js、Reactのいわゆる“3大フレームワーク”にフォーカスし、顧客の会社規模別、研修目的別の集計データやアンケート結果をベースに、さらに踏み込んだ分析を行う。
まずAngularに関しては、特に大企業の需要が2021年をピークに減っているのに対し、2022年からは例えば従業員500人未満といった中小企業では増えているという。研修目的については「今後のプロジェクトで必要だから」「現在のプロジェクトで必要だから」のシェアが高いのに比して「技術の調査のため」というシェアがかなり低くなっている。「ここからうかがえるのは、大企業でのAngularによる新規開発は減少傾向にあるものの、大企業の既存システムの運用保守案件が増えてきているのではないかということです」と石崎氏は言う。
次にVue.jsだが、2020年には500人未満の中小企業が需要の中心だったが、今年2022年にはそうした状況に急激な変化が見られ、3000人以上の大企業の需要が急拡大。研修申し込みの8割方を占めるに至っているという。また研修目的別では、これまで「今後のプロジェクトで必要だから」が多かったものが、2022年には「現在のプロジェクトで必要だから」が急増し「技術の調査のため」という回答も増えている。
「そうしたことから、Vue.jsの採用は2021年以降、大企業を中心に確実に拡大しており、今後の開発ターゲットとして視野に入れる企業が増えているということがわかります」と石崎氏は説明する。
そしてReactについては、2020年の段階から3000人以上の大企業の需要が大きく、2022年もその傾向が引き続き維持されている一方、2021年以降、100人未満の小規模な企業の受講の増加が顕著である。研修目的に関しては、2020年、2021年には「現在のプロジェクトで必要だから」が最も多かったのに対し、2022年では「今後のプロジェクトで必要だから」という声が最も多くなっている。こうしたことから、Reactを新規開発に採用するほか、既存アプリケーションにおけるフレームワークの乗り換え先とするケースが増えているという傾向が見てとれる。
さらに石崎氏は、以上のようなカサレアルの研修サービスにおけるデータのほか、グローバル規模で開発エンジニアに対するアンケートを実施している「The State of JS」の公開するレポートにも言及。
「Angularは現状の利用率自体は高いもののエンジニアの興味は年々下がってきている状況。これに対しVue.jsは、利用率も安定しており、時とともにエンジニアの興味も高まっています。そしてReactは、エンジニアの興味は下がりつつありますが、これはむしろ、もともと利用率、認知度が高いことの証左かと思います。事実、Reactは3大フレームワークの中でも最も利用率が高く、人気の面においてもNo.1の存在であるものといえます」と石崎氏は3大フレームワークにまつわるトレンドを総括する。