はじめに
一般にアプリケーション開発環境や実行環境において、標準で備える基本的な機能よりも高度な機能を備えるソフトウェア部品(コンポーネント)が有料で提供される場合があります。開発者はこれらのコンポーネントを活用することで、より少ない工数で品質の高いアプリケーションを作成することができます。グレープシティは.NETやJavaなどの環境に向けてこのようなコンポーネントを提供しています。
今回紹介する「Wijmo(ウィジモ)」は、同社がHTML/JavaScript環境に向けて提供しているJavaScriptライブラリです。JavaScriptライブラリとして広く活用されているjQueryやjQuery UI、jQuery Mobileをベースにして、WebサイトやWebアプリケーションで活用できる高機能で多様なUI部品を利用できます。
本記事ではこのWijmoについて、まず機能やライセンス形態など、利用にあたり必要な基礎知識を説明します。次に簡単なサンプルを用いて、jQueryをベースとしたシンプルな実装でWijmoの機能が利用できることを紹介します。
対象読者
- WebサイトやWebアプリケーションのレベルをワンランク上げたい方
- 短納期で高度なWebサイトの作成を求められている方
- Webサイト作成において充実したサポートを求める方
Wijmoが提供する機能
WijmoをWebサイトやWebアプリケーションに組み込むことで、40種類以上のウィジェット(UI部品)をHTML/JavaScriptで利用することが可能です。
ウィジェットには入力内容を数字や日付に限定したテキストボックスやプログレスバー、カレンダー表示など、HTML標準で実現しようとすると一手間かかるUI部品がそろっています。Wijmoを利用することで、開発者はUIに関わる煩雑な実装から解放され、本質的な機能の実現に集中できます。
![図2 数字専用テキストボックス、プログレスバー、カレンダーなどが利用可能](http://cz-cdn.shoeisha.jp/static/images/article/7736/7736_02.gif)
また、フォトギャラリーや各種グラフなど、より単体で完成されたUI部品も利用が可能です。これらを利用することで、見栄えの良い画像やデータを利用者に提示できるようになります。
さらに、Web画面上でスプレッドシート機能を提供するSpreadJSを用いることで、Excelのような使い勝手をWeb画面で実現できます。また、オプション機能となるExcel I/Oを利用することで、ExcelのデータをSpreadJSで直接操作することも可能です。
これらWijmoのウィジェットはjQueryやjQuery UI、jQuery Mobileをその下敷きとしているため、jQueryの扱いを理解した開発者ならば、その延長線上でWijmoを使いこなすことができるようになっています。
Wijmoがサポートする環境
Wijmoを利用するには、jQueryおよびjQuery UI(モバイル向けの場合はjQuery Mobile)の参照が必須となり、サポートブラウザは参照するjQuery、jQuery UI(またはjQuery Mobile)に準拠します。現行バージョンのWijmoはjQuery 1.9.1とjQuery UI 1.10.1(jQuery Mobile 1.4.0)を利用するため、サポートする環境(ブラウザ)は以下です。
- Internet Explorer:SpreadJS以外は7以上、SpreadJSは9以上
- Google Chrome:最新版およびその1バージョン前
- Firefox:最新版およびその1バージョン前
- Safari:5.1以上
- Opera:最新版およびその1バージョン前、また12.1x
- (モバイル向け)jQuery Mobile 1.4.0がサポートするモバイルブラウザ
なお、後述するサンプルはWindows 7(64bit)、Internet Explorer 11で動作確認しています。
Wijmoのライセンス体系
Wijmoはグレープシティが提供するソフトウェア製品のため、利用に先立ちライセンス体系を理解することが重要です。利用者はWijmoを利用するためのライセンスとして「オープンソースライセンス」と「商用ライセンス」のいずれかを選択できます。
オープンソースライセンスはGNU GPLv3に基づいており、以下のいずれかの条件を満たしていれば、オープンソースライセンスのもと無料でWijmoを利用できます。
- a)アプリケーションを配布しない場合
- b)アプリケーション配布時にソースコードを公開し、かつ改変と再配布を無制限に許可できる場合
なおオープンソースライセンスを選択した場合、グレープシティからのテクニカルサポートは提供されません。
オープンソースライセンスを選択できない場合やテクニカルサポートを受ける必要がある場合は、商用ライセンスを購入することになります。Wijmoのラインナップには基本ウィジェットが利用できる「Wijmo Professional」、Professionalの機能に加えてSpreadJSが利用できる「Wijmo Enterprise」、EnterpriseにおいてExcel I/OとGUIのデザイナを利用するための追加オプション「Optional Pack for Wijmo Enterprise」があり、利用する機能の範囲に応じて購入が必要です。ライセンスや購入についての詳細は、グレープシティへ問い合わせてください。
Wijmo Professional |
Wijmo Enterprise |
Optional Pack for Wijmo Enterprise |
|
---|---|---|---|
基本ウィジェット | ○ | ○ | - |
SpreadJS | - | ○ | - |
SpreadJS デザイナ & Excel I/O |
- | - | ○ |
サポート | ○ | ○ | ○ |
Wijmoを使ってみよう
それでは、Wijmoを実際に使ってみましょう。今回は手始めにwijbarchartウィジェットを用いて棒グラフを表示させます。シンプルなサンプルの中にWijmoを利用する基本的な手順が含まれています。
<!DOCTYPE html> <html> <meta charset="UTF-8"> <head> <title>Wijmoサンプル(棒グラフ)</title> <!-- WijmoテーマCSS ...(1) --> <link href="http://cdn.wijmo.com/themes/aristo/jquery-wijmo.css" rel="stylesheet" type="text/css" /> <!-- WijmoウィジェットCSS ...(2) --> <link href="http://cdn.wijmo.com/jquery.wijmo-pro.all.3.20141.34.min.css" rel="stylesheet" type="text/css" /> <!-- RequireJs ...(3) --> <script type="text/javascript" src="http://cdn.wijmo.com/external/require.js"></script> <!-- RequireJsにこのページで読み込むライブラリを設定 ...(4) --> <script type="text/javascript"> requirejs.config({ baseUrl: "http://cdn.wijmo.com/amd-js/3.20141.34/", paths: { "jquery": "jquery-1.9.1.min", "jquery-ui": "jquery-ui-1.10.1.custom.min", "jquery.ui": "jquery-ui", "jquery.mousewheel": "jquery.mousewheel.min", "globalize": "globalize.min" } }); </script> <script type="text/javascript"> // requireでwijbarchartの使用を宣言 ...(5) require(["wijmo.wijbarchart"], function () { $(document).ready(function () { // 棒グラフの設定 ...(6) $("#wijbarchart").wijbarchart({ // 数字のカンマ区切り設定 chartLabelFormatString: "n0", axis: { y: {annoFormatString:"n0"}, }, // ツールチップ表示 hint: { content: function () {return this.data.label + ': ' + Globalize.format(this.y, "n0");} }, // タイトル header: {text: "2014年3月携帯電話純増数"}, // グラフデータ seriesList: [ { label: "全体", legendEntry: true, data: { x: ['SoftBank', 'KDDI', 'docomo'], y: [649500, 494600, 515500] } }, { label: "モジュール", legendEntry: true, data: { x: ['SoftBank', 'KDDI', 'docomo'], y: [159400, 43200, 6400] } } ], // グラフ表示色 seriesStyles: [ {fill: "#5599ff", stroke: "#0066ff", opacity: 0.8}, {fill: "#ffaacc", stroke: "#ff0066", opacity: 0.8} ], }); }); }); </script> </head> <body> <!-- グラフ表示領域 --> <div id="wijbarchart" style="width: 480px; height: 320px"> </div> </body> </html>
(1)、(2)でWijmoに必要とされるCSSを設定しています。(3)~(5)はJavaScriptのモジュールローダーRequireJsの設定で、Wijmoおよびライブラリのうち必要とされるもののみをロードすることでページの表示速度を向上させます。
棒グラフの表示処理は(6)以下です。棒グラフの表示データや色などの定義を含むJavaScriptオブジェクトをメソッドの引数として与えることで、グラフをカスタマイズしています。これだけのシンプルな実装で、表示時アニメーションやマウスオーバー時のフロート表示を含むリッチな棒グラフが生成できます。
まとめ
本記事では、グレープシティが提供するJavaScriptライブラリWijmoについて概要やライセンス体系を説明するとともに、サンプルを用いてシンプルな実装からリッチな機能を利用できることを紹介しました。次回以降は、Wijmoウィジェットの多彩な機能をより詳しく説明していきたいと思います。