SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

「Web TECH FORUM」開催レポート(AD)

JavaScriptを活用したフロントエンド開発の最新動向――「Web TECH FORUM 2022」開催!

「Web TECH FORUM 2022」開催レポート

  • このエントリーをはてなブックマークに追加

Web UI開発のメイン言語として「明るい未来」が待っている

 今後もJavaScriptは、WebのUI開発におけるメイン言語であり続けるものと考えられる。特にブロックチェーンライブラリが豊富に用意されていることから、関連システムの領域では大きな強みを発揮していくことが想定される。

 「例えば、TypeScriptへの置き換えといったものも進んでいますが、TypeScriptにしても文法はあくまでもJavaScriptであり、JavaScript自体が廃れることはありません。またその一方で、例えば先ほどのThe State of JSでも注目度の高まりが伝えられるSvelteといった新しいフレームワークも登場してきており、まさに今後フレームワークの世界は“戦国時代”とも呼べる様相を呈していくのではないかと思います」と石崎氏は語る。

 さらに、React Nativeなどスマートフォン向けアプリをネイティブ化するフレームワークも出てきており、iOS版、Android版を同時にリリースできる仕組みも整っている。また、React、Vue.jsでは、脱仮想DOMの動きもあってフレームワークのシンプル化が進むほか、フレームワークでのトランスパイルされたファイルサイズの縮小も進んでいる。

 「総じてJavaScriptをめぐる環境は絶え間なく進化を続けており、そうした意味でJavaScriptには明るい未来が待っていると捉えることができるでしょう」と石崎氏は強調する。

図1:カサレアルの研修サービスに寄せられたJavaScript系研修の申し込みに関するフレームワーク別の推移(2020年~2022年(4~8月))。
図1:カサレアルの研修サービスに寄せられたJavaScript系研修の申し込みに関するフレームワーク別の推移(2020年~2022年(4~8月))。

ユーザーの快適性、利便性に加え開発面でのメリットも大きいSPA

 続く後半のセッションには、グレープシティの村上功光氏が登壇し、「業務システムでもフロントエンドを使いやすく、リッチに構築する グレープシティのJavaScript製品ラインナップ」と銘打つ講演を行った。

グレープシティ株式会社 ツール事業部 プロダクトマーケティング 村上功光氏
グレープシティ株式会社 ツール事業部 プロダクトマーケティング 村上功光氏

 現在、Webアプリケーションの領域における主要な潮流となってきているのがSPAだ。これまでの一般的なWebアプリケーションでは、ユーザーがアクセスした際にブラウザからサーバーに対するリクエストが発生し、サーバーではそれに沿ったHTMLページをレンダリングして、ブラウザに返すという流れになる。その後、ユーザーの操作が行われ、ページの更新が必要となる都度、同様の動作を繰り返してページを遷移していくわけだ。

 これに対しSPAでは、初期表示の処理では同様に、リクエストがサーバーに送信され、レンダリングされたHTMLやCSSあるいはJavaScriptなどがブラウザにレスポンスとして返ってくるが、その後ページ更新の必要が生じた際に送信されるリクエストに対し返されるのはレンダリングされたHTMLページではなく、JSONやXML形式のデータということになる。ブラウザ側のJavaScriptがそれらデータを使いながら差分のみを更新していくという流れである。

 「ユーザーの視点でこれを捉えれば、差分更新のみなのでレンダリングし直してページを都度表示するというこれまでのやり方に比べて快適なレスポンスが期待できます。また最近では、HTMLやJavaScript自体が標準で高い表現力を持つようになっており、豊かなUX(ユーザー体験)を得ることも可能です」と村上氏はSPAのメリットを紹介する。さらに、ブラウザさえ搭載されていればどんなデバイスでも利用可能である、すなわちクロスプラットフォームでの利用が可能だという点もSPAの重要なメリットだ。

 一方、開発の視点から見ると、フロントエンドとバックエンド、ブラウザ側とサーバー側の間では、データのみをやり取りする、疎結合なかたちとなることから、アプリケーションにおいて両者を分離して考えることができる。「この点は、開発のしやすさに加え、テストのやりやすさ、さらにはフロントエンドとバックエンドに分けてチーム開発が行えるといったメリットにもつながっています」と村上氏は言う。

