業務システムのUI構築に採用されるJavaScriptコントロール「Wijmo」。軽量で高性能な製品を提供しつづける舞台裏を開発者に聞く
業務アプリケーションの開発でWebとモバイルへの対応を進めようとするとき、大きな課題の1つとなるのが、Webやモバイルに合わせた優れたユーザーインターフェイスをどう構築するのか、でしょう。
デスクトップアプリケーションとして作り込まれてきた業務アプリケーションのユーザーインターフェイスを、Webブラウザ対応にし、しかもモバイルデバイスの小さな画面とタッチ対応へ再構築することは容易な作業ではありません。
HTML5/JavaScriptのユーザーインターフェイスコントロールである「Wijmo」(ウィジモ)は、こうした課題を解決できる機能を提供します。
Wijmoは、業務アプリケーションでよく使われるExcelライクなグリッドコントロール、オートコンプリートを備えた入力フィールド、カレンダー、リストボックス、数多くのチャートなどさまざまなコントロールを含み、デスクトップアプリケーションを再現できるほどの拡張性を備えつつも、軽量かつモバイル対応のタッチファーストで設計されています。
最新のWijmo 5は特定のライブラリなどに依存せず、AngularJS、Angular 2との組み合わせやTypeScriptベースの開発にも問題なく対応。こうした高度な機能やモバイル対応と拡張性と高速性などが評価され、Wijmoは「弥生会計 オンライン」「Microsoft Dynamics CRM」などをはじめとする多くのWebアプリケーションで採用されています。
いまJavaScriptでのアプリケーション開発では高度化が進み、コンポーネントを含む多数のフレームワーク、ライブラリ、さまざまなツールや言語の活用が欠かせなくなってきています。
こうしたJavaScript関連ツールの現状とコンポーネントの役割などについて、グレープシティのテクノロジーイベント「GrapeCity ECHO Tokyo 2016」のため来日したWijmoグローバルプロダクトマネージャのChris Bannon氏と、プログラムマネージャのAlex Ivanenko氏に話を聞きました。
コンポーネントの性能向上、コンパクト化をはかり続けてきた
──── 世の中にはオープンソースや商用など多数のJavaScriptコントロールが存在します。そうした中でWijmoの強みはどこにありますか?
Bannon氏 Wijmoの強みは、約25年にわたってコンポーネント開発に取り組んできた歴史にあります。25年前、私たちはVisual Basic用のコンポーネントとして「FlexGrid」という製品を開発し、提供を開始しました。
それ以来、FlexGridを.NETやSilverlight、WPF、そしてJavaScriptなどのさまざまなテクノロジーに対応させ、新しいコンポーネントも展開してきました。その製品の1つがWijmoです。
これまでずっと、私たちはコンポーネントの性能向上とコンパクト化をはかり、必要な機能を搭載しつつフレキシブルなものに改善し続けてきました。コアは小さく絞り込み、必要に応じて機能を拡張できるようにもしました。
これらに加えてサポートやメンテナンス、そしてアップデートリリースのスケジュールなどをしっかり守ることなどがエンタープライズのお客さまに評価をいただいています。
そしてもう1つ、Wijmoの強みはさまざまなソフトウェアとの高い相互運用性にあります。これはアレックス(Ivanenko氏)がとても注力したところでもあります。
Ivanenko氏 WijmoはAngularJS、Angular 2、Knockout.jsなどに対応しています。こうした相互運用性はWijmo 5の開発当初から念頭に入れていたものでした。
お客様からは私たちのユーザーサポートを高く評価していただいているのですが、その中で相互運用性については高い要求がありました。現在はReactJSへの対応にも取り組んでいるところです。
──── WijmoがマイクロソフトのDynamics CRMに採用されたことは大きなニュースだと思います。どのような経緯で採用が決定したのでしょうか?
Bannon氏 実はマイクロソフトの方から、WijmoをDynamics CRMに採用したいというアプローチがありました。最初に彼らとディスカッションをした時点で、すでにWijmoの細かいところまで理解してくれていたのです。
採用した理由をたずねたところ、最大の理由はDynamics CRMをモバイルファースト対応にするためでした。Wijmoをコンポーネントとして採用することで、柔軟にカスタマイズでき、多様なモバイルデバイスに対応し、タッチ操作のサポートまで簡単に実現できるところが評価されたようです。
JavaScriptの言語、フレームワーク、ツールなどの多様化は進化か混乱か?
──── ここからはJavasScriptのエキスパートとしてうかがいます。JavaScriptにはさまざまな言語、フレームワーク、ツールが登場しています。これは混乱なのでしょうか、それとも進化のために必要なことでしょうか?
Bannon氏 たしかに数が多いのはその通りだと思います。私たちもお客様から、Wijmoはこのフレームワークには対応しているのか、と聞かれることがありますが、ツールやフレームワークなどの名前をすべて把握できているわけではありませんから(笑)、知らないツールなどについては調べたりもしています。
ただしこれは良い兆候でもあると考えています。これほどエコシステムが広がっていることは、健全な競争があることの証でもあるからです。
──── Wijmoの開発にはどのような開発ツールやフレームワークを採用しているのですか?
Bannon氏 IDEにはVisual Studioを用い、言語はTypeScriptで、CSSにはLESSを使っています。Seleniumでユニットテストを自動化して、毎晩自動的にコードの健全性をチェックしています。リリース時にはすべてのテストをパスした上でマニュアルでのQA(品質管理)テストを通しています。
ECMAScript 5はなぜ重要なのか?
──── Wijmo 5が発表されたとき、クリスさんはECMAScript 5の重要性について話していました。ECMAScript 5はなぜ重要なのですか?
Bannon氏 ECMAScript 3には言語の機能にある程度制約があり、コントロールとしての真の機能を備えるには難しい面がありました。ECMAScript 5のもっとも大きな点の1つは、「getter」と「setter」を用いることで、利用者がオブジェクトに対してプロパティの値を操作できるようになったことです。
これによってコントロールとしての様相は大きく変わったと思います。
──── 最後に、「Wijmo」という名前はユニークに聞こえるのですが、どんな由来があるのでしょう?
Bannon氏 この名前はちょっとした駄洒落みたいなもので、私たちが作っているのはウィジェット(Widget)で、これをよりよく(more)、というのをつなげて「ウィジェットモア」から「ウィジモ」、「Wijmo」になったと、まあそんなところなのです(笑)
──── 今日はありがとうございました。
≫HTML5/JavaScript UIコントロール「Wijmo」
(本記事はグレープシティの提供によるタイアップ記事です)
タグ : HTML5 , JavaScript , PR , グレープシティ
≪前の記事
Google、MySQL互換の第二世代「Cloud SQL」正式リリース。ベンチマークを公開し、Amazon Auroraより高速だとアピール