外部ライブラリ製品の積極的活用が工数削減、品質担保に貢献する
以上が勤務シフト作成お助けマンCrewにおいて実現されているUIや機能の主な特徴だが、松本氏によれば、今回の開発プロジェクトを通して同社では、いくつかの気づきを得たという。その1つが、TypeScriptの型付けについてだ。
「JavaScriptによる開発では、型付けを行わなかったり、any型で済ましてしまうというスタイルをとることが通常ですが、後々のメンテナンスや拡張を考えると、TypeScriptベースの開発により、明示的に型付けを行っておくことがやはり重要だと切に感じました」と松本氏は語る。
型付けがされていないと、意図しない型で値をわたされて思わぬエラーを引き起こすといった懸念もある。その一方で、引数や戻り値の型付けが明記されていれば、プログラムコードの読解もスムーズに行え、メンテナンス性が高まるといったメリットにもつながるという。
また、もう1つの気づきとしては、開発途上もしくは運用後に追加要件が発生した際にも、外部ライブラリを利用していれば、そこで追加要件に必要な機能がサポートされているか否かを調べるだけで、対応の可否を速やかに回答できるということだ。
「今回、独自実装した部分については、テスト工数が膨らむということが避けられませんでした。外部ライブラリの機能で対応していれば、そうしたテストもかなり楽になったかと思います」と松本氏。工数の削減のみならず、品質の担保にかかわる安心感を得るという意味からも、可能な限り外部ライブラリの利用が望ましい旨を強調する。
そのほか、プロジェクトではいくつかの困難な問題に直面することもあったが、そうした際には積極的にグレープシティの技術サポートを活用したという。「技術サポートに相談すると、大いに頭を悩ませていた問題が、思いの外あっさりと解決するということも少なくありませんでした。スピード感に富んだサポートを日本語で受けられるという観点でも、SpreadJSを選択したことは正しかったと実感しています」と松本氏は語る。
今後も鉄道情報システムでは、勤務シフト作成お助けマンのさらなる機能の拡充と、なお一層の使いやすさの向上に取り組んでいくことになる。「それに向けては、ご採用いただいているお客さまの声にも真摯に耳を傾け、サービスの実装へとフィードバックして、サービスの継続的なブラッシュアップに努めていきたいと考えています」と宮澤氏は語る。同社ソリューションの今後の躍進が大いに期待されるところである。
システム利用者におなじみのExcel機能を網羅的に提供するライブラリ製品
続く後半のセッションには、グレープシティの村上功光氏が登場。「使い勝手はそのままに!Webアプリケーションで実現する高機能スプレッドシート」と題する講演を行い、前半のセッションで活用事例が紹介されたグレープシティのスプレッドシートライブラリ「SpreadJS」について解説した。
スプレッドシートライブラリでは、行と列で構成されるUIを装備し、数式や関数によるデータ計算機能を備え、シート形式の表示切り替えなどの機能が最初から組み込まれていることが基本となる。
「今日、市場にはスプレッドシートライブラリを謳った製品が数多く投入されており、総じてそれら3つの要素を組み込んでいます。ただし、ほとんどのケースで、高機能なExcelとかGoogleスプレッドシートに迫る内容にはなっていないというのが実情です」と村上氏は指摘する。言い換えれば、SpreadJSこそ、それらスプレッドシートに迫り得るUIおよび機能性を実現しているライブラリ製品だといえる。
まずSpreadJSでは、3種類のUI表示が可能である。1つめは行列で構成されるオーソドックスなスプレッドシート。2つめは、数式バーやステータスバー。そして3つめが、リボンメニューである。「特にリボンメニューについては、最新版のSpreadJSにおいてリボンコンテナという非常に強力なコンポーネントが搭載されたことで実現できるようになりました」と村上氏は紹介する。
一方、使い勝手についてSpreadJSでは、システム利用者にお馴染みのExcelの機能が網羅的に提供されている。例えば、すでに述べたリボンメニューには、フォント設定やフィルタの挿入、ウィンドウ枠の固定といった機能があらかじめ組み込まれていて、即座に利用することができるようになっている。もちろん数式バーやステータスバーなども同様で、数式バーに投入された計算式が最初からシートに適用される状態となっているほか、数式のサジェスト機能、ズーム表示するためのスライダー、ドラッグフィル、コンテキストメニューなども初期設定のみで動作可能な状態となっている。
「さらにAPIを利用すれば、グループ化やスパークラインの表示、チャート機能や条件付き書式の設定なども行えます。加えて、過去にExcelで作成したスプレッドシート資産を読み込んで利用できる点もSpreadJSにおける重要なポイントです」と村上氏は強調する。
あわせて同ライブラリ製品には、スプレッドシートアプリケーションを簡便に実装できる「SpreadJSデザイナ」というツールも用意されている。それ自体、ExcelライクなUIを備えたツールで、開発するアプリケーションの外観やプロパティの設定を行って保存すると、JSONファイルが出力される。SpreadJSではこのJSONファイルを読み込むことで、デザインしたアプリケーションの初期設定が完了することになる。
今日、新たに開発する業務アプリケーションに、表計算の機能を組み込みたいというニーズはさらに増えており、その要求レベルもますます高まっている。「ただ、Excelにしても、マイクロソフトが膨大な時間と資金を費やして実現してきたものであり、その機能を業務アプリケーション開発でスクラッチにより実装するというのは、もはや非現実的と言わざるを得ません。Excelと同等の機能をライブラリ製品として提供するSpreadJSに、ぜひご注目いただければと思います」と村上氏は語りセッションを閉じた。
Excel OnlineやGoogleスプレッドシートなどの利用が拡大し、今やオンラインで表計算アプリケーションを利用するというスタイルも当たり前になっている。そうした中、Web上の業務アプリケーションに表計算のUI、機能性を組み込みたいというニーズの高まりは、むしろ自然の流れであるといえる。
今回の「Web TECH FORUM 2022 Winter」では、本来、極めて技術的ハードルが高い、そうしたニーズへの対応を容易にしてくれるSpreadJSの有用性を受講者に対し十分に伝えるものとなったはずだ。