JavaScriptフレームワークに対応する高速・軽量なライブラリ製品群

 グレープシティでは、こうしたSPAの開発に最適なJavaScript製品を提供している。具体的には、「Wijmo(ウィジモ)」「ActiveReportsJS(アクティブレポートJS)」「SpreadJS(スプレッドJS)」「InputManJS(インプットマンJS)」という4つの製品をラインナップ。

 「これら製品は、3つの共通した特徴を備えています。それは『高速・軽量』『JavaScriptフレームワーク対応』『TypeScript開発のサポート』です」と村上氏は語る。

 まず高速・軽量について、これらJavaScript製品は洗練されたアルゴリズムによる実装がなされており、モジュールサイズを極小化して高速処理を実現している。「仮にWijmoを例にとれば、製品に含まれるデータグリッドビュー『FlexGrid』では100万個のデータのソート処理が、わずか200ミリ秒程度で完了。しかもモジュールサイズを150キロバイトにとどめています」と村上氏は紹介する。

 また、2つ目のJavaScriptフレームワークへの対応だが、これはAngularやReact、Vue.jsといった各種フレームワークが搭載するコンポーネント機能に対応しているということを意味する。
 これらフレームワークではHTMLのタグを拡張したようなイメージでコンポーネントを記述できるが、グレープシティのJavaScript製品においても、同様のスタイルで開発が行えるようになっている。

 そして3つ目の特徴であるTypeScript開発のサポートについては、製品すべてにおいて型定義ファイルというものを提供。その利用により、Visual StudioやVisual Studio Codeのインテリセンス機能の利用が可能となる。

 「例えば、それら開発製品でのTypeScript開発において、IDE上である処理を記述すると、どういったかたちで引数を設定すればいいのかといった解説がインテリセンスにより表示されることになり、開発生産性を高めることができます」と村上氏は説明する。

 以上がグレープシティのJavaScript製品に共通する特徴だが、すでに述べた4つの製品は「汎用型」と「用途特化型」に大別される。例えば、Wijmoは汎用型のライブラリセットであり、すでに触れたFlexGridなどをはじめ、開発で重宝するUIやコンポーネントなど40種類以上もの機能を豊富に収録するスイート製品となっている。

 一方、ActiveReportsJS、SpreadJS、InputManJSは用途特化型の製品で、汎用型のライブラリではカバーしきれないディープなニーズを満たすことができる。

 まずActiveReportsJSだが、これは帳票の生成、出力を支援する製品だ。.NET製品として長年にわたり開発者の間で高い人気を誇るActiveReports for .NETの実力を引き継いでおり、日本ならではの細かな帳票ニーズにも応える。「クライアント側のブラウザの処理として帳票を生成し、印刷やファイル出力を行うような仕組みを提供しており、サーバー側のテクノロジーに縛られることがないという点が大きな特徴となっています」と村上氏は語る。

 SpreadJSは、ExcelライクなUIや機能、操作性をWebアプリケーションで実現するライブラリだ。「スプレッドシートの部分だけではなく、例えばリボンや数式バー、ステータスバーなども含め、ExcelライクなUIをトータルに実装できることが大きな特徴となっています」と村上氏は説明する。

 さらにInputManJSだが、こちらはストレスフリーの入力フォーム開発を支援する製品である。例えば、人名のふりがなを入力された漢字から自動取得できる機能や、住所に入力される数字の全角/半角の自動変換などの整形、データ検証などの各種機能のほか、和暦表示やカレンダー入力などにも対応している。

 「当社Webサイトでは、これらJavaScript製品の詳細情報や活用事例をご紹介しているのでぜひアクセスいただければと思います。また、導入を検討されているお客さまに対するオンラインでの勉強会の開催なども承っているので、お気軽にご相談いただければ幸いです」と村上氏は語り、セッションを閉じた。

図2:ExcelライクなUIと機能性をWebアプリケーションにおいて実現する「SpreadJS」。スプレッドシートだけでなく、数式バーやステータスバー、リボンメニューなどを再現できる点が最大の特徴だ。
図2:ExcelライクなUIと機能性をWebアプリケーションにおいて実現する「SpreadJS」。スプレッドシートだけでなく、数式バーやステータスバー、リボンメニューなどを再現できる点が最大の特徴だ。

 以上、今回の「Web TECH FORUM 2022」で実施された2つの講演の模様をレポートしてきたが、セッション終了後には、受講者からの質問に講演者が答えるという質疑応答の時間も設けられた。以下、そこでのやり取りについて、いくつかピックアップして触れておきたい。

 最近では、SPAの開発に関して、マイクロソフトのC#ベースの開発フレームワーク「Blazor」が登場してきている。それについて「業界での現在の普及率や将来の可能性について知りたい」という質問が寄せられた。

 これに対し石崎氏は「JavaScriptを学ばずにSPAが開発できる点はメリットになり得ますが、C#の世界にとどまるというのは、やはり限界もあります。弊社の研修に来られる方のアンケートを見ても、バックエンドはC#で開発しているが、フロントエンドはJavaScriptで開発している方が多く、SPAの開発にはJavaScriptというのが基本的な潮流だと思います」と答える。

 一方、村上氏は「当社にもBlazorで使えるコンポーネント製品についての問い合わせをお客さまからいただくケースはありますが、現状ではやはり普及しているとは言い難いという印象。テクノロジーの可能性については、もう少し様子を見ていく必要があるのではないかと思います」と語った。

 また、「Web開発初心者が手を出しやすいフレームワークはありますか」といった質問もあった。これに対し石崎氏は「JavaScriptをある程度理解しているという前提になるが、私自身はVue.jsがやはり直感的でわかりやすいと思います。もちろん、そのへんは好みの問題もあり、自由度という面を優先するのであれば、Reactのほうが入りやすいかと考えます」と回答した。

 Webアプリケーションの提供する価値について今日では、その機能性はもちろんのこと、そこで実現されているUXのいかんが、より切実に問われるようになってきている。そしてそこにおいて重要なカギを握っているのが、JavaScriptを活用したフロントエンド開発にほかならない。開発者にとっては、その技術動向をしっかりと見極め、最適なフレームワークやライブラリ製品を選択していくことこそが肝要である。まさに今回の「Web TECH FORUM 2022」は、それにかかわる有用な情報を受講者に伝える場となった。

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
「Web TECH FORUM」開催レポート連載記事一覧

もっと読む

この記事の著者

丸谷 潔(マルタニ キヨシ)

 フリーランスライター。1963年生まれ。慶應義塾大学文学部卒。システム開発(メインフレーム、OS/2等)、IT関連雑誌・書籍の編集を経て現職。執筆領域はIT系全般、FA系など。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/16451 2022/11/08 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング