業務システムのUI構築に採用されるJavaScriptコントロール「Wijmo」。軽量で高性能な製品を提供しつづける舞台裏を開発者に聞く[PR]

2016年8月22日

業務アプリケーションの開発でWebとモバイルへの対応を進めようとするとき、大きな課題の1つとなるのが、Webやモバイルに合わせた優れたユーザーインターフェイスをどう構築するのか、でしょう。

デスクトップアプリケーションとして作り込まれてきた業務アプリケーションのユーザーインターフェイスを、Webブラウザ対応にし、しかもモバイルデバイスの小さな画面とタッチ対応へ再構築することは容易な作業ではありません。

HTML5/JavaScriptのユーザーインターフェイスコントロールである「Wijmo」(ウィジモ)は、こうした課題を解決できる機能を提供します。

figHTML5/AngularJS/TypeScript対応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氏に話を聞きました。

fig グレープシティ WijmoグローバルプロダクトマネージャのChris Bannon氏(写真右)、プログラムマネージャのAlex Ivanenko氏(写真左)

コンポーネントの性能向上、コンパクト化をはかり続けてきた

──── 世の中にはオープンソースや商用など多数のJavaScriptコントロールが存在します。そうした中でWijmoの強みはどこにありますか?

Bannon氏 Wijmoの強みは、約25年にわたってコンポーネント開発に取り組んできた歴史にあります。25年前、私たちはVisual Basic用のコンポーネントとして「FlexGrid」という製品を開発し、提供を開始しました。

それ以来、FlexGridを.NETやSilverlight、WPF、そしてJavaScriptなどのさまざまなテクノロジーに対応させ、新しいコンポーネントも展開してきました。その製品の1つがWijmoです。

これまでずっと、私たちはコンポーネントの性能向上とコンパクト化をはかり、必要な機能を搭載しつつフレキシブルなものに改善し続けてきました。コアは小さく絞り込み、必要に応じて機能を拡張できるようにもしました。

fig WijmoのFlexGrid

これらに加えてサポートやメンテナンス、そしてアップデートリリースのスケジュールなどをしっかり守ることなどがエンタープライズのお客さまに評価をいただいています。

そしてもう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」

(本記事はグレープシティの提供によるタイアップ記事です)

あわせて読みたい

HTML/CSS JavaScript Web技術 PR グレープシティ




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